首页 / AI 日报 / 2026-11-08
GITHUB AI DAILY · 每天 10:00 更新

2026-11-08

精选 5 条2026-11-08 · 周日数据源 GitHub 公开仓库
统计窗口2026-11-07 10:30 ~ 2026-11-08 10:35(北京时间),对应 GitHub `committer-date >= 2026-11-07T02:30:00Z` 之后的默认分支提交。本期共收录 **158** 个条目,其中精选 5 条,四类分布为 ① 46 / ② 41 / ③ 22 / ④ 49。
覆盖方向AI Coding / 编程智能体与技能生态 · 医学 / 临床研究 AI 与 Agent 技能库 · 健康管理 / 营养与食品 AI · 模型底座与 Agent 基础设施
去重说明已与 10-16 至 11-07 二十期推送记录逐条比对(用 `grep -ho "https://github.com/[^/]*/[^/]*"` 抽出**累计 1049 个历史仓库全集**再逐一比对,且比对时统一转小写以免大小写变体漏网),本期 158 个条目**全部为首次出现,零重复**;5 条精选亦均为首次入榜。本轮检索共采集 6128 个 `search/repositories` 候选(92 条单词查询 + `pushed:>2026-11-06` 日期限定),去重后得 5755 个非历史候选,再按四条线的关键词打分排序取前 1500 个进入逐仓提交核实,**最终保留 1261 个在窗口内有真实提交的仓库**,人工挑选与信息密度筛选后定稿 158 个。**凡 `pushed_at` 显示更新但逐仓核实后落在窗口之外的仓库一律剔除,不凭 `pushed_at` 收录**;窗口内只有无实质意义的提交(如纯自动 README 重新生成、纯翻译提交)的条目亦已剔除。上一期出现过的 `GeiserX/OwnGenome`(消费级硬件全基因组分析流水线)本期的关联项目 `GeiserX/OwnHealth` 为独立仓库、首次入榜,已在正文中标明两者关系。
核验口径所有"今天有动作"条目均以 GitHub 提交记录核实,**先用 `search/commits` 做批量筛选(每批 20 个 `repo:` 限定符),再对批量查询中未出现或 items 触顶 100 条的仓库用 core 端点 `GET /repos/{o}/{r}/commits?since=&per_page=1` 逐仓复核**——单批最多返回 100 条 items 会静默漏掉仓库,漏掉的必须补回。本报告引用的**精确提交数一律以 core 端点 `Link` 头 `rel="last"` 的页码为准**(`per_page=1` 时页码即总条数);实测 `search/commits` 的 `total_count` 与之存在偏差(本期 `Rul1an/assay` 批量查询报 1 次、core 端点实为 16 次),**提交数不采信 search 结果**。**星标与许可证取自 GitHub API 实时快照**(截至 2026-11-08 10:35 北京时间)。**许可证以 core 端点 `GET /repos/{o}/{r}/license` 读取的 LICENSE 文件实文为准,API 的 `spdx_id` 只作线索**——本期实测 `umutkeltek/healthsave-observatory` 的 API 报 `NOASSERTION`,实文为 **Elastic-2.0**(商用受限);`alphanumericslab/medorama` 实文为 **PolyForm**(不可商用);`marko1olo/dental-crm` 与 `moxno/privacyscrubber-mcp` 实文为**保留所有权利 / 自定义商业许可**;`databricks/databricks-agent-skills` 为 **Databricks 自定义许可**。另有 9 个条目经 core 端点逐一确认**仓库根目录没有 LICENSE 文件**(`chenhg5/cc-connect`、`jamesruga/afya-triage`、`shay-dan/scientific-rag`、`genmnz/jean-by-melad-labs`、`Jayant-Chaudhary/medBrief`、`juanjosejimenezcatalan-boop/hl7-radiology-workflow-lab`、`sachin-11/dawai-saathi`、`Hafsa-Anwar65/Rx-Read`、`mustafaeeeuu-cell/NutriVerse-Coach`),表中标注为"未声明"——**"未声明"不等于无授权条款,但选型阶段必须回查**。

一、今日精选 5 条

1. nicolaguglielmi/lights-out:把 AI 写代码这件事变成"暗灯工厂"——八道数值闸门逐 PR 放行、每张工单有自己的围栏、灰度异常自己回滚,而最后一步永远要一个人点头

地址:https://github.com/nicolaguglielmi/lights-out | ★6 | Apache-2.0 | Shell | AI coding agent 的整套守卫系统:规格闸门、八道数值闸门、工单围栏、灰度 canary 自回滚、唯一的人类放行

事件内容

窗口内 61 次提交(11-07 02:30Z ~ 11-08 00:50Z),主线是把"agent 自动写代码并合进主干"这件事从"信任它"改造成"用数值闸门逐层判定"。README 的开场句把定位讲得很直接:"The safety system for a dark factory of AI coding agents. A lights-out factory runs in the dark because its safety systems are trusted."

  • ⭐ 八道闸门,每道只打印一行 GO 或 NO-GO 并附上原因:risk(风险)、secrets(密钥)、weakened tests(被削弱的测试)、dependencies(依赖)、static analysis(静态分析)、tests(测试)、mutation(变异测试)、test-proof。其中 test-proof 这道闸门的定义最有意思——"a test the change adds must fail on the base"(这次改动新增的测试,必须在改动前的基线上跑出失败),也就是说它检查的不是"测试有没有过",而是"这个测试到底有没有测试力"。README 还写明每个阈值都注明它的来源,且 "A PR is judged by its base's policy, never its own"——判定一个 PR 用的是基线分支的策略,而不是这个 PR 自己引入的策略。
  • ⭐ "每张工单有自己的围栏":改动必须留在工单声明的文件范围内,在 PR 存在之前就检查;一张工单若它的文件被另一张未关闭的工单占着,就在分配环节排队。这条规则把"agent 顺手改了别的文件"这类最常见的越界变成了结构性约束。
  • ⭐ canary 自己回滚,全程不呼叫任何人:每次合并出一个签名镜像,先吃 5% 真实流量,再 25%,与 stable 比对错误率与 p95 延迟;数字不对就自己回滚。README 的措辞很克制——"A bad number rolls it back with nobody paged."
  • ⭐ 唯一的人类闸门只有一句话的规则:"One human gate — the step to 100% waits for a person's GO. Silence never promotes." 也就是说沉默不等于放行,缺席的人不会让灰度自动推满。
  • ⭐ 主干"不排队"也能保持绿:围栏范围内没有变动的 PR,合并时不需要第二次判定;合并后主干会被再判定一次,主干变红就二分定位并回滚肇事提交,那张工单退回返工。
  • ⭐ 一条非常难得的诚实边界声明:README 写"An anchored timeline is not a true one: the check stops invented releases and log lines, not a wrong story about real ones." ——它能挡住伪造的发布记录与日志行,挡不住对真实记录的歪曲叙述。 这句话把"这个检查能证明什么、不能证明什么"写在了工具自己的说明书里,而不是留给使用者去猜。
  • ⭐ 工程细节也交代得很清楚:容器镜像 1.8 GB 解包,首次拉取后 doctor、init、gates 分别耗时 65 秒与 72 秒;整轮演示约 7 分钟(MacBook + podman 实测 434 秒),首次构建工具链需 3–6 分钟;镜像无签名且 tag 可变,要固定得用 LIGHTS_OUT_IMAGE=...@sha256:d647d055... 钉住摘要;wrapper 把你的仓库只读挂载,且绝不把宿主机的 engine socket 交给镜像。

值得关注的原因

  • ⭐ 这几乎是我这两年一直在找的那个东西的完整答案。 我现在做的 4P 精准营养平台,是 Flask + SQLite,AI 会直接重算整套干预方案并落库;GLP-1 营养伴侣是 Python 配方引擎直接产出早/晚双杯;GRPM 报告是 LLM 出的结构化结论。这三个地方现在都缺一层"这个结论凭什么可以落库"的运行时判定——lights-out 的八道闸门正好是这层的可执行形态。其中 test-proof 那一道我打算直接搬:我的干预报告里每个"风险维度"都应该配一条在旧数据上必须失败的测试,否则那条风险维度就是装饰。
  • ⭐ "PR 用基线的策略判定,不用它自己的策略"这一条,精确命中我最痛的一个 bug 类型。 我的干预报告生成逻辑如果某次改动顺手放宽了某条校验,下一次生成就会用被放宽后的规则去判定新报告——规则被改坏之后,所有后续输出都会被"洗白",而且没人会发现。 把校验规则放进一个独立于生成逻辑的版本化策略文件、并规定改动规则必须走单独评审,这条应该成为 4P 平台的硬规则。
  • ⭐ "沉默不等于放行"是我最想抄进公众号内容生产的一条。 我现在的工作流里,如果我出差三天没看,AI 生成并发布的内容默认就是已发布状态。lights-out 的做法是:没有人的 GO,就停在 25%,不回滚也不推进。 这正好对应我记忆里那条硬红线——不宣称医疗资质——在工程上的形态就是"没有人类确认,就不能对外发布"。
  • ⭐ canary 自回滚对照的是"错误率 + p95 延迟"这两个指标,这个指标选取可以直接搬。 我的平台上线新版本时,看的应该是"化验 OCR 抽取失败率"与"报告生成 p95 延迟",而不是"测试通过率"——后者在有 AI 兜底时几乎不会掉。
  • ⭐ "锚定的时间线不是真的时间线"那句自述,应该抄进我每份对外报告的脚注。 我做循证内容时最常犯的错不是编造,而是把一条真实但孤立的证据,讲成一个比它本身更强的结论。一个工具能挡住"假引用",但挡不住"过度引申"——这两件事必须分开声明,这和我上一期记的 grotyx 那条 "association 不得升级成 causation" 是同一个道理。
  • Apache-2.0 授权,可读可改可商用,且它跑在你自己的机器上(podman 或 docker,不需要账号、API key 或云)。MIT/Apache-2.0 在本期 158 个条目里占 130 个,AGPL-3.0 有 6 个(OwnHealth、get-based、OpenMontage、dental-crm 属保留所有权利、SuperMedicalDoctor 等)只能读不能抄——选型阶段这一行必须先看。

2. Rul1an/assay:给"特权工具调用"造一份可离线重算的证据档案——它明确说"工具返回 success 只是提供方的断言,永远不是证明",并把声明分成四档

地址:https://github.com/Rul1an/assay | ★16 | MIT | Rust | MCP 工具调用边界的策略执行与证据层:Enforce / Prove / Stay honest 三段式,声明分为可验证、自述、推断、缺失四档

事件内容

窗口内 16 次提交,主线是 v6.22.3 的发布(11-07 08:22Z),发布说明一句话概括为:"Deterministic policy enforcement, canonical evidence, and reviewable trust artifacts for AI agent systems."

  • ⭐ 它的存在理由写得很清楚:"Agents got real tool access through MCP — and tool poisoning, rug pulls, and confused-deputy OAuth came with it."(工具投毒、rug pull、confused-deputy OAuth 都是随 MCP 一起进来的)所以它站在工具调用边界上,做三件事,顺序固定。
  • ⭐ 第一段 Enforce(执行):在 enforcement 模式下,代理在转发前决定 tools/call 请求是否放行,并给出每一次允许或拒绝的精确理由。在支持的 Linux 主机上还有独立控制项:cgroup eBPF 的 IPv4/TCP connect 过滤与 Landlock 的 TCP-connect 端口白名单;assay sandbox --enforce 在后端不可用或文件系统策略冲突时会拒绝启动,除非显式给出 --allow-audit-fallback;--enforce-net 必须搭配 --enforce,而即使开了审计回退,Landlock 网络强制执行仍会拒绝它无法表达为 TCP 端口白名单的策略。
  • ⭐ 第二段 Prove(举证):把决策与有界的观察记录成离线可验证、防篡改的证据包(tar.gz),CI 可直接消费;assay evidence prepare-incident-package 把决策日志转成事故包,verify-incident-package 负责校验,并由校验器自己给这份包打覆盖等级(surface grade)。
  • ⭐ 第三段 Stay honest(不装懂),这是整期最值得抄的一段:Trust Basis 把受支持的声明分成 verified、self_reported、inferred、absent 四档,并有闸门检查声明的边界是否被越界。README 的原话:"A tool returning 'success' is the provider's assertion, never proof." 并且"Assay ships no single safety score; read each artifact's source, coverage and non-claims before relying on it." ——它拒绝输出一个总分,要求你先读这份工件的来源、覆盖范围与"非声明"。
  • ⭐ 它对自己能证明什么、不能证明什么,写了一份清单(non-claims):证据包不是全部调用的计数、不是捕获完整性的证明、不是服务端实际行为的证明,一个"允许"也不等于"某个人接受过"。
  • ⭐ 安装与供应链也做了硬化:一键安装脚本会用发布的 SHA-256 sidecar 校验所选归档再解包;设 ASSAY_REQUIRE_PROVENANCE=1 可进一步要求 GitHub artifact provenance,默认则报告 provenance_not_requested、严格成功时报告 provenance_verified。README 又补了一句要紧的:校验和只证明字节与 sidecar 相同,不证明产出者身份;provenance 标识来源与构建,不证明运行时安全或语义正确。
  • ⭐ 版本节奏很密:v6.22.3(11-07)、v6.22.2(11-06)、v6.22.1(11-05),连续三天各发一版,说明它有持续的工程投入而不是一次性演示。

值得关注的原因

  • ⭐ "工具返回 success 只是提供方的断言,永远不是证明"这一句,应该直接抄成我 4P 平台的落库前置条件。 我的化验 OCR 管线现在的判定是"识别成功就落库、失败就跳过"——这等于把"抽取器说它读到了"当成了"化验单上确实有这一项"。assay 给出的正确形态是:每一次抽取都必须带一个四档声明(verified = 从版面坐标可复核地读到的;self_reported = OCR 引擎自己说的;inferred = 从上下文推出来的;absent = 这一项根本没拿到),并且 absent 不等于正常。这和我上一期记的 Gaskin 那条"没做的检查记为 unknown,绝不记为 normal"完全同构,但 assay 把它做成了可机读的 schema。
  • ⭐ "拒绝输出一个安全总分"这条,是我这一期最想带走的设计判断。 我上一期记的 Calibrate 用 2×2 依赖度矩阵取代单一分数,本期 assay 用"四档声明 + 不给总分"达成了同一件事。放到我的 GRPM 报告上:一个 SNP 的风险结论绝不能是"风险分 72",而必须是"该位点为 XX 变异(verified,来源:Sanger 报告第 3 页第 2 栏)→ 按 GRPM 规则判定为 XXX(self_reported)→ 该位点在本人身上未检测(absent)"这样一条可拆开审计的链。 公众号读者看到的可以是分数,但数据库里存的那一份必须是分档的。
  • ⭐ "非声明(non-claims)清单"这个概念,可以直接变成我内容生产的固定章节。 我做循证文章时最缺的就是显式声明"这份证据不能说明什么"——assay 把这句话写进了产物本身。对应到 GRPM 的 SNP 解读:"该位点对叶酸代谢的关联证据为中等强度,不能用于预测你对叶酸补充剂的实际剂量反应" ——这一句能挡掉大部分过度引申。
  • ⭐ 它对"证据包可被第三方离线重算"的实现,和我上一期记的 aureproof 是同一条线,但本期它把校验器自己给出的覆盖等级也做进去了 ——相当于"这份证据覆盖了什么、没覆盖什么"由验证方给出,而不是由生成方声明。这正是我上一期记的 GRPM 那条"必须能被第三方离线重算"的落地形态。
  • ⭐ MIT 授权,可商用。 代价是它是 Rust 实现,接入需要一点工程量;但它暴露的是标准命令行与 CI Action(Rul1an/assay-action@v3),在我的场景里更可能的使用方式是"在 CI 里跑一次校验",而不是把代理嵌入到运行时 ——这个用法门槛低得多。

3. rootstudioyaml/sprag:把"这次活该由哪个模型干"变成可复算的规则——同一批 12 个请求,账单从 6.68 美元降到 1.83 美元,而每条规则都有能打开的回放用例

地址:https://github.com/rootstudioyaml/sprag | ★7 | Apache-2.0 | JavaScript | Claude Code 与 Codex 的模型委派层:按任务把活派给更便宜的模型与更合适的 effort,每条规则都有可打开的回放用例与价格台账

事件内容

窗口内 66 次提交,主线是连续发版 v3.105.0(11-07 15:40Z)→ v3.106.0(11-07 23:51Z)→ v3.106.1(11-08 00:04Z),一天内推三个版本,其中 v3.106.1 的提交标题直接是一个版本号,随后跟一条修复:"fix(brief): a 1M-by-default model borrows another session's reported window"(一个默认 1M 上下文的模型会借用另一个会话上报的窗口)。

  • ⭐ 它解决的问题是真实存在的硬限制:Claude Code 与 Codex 不能按 prompt 逐次切换模型,所以 sprag 用另一条路实现——主会话里的规则把工作交给"钉在某个模型 + 某个 effort 上的子 agent"。查资料、状态检查、构建与测试跑,降到 Haiku;而"更便宜的跑法会漏掉且不吭声"的任务反而往上升:跨多文件的查证跑 Sonnet + high effort,开放式网络调研跑 xhigh——理由写得很直白:"because replays showed the default medium effort missing both"(因为回放显示默认的 medium effort 两个都漏了)。
  • ⭐ 规则来自你自己的会话日志,且每一条都要你批准;每一次委派都把它的价格差写进账本(ledger)。
  • ⭐ 最硬的一条:"Every rule is checked against replays you can open." —— sprag proof 会在几种模型与 effort 设置下重跑真实委派并盲评打分,同一张表随 npm 包一起发布,案例集随分析增长。这是把"模型路由"从拍脑袋的规则变成可复算的实验**。
  • ⭐ 它报出的数字可核对:同一批 12 个请求,两个终端对照,账单从 6.68 美元降到 1.83 美元(−72.6%),按公开价目计算;另一张图给出 14 天(2026-10-17 至 10-31,单台开发机、83 次委派)的节省为 216.38 美元,且"没有一次委派被计为亏损"。
  • ⭐ 委派阈值随额度收紧而收紧:额度使用率低于 70% 照常委派,到 70% 起"拿不准就委派",多步工作到 90% 起才委派;设计、安全与部署三类活永远留在主模型上。
  • ⭐ 顺带解决了一个上下文成本问题:文档以紧凑 Markdown 进入上下文,一个 54 万 token 的 deck 变成 2.3 万 token;状态栏显示每个会话花了多少、省了多少,缓存、上下文或限流需要处理时会给一个警示标记。

值得关注的原因

  • ⭐ 这条线正好接上我上一期记的 skill-diet,而且补齐了它缺的那一半。 上一期 skill-diet 解决的是"一份技能怎么瘦身",本期 sprag 解决的是"同一个任务怎么用更便宜的模型跑对"。两者合起来才是完整的成本账:token 是成本,模型选择是成本,而"跑对了吗"才是能不能省的前提。sprag 的一句话正好点破:"a lookup spread over many files runs on Sonnet at high effort … because replays showed the default medium effort missing both" ——没有回放验证的降本就是赌。
  • ⭐ "每条规则都有能打开的回放用例 + 盲评"这套机制,应该成为我专家包质检流程的第二道工序。 我现在的专家包迭代是"改了 description,再手动跑一遍看效果"——但我的判断本身有偏,而且我只在最强模型上测。sprag 的做法是把"这条规则是否成立"变成一个能被第三方重跑的实验。对应到我的公众号内容与 GRPM 报告:每一类结论都应该有"在什么条件下会错"的回放用例。
  • ⭐ "设计、安全与部署永远留在主模型上"这条硬编码的例外,正是我 4P 平台最需要的分层。 对我而言应该扩写成:诊断与风险判定留在主模型,格式化、抽取、翻译、去重这些可以降级。sprag 的价值不在省下那 4.85 美元,而在它把"哪些活不能降级"写成了不可协商的规则。
  • ⭐ 那个 1M 上下文 bug 值得记一笔:模型会"借用另一个会话上报的窗口"。 这是典型的状态串味——和我在 11-02 期记的 yantrikdb "同一进程内用第二个 SQLite 库打开同一个文件会静默损坏存储"是同一族的坑。我的平台是 Flask + SQLite + 多会话,如果我把"上下文/配额"这类运行状态存在进程级全局变量里,多用户并发时就会串。 这条提醒我回去查一遍全局状态。
  • ⭐ Apache-2.0 授权可商用,且 npm 包是 sprag-cli(npm i -g sprag-cli),无需按项目配置。 但它是 Claude Code / Codex 的专属委派层,我如果要给公众号内容管线做模型路由,得把它那套"规则 → 回放 → 盲评 → 台账"的方法抄过来,而不是直接用它的包。

4. GeiserX/OwnHealth:把"你自己的健康档案"做成 agent 可查的 MCP——每个令牌只看见被授权的那部分,每个答案都带出处,而"未评估"与"被隐去"是两个独立的字段

地址:https://github.com/GeiserX/OwnHealth | ★2 | AGPL-3.0-or-later | Python | 自托管健康数据层:化验、就诊记录、可穿戴与基因组同库,MCP 按人按令牌授权,响应信封里带证据、限制、未评估项与被隐去项

事件内容

窗口内 9 次提交,主线是发布 0.1.0(第一个可运行的版本)并补上安全设计文档。最关键的一条提交标题是:"docs: stop genome lookups and page reads from revealing withheld findings, and match re-derivation to the shipped code"。

  • ⭐ 它把"不诊断"写进了产品定位,而不是免责声明:README 的 "Intended purpose" 段落原话——"It is information, not diagnosis. It does not tell anyone what to take or stop; pharmacogenomic results quote the published guideline and link it." 每一个响应信封的最后一栏固定是 "notice": "Information from your records, not a diagnosis."
  • ⭐ 它内部不含任何模型,也不含聊天代理:"There is no chat agent and no AI model inside OwnHealth. The agent is yours, and it sees only what its token allows."
  • ⭐ 权限粒度做到"令牌 × 人 × 类别"三重交集:令牌带语言、单位偏好(as_reported / si / conventional)与身份显示模式(full / pseudonymous / minimal);作用域分成 read:summary、read:labs、read:vitals、read:wearables、read:records、read:genome、read:genome_raw、read:sensitive、read:documents_text、write:propose 十类。规则是"令牌允许的 ∩ 你在该档案上授权的 − 这个人自己锁掉的类别",而 "A token without read:genome sees no genome tool and no genome fact anywhere." ——看不到工具,也看不到任何基因组事实,连间接线索都没有。
  • ⭐ 响应信封把"不知道"拆成了三个独立字段:除了 evidence(证据数组)与 limitations(限制说明),还有 not_assessed(没评估过的)与 withheld(被隐去的)——后者还带结构:{"sensitive": 0, "by_scope": [], "minor_rule": 0}。"没做"和"不给看"被分成两个字段,这是我这一期看到的最干净的一个设计。
  • ⭐ 自由文本被显式降级信任:任何来自文档、FHIR 记录、人或代理的文字,都带 {"trust": "untrusted_text", "origin": "pdf_text_layer", "text": "…"} ——PDF 的文字层被当作不可信输入对待,这既是提示注入的防线,也是溯源标记。
  • ⭐ 每条事实都带 src,可回溯到文档、页码与方框位置(get_source);budget 字段给出预估 token 与是否截断;state_hash 在所有令牌下保持一致(所以换令牌不改变内容哈希)。
  • ⭐ 只给代理"提议"权,不给"写入"权:唯一的写入口是 write:propose,内容进入复核队列;化验 PDF 用通用表格规则加一个模板解析(模板是虚构的 LabNorte 实验室),LOINC 编码是精选的 202 个子集,超出这个集合的检验项一律留在复核队列里。
  • ⭐ 安全文档把"四条跨越信任边界的线"逐条列了出来:导入的文档进存储(任何 PDF、邮件、FHIR 记录或 OCR 输出都是攻击者可控文本)、存储进 agent(每个 MCP 工具返回的字节都会进入模型上下文并离开自托管者的网络)、存储进备份(备份会离开这台机器并比删除活得更久)、存储进共享(SMART Health Link 是唯一被设计出来的第三方通路)。文档还把基因数据标为"永久存在、能识别亲属、无法轮换"的资产。
  • ⭐ 它是明确的非商业公共品:"OwnHealth is a non-commercial, common-good project: no hosted version, no paid tier and ever no company behind it",作者据此论证自己不是 GDPR 下的控制者、也不落入 EU MDR 的"商业活动中投放市场"(文档自己标注这一步为 unverified 法律判断)。授权是 AGPL-3.0-or-later。

值得关注的原因

  • ⭐ 这是我这一期读到最贴合我业务的一块拼图——而且它几乎是为"不宣称医疗资质"这件事写的。 我的红线很明确:不写"全科医生""执业医师",只写健康营养研究者。OwnHealth 的做法是把它变成一句每次响应都自动附带的机器可读字段(notice),而不是放在页面底部等人去读。对应到 4P 平台:每份干预报告的 JSON 里都应该有一个固定的 notice 字段,任何下游导出(Excel、公众号、PDF)都必须带上它。 这比"在文案里记得加一句免责声明"可靠一个数量级。
  • ⭐ "不给看"与"没做"分成两个字段,是对我最痛的一个 bug 的正面回答。 我的化验 OCR 管线现在的失败模式是"识别失败就跳过",于是这 24 个风险维度里可能只有 18 个有值——而报告自己不知道。OwnHealth 的做法是:not_assessed 显式列出没评估的项,withheld 显式列出因为权限或规则而不给看的项,limitations 显式列出结论的边界。 三个字段一起,报告才敢说"我覆盖了 24 个维度"——这句话现在是假的。
  • ⭐ "聚合推断攻击"的防护,正对着我 GRPM 的一个盲区。 本期最新那条提交就是防这个的:不让"查基因组"和"读页面"这两条路径间接泄露出被隐去的结论。我的 GRPM 报告里,某个 SNP 被标记为"不适用于本人"时,如果另一个接口还能通过趋势数据把它推出来,等于这个字段只是被藏起来而没有真正被保护。这条应该成为我平台的一条硬性审计项:任何被标记为不可用的结论,都必须确认无法由其他接口组合推出。
  • ⭐ "令牌 × 人 × 类别"的三重授权模型,对应我一人公司最现实的那个问题:给客户做定制方案时,客户数据不能被模型带出去。 OwnHealth 的做法是每个令牌只带自己被授权的那一份,连间接线索都不给,而且 state_hash 在所有令牌下保持一致——这意味着"内容一致"与"可见性不同"可以同时成立。这是我做"给 B 端客户做白标营养方案"时最需要的能力:同一套引擎,不同令牌,不同可见范围。
  • ⭐ "自由文本一律标为 untrusted_text"这条,对我的化验报告 OCR 管线是现成的可抄规则。 我的 OCR 结果里既有结构化字段(数值、单位、项目名)也有自由文本(参考区间备注、检验方法说明、医生手写批注)。现在这两类在我这里是同一种可信度——应该拆开:结构化字段可标 verified,自由文本一律标 untrusted。
  • ⭐ 但必须先说清楚授权的硬墙:AGPL-3.0-or-later,属于"能读不能抄"的一档。 它明确是非商业公共品、且刻意不做托管版与付费版——这与我要做的商业化产品方向相反。所以我的正确用法是:抄它的设计(响应信封字段、作用域交集模型、notice 机制、信任标记),不抄它的代码。 这也是我在选型阶段坚持先看许可证的原因——本期 158 个条目里 MIT 与 Apache-2.0 占 130 个,AGPL-3.0 有 6 个,另有 Elastic-2.0、PolyForm、保留所有权利各若干。

5. bryan-basg/samd-starter-kit:用一队 AI agent 把医疗器械合规变成"默认就有"的东西——IEC 62304 与 ISO 14971 被拆成规则集、12 个专科 agent、40+ 份 DHF 模板与 16 条 CI 工作流

地址:https://github.com/bryan-basg/samd-starter-kit | ★5 | MIT | Python | 用 AI agent 团队构建医疗器械软件(SaMD)的脚手架:合规规则集、12 个分层专科 agent、设计历史文件(DHF)与可运行 CI

事件内容

窗口内 20 次提交,主线是把合规从"另开一个 sprint"改成"默认就在流程里",以及一批安全与流程的收紧。

  • ⭐ 它的核心是一条"Rule 0":"every technical decision is subordinate to SaMD compliance"(每一个技术决策都从属于 SaMD 合规)。落地成四个 agent 自主执行的习惯:① 强制可追溯(§5.1/§5.7,任何临床 / schema / 安全相关的改动都要在同一个 PR 里更新 DHF);② 可演示的验证(§5.7,不跑通关联测试就不许宣称"绿的",且要报数字);③ 显式失效安全(ISO 14971,失败时安全且可预期地降级,绝不静默);④ 修之前先做影响分析(§5.6,修一个 bug 之前要先看这个符号的全部消费者,而不只是报错的那个文件)。
  • ⭐ 规则集本身是分层的,这是它最聪明的地方:五条 path-scoped 规则(backend、clinical UX、testing、CI、docs)只有对应层被碰到时才加载,另两条是横切的(硬执行规则与命令);而只有主会话需要的东西(所有者偏好、编排、并行会话)被单独放进 output style。
  • ⭐ 12 个分层专科 agent:backend、frontend、clinical-algorithms(已验证量表与问卷、评分与严重度分级、危机网络、临床 PHI、幂等)、db-architect、cloud-ops、qa-mutation(变异测试波次、变异体杀手、作用域配置、分数棘轮)、e2e-integration、security-samd、samd-audit-trace(按 IEC 62304 §5.1/§5.7 + ISO 14971 审计一次变更集并报出缺口)、docs-dhf、i18n-translations(含"复制未翻译"的审计与预认证临床术语表)、mobile-native。
  • ⭐ 命令与技能各就各位:samd-trace 要求在宣布"已修复"之前先做 §5.6 影响分析;samd-review 是一个跨风险维度的 diff 评审工作流,带对抗式验证。
  • ⭐ 硬规则被写死,不依赖 agent 自觉:未经所有者明确同意不许 commit 或 push;变异测试引擎绝不与写测试的 agent 并行运行;临床与安全发现必须先经对抗式验证才能动手;身份只来自 token(JWT-only),绝不接受客户端传来的 user_id;错误绝不向用户暴露 traceback——给有同理心的提示 + 正确的 HTTP 状态码。
  • ⭐ 16 条 CI 工作流,其中 11 条是可继承的闸门:CI、Trivy+Semgrep 安全扫描、Stryker 变异测试、schemathesis API 模糊测试、OWASP ZAP DAST、SBOM、Postgres 层测试、OpenAPI 契约漂移检查、项目状态审计、陈旧 PR 检查、部署模板;另 5 条用于维护 kit 自身(含 placeholder guard——防止模板里的占位符漏改、以及"主干变红"告警)。
  • ⭐ 它不只给模板,还给踩过的坑:启动纪律(先合规后写代码、避免在验证前过度建设、把有同理心的 UX 当成临床决策)、生产教训(连接池耗尽伪装成认证失败、"绿色"的迁移其实在骗人、环境变量陷阱、离线优先纪律、把变异测试当契约)、以及多 agent 工程方法。
  • ⭐ 本期提交也带着实际的安全整改:例如 "fix(auditoria): JWT con exp obligatorio, guard de secretos cortos, deploy y gates que no podian fallar"(JWT 强制带过期时间、过短密钥守卫、部署与闸门不允许失败)、docs(scmp): registrar los 6 checks obligatorios de main (v1.10)(把主干必过的 6 项检查登记入册)。MIT 授权。

值得关注的原因

  • ⭐ "path-scoped 规则只有该层被碰到时才加载"这条,对我的专家包体系是一次可以直接落地的成本优化。 我用 expert-manager skill 批量生产专家包,每个包都是一份"每次都要全文读进上下文"的 SKILL.md——而大部分专家包里,有一多半内容(某个特定层的实现细节、某个后端框架的用法)只在少数任务里才用得上。 samd-starter-kit 的分层规则加载,正是我上一期记的 skill-diet "五层归位"思路在文件粒度上的实现。这条应该写进专家包规范:能拆成按需加载的,绝不合并成一个大文件。
  • ⭐ "修之前先看这个符号的全部消费者"(§5.6 影响分析),正好治我 GRPM 与 4P 平台的一个老毛病。 我改一条 SNP 判定规则时,通常只验证了直接引用它的那几行——而 GRPM 报告的输出、Excel 导出、公众号文章三处各有一套代码引用同一批字段,改一处另外两处往往不知道。 samd 的做法是把"影响分析"做成一个必须先跑的技能(samd-trace),而不是靠作者自觉。这和我上一期记的"答案契约写一次、两套 prompt 都从它组装"是同一个问题的两个解法:一个是结构对齐,一个是流程强制。
  • ⭐ "变异测试当契约"和"分数棘轮"这两条,对我的补剂配方库是现成的方法。 我的配方逻辑改一个阈值(比如某条禁忌规则),没有任何回归测试能告诉我"这个改动让另外 7 条规则的行为变了"。Stryker 式变异测试的思路是:故意把代码改坏,看你的测试能不能发现——如果测试发现不了,说明这条规则其实没被测到。 这与 lights-out 的 test-proof 闸门(新增的测试必须在基线上失败)是同一个思想的两个实现。
  • ⭐ "身份只来自 token,绝不接受客户端传来的 user_id"是一条我必须抄的规则。 我的 4P 平台是 Flask + SQLite 多用户,如果任何一处接口从请求体里读 user_id 来决定查谁的化验数据,那就是一个越权读取的现成入口。 这条成本几乎为零——只要把"user_id 只能从会话/令牌推导"写成一条不可绕过的规则并加一条测试。
  • ⭐ 它把"合规"从"文档"变成了"CI 闸门",这对我手上正在做的合作厂商资质审核与项目合规文档是一条方法论。 我之前的做法是出一份合规文档交给对方,而这套东西的做法是把每条要求做成一条会红的 CI 检查——文档可以被跳过,检查不行。对应到我的场景:4P 平台与 AI 助手的每一项安全承诺,都应该有一条会红的测试,而不是一段承诺。
  • ⭐ MIT 授权可商用,且它明说"This repository is not an application. It is the scaffolding and methodology"——它就是给人拿去改的模板。

二、分类速览

① AI Coding / 编程智能体与技能生态

项目星标许可证一句话
OpenMontageInc/OpenMontage78,335AGPL-3.0开源 agentic 视频生产系统:12 条流水线、100+ 工具、700+ agent 技能与制作知识
router-for-me/CLIProxyAPI57,904MIT把 Antigravity、ChatGPT Codex、Claude Code、Grok Build 等包成 OpenAI / Gemini 兼容接口
QwenLM/qwen-code29,078Apache-2.0阿里通义开源终端 AI coding agent
lidge-jun/opencodex18,288MITOpenAI Codex 与 Claude Code 的通用 provider 代理:任意 LLM 都能接
chenhg5/cc-connect16,276未声明把本地 coding agent 桥接到飞书、钉钉等 IM 平台
mvschwarz/openrig8,729Apache-2.0从 Claude Code、Codex 与 Pi 组建自己的 agent 网络:持久团队、角色与共享上下文
Gaurav-Gosain/tuios6,435MIT懂 agent 在干什么的终端窗口管理器:平铺窗格、可复存会话,以及每个 agent 一个收件箱
FlorianBruniaux/claude-code-ultimate-guide6,382CC-BY-SA-4.0最完整的 Claude Code 指南:agentic 工作流、hooks、skills、MCP 与实战模板
awslabs/aidlc-workflows5,932MIT-0AWS 的 AI-DLC 自适应工作流转向规则,供 AI coding agent 加载
elementalsouls/Claude-BugHunter5,486MITClaude Code 漏洞狩猎技能包:82 个技能、15 条斜杠命令、681 条已披露报告模式
agent-of-empires/agent-of-empires3,743MIT从 TUI 或网页管理多个 Claude Code / OpenCode agent,手机也能接入
SeemSeam/claude_codex_bridge3,615AGPL-3.0可见的多 agent CLI 工作台:混用 Codex、Claude、Gemini、Kimi、Qwen、Cursor 等
happier-dev/happier2,168MITCodex、Claude Code、OpenCode、Pi、Cursor、Grok 等的网页、桌面与手机端客户端与编排器
ReScienceLab/opc-skills1,893Apache-2.0面向一人公司的 agent 技能包:把从想法到交付的流程拆成可安装的技能
fujibee/agmsg1,580MITCLI 系 coding agent 之间的跨厂商通信:让 Claude Code、Codex、Gemini 与 Copilot 在同一团队里说话
awslabs/cli-agent-orchestrator1,525Apache-2.0在隔离的 tmux 会话里编排 Claude Code、Kiro、Codex 等 AI CLI
first-fluke/oh-my-agent1,373MIT给 Claude Code / Codex / Cursor 用的 agent 技能与专家小组:按需加载单个技能或整组安装
917Dhj/DeepPaperNote1,313MIT深读单篇论文并生成 Obsidian 风格研究笔记的 agent 技能
asheshgoplani/agent-deck1,226MITAI coding agent 的终端会话管理器:一个 TUI 管住 Claude、Gemini、OpenCode、Codex
ConardLi/easy-agent1,024MIT生产级终端 coding agent:分层可读代码、权限规则、OS 沙箱、MCP 一应俱全
DemonDamon/AgenticX1,011Apache-2.0统一多 agent 平台:Python SDK + CLI(agx)+ Studio 服务端 + Machi 桌面端
guanyang/open-agent-hub988MIT轻量零依赖 CLI:管理并激活 Claude Code、Cursor、Trae 等 AI 助手的各项能力
EL4CTEO/blender-skills761MITBlender 5.2 专业工作流封装成 Agent Skills,适配 Claude Code / Codex / Gemini CLI
opensec-git/Pi-Bolt753MIT把 Pi 编译成单一原生可执行文件的 coding agent:启动快 10 倍、CPU 少 7 倍、内存少 4.5 倍
vincentkoc/tokenjuice537MIT给重度终端工作流做输出压缩的「减重」工具,可作原生 CLI 也可作扩展
managedcode/dotnet-skills509MIT面向 .NET 的大型 AI 助手技能集,带目录、CLI 与编排代理
agent-sh/agnix472Apache-2.0AI 编程助手的 linter 与 LSP:校验 CLAUDE.md、AGENTS.md、SKILL.md、hooks 与 MCP 配置
Community-Access/accessibility-agents438MITWCAG 2.2 AA 无障碍评审:Agent Skills、编辑闸门与无障碍扫描器
dsifry/metaswarm426MIT自改进多 agent 编排框架:18 个 agent、13 项技能,覆盖 Claude Code、Gemini CLI 与 Codex CLI
databricks/databricks-agent-skills387Databricks 自定义Databricks 官方 AI 工具技能与插件:面向 Claude Code、Cursor、Codex、Copilot
Mng-dev-ai/agentrove337Apache-2.0自托管 AI 编程工作台:统一编排 Claude Code、Codex、Copilot、Cursor、Grok、OpenCode
mll-lab-nu/embodied-first-exam238MIT给物理世界里的代码 agent 出的第一场考试:冻结的机器人任务,每个都要写程序并验证
ThinkFlowLab/agentdescent203MIT把参数换成 agent 的「梯度下降」:并行异步推进技能、提示词与 harness 的自演化框架
godot-fun/gai202MIT用 Godot 搭的轻量 AI agent 与技能工作流框架
prime-radiant-inc/evener191MIT编码 agent:给它一个提示,它读、写、跑命令、搜代码,直到活干完
magnus919/agent-skills170MIT面向 Hermes 等 agent 框架的精选技能合集
mauhpr/agentlint134MITAI coding agent 的本地护栏:检查待改文件与 shell 命令,拦截危险模式并给出可执行反馈
moonlight-lupin/agent-skills120MITHermes Agent 的技能与插件合集:研究、创作、效率、DevOps,每项技能自包含可测
KalarisLabs/research-agent-skills109MIT把任意 AI agent 变成研究搭档:280+ 开源技能覆盖文献综述、假设与实验设计
supercli-site/scorecard73MIT项目成熟度审计工具:检查 GitHub 仓库、npm 包与网页,输出证据与整改清单
majiayu000/vibeguard43MITRust CLI:带作用域的评审规则、原生 Bash 与 Git 钩子,以及 Claude Code / Codex 的安装诊断
existential-birds/daydream22Apache-2.0agentic code review CLI:逐条记录每次评审 / 修复 / 测试轨迹,沉淀成开源模型微调语料
benchflow-ai/agents11Apache-2.0极简 coding agent:opencode TUI 直接上手,用 ACP 接进 BenchFlow 做基准评测
rootstudioyaml/sprag7Apache-2.0Claude Code / Codex 的模型委派层:查资料降到 Haiku,复杂活升到 Sonnet high,每条规则都有可打开的回放用例
nicolaguglielmi/lights-out6Apache-2.0AI coding 工厂的守卫系统:八道数值闸门、每票围栏、5%→25% 灰度自回滚的 canary,以及唯一的人类放行
crocodile-labs/openmoat4MIT每次工具调用执行前都过一遍检查,防止 AI coding agent 泄漏密钥或跑不该跑的东西

② 医学 / 临床研究 AI 与 Agent 技能库

项目星标许可证一句话
poco-ai/Agentero1,880MIT人与 agent 共用的统一研究工作台:带引用的 PDF 问答、资料库与写作,补齐 Zotero 之后的人机上下文断点
judegomila/OnCo244MIT公开的肿瘤学知识图谱:每条事实有引用与 TL;DR,并同时提供网站、JSON API、MCP server 与 CLI
samply/blaze231Apache-2.0内置高速 CQL 临床逻辑引擎的 FHIR 服务器
evelyyyyynnnnn/2.0-Healthcare-Ai-Systems225Apache-2.0面向医疗安全的机器学习与决策智能模型:临床风险预测与医学影像分析
maju116/rplatypus136非标准授权R 语言的医学影像深度学习包:语义与实例分割、目标检测、2D 与 3D、DICOM 与 NIfTI
rvandewater/YAIB112MITICU 临床机器学习基准:统一 MIMIC / eICU / HiRID 四个数据集上的五个预测任务与复现文档
openmed-labs/openmed-agent36Apache-2.0面向临床流程的终端 agent:事前授权、编码审计与文档产出,输出可复核
product-on-purpose/thinking-framework-skills25Apache-2.0有证据分级的可执行思维方法技能:把 63 个框架还原成工作机制并诚实分级
marko1olo/dental-crm9保留所有权利牙科 CRM 与临床 AI 平台:3D FDI 牙位图、DICOM HU CT 阅片器、ICD-10 诊断
OlekBliter/clarity-scribe5MIT精神科与心理治疗 AI 助手:自动分析患者语音与音频生物标志
bryan-basg/samd-starter-kit5MIT用一队 AI agent 建医疗器械软件的脚手架:IEC 62304 + ISO 14971 合规、12 个专科 agent 与完整 DHF
kik1211/agentic-medclaims-automation3MIT医院保险理赔自动化:OCR + LLM 临床结构化 + ICD-10 / CPT 自动编码与工作流编排
moxno/privacyscrubber-mcp3保留所有权利面向 Cursor 与 Claude 的零信任 PII 与密钥脱敏 MCP server
ptjeong/ONC-CAR-T-Trials-Monitor3MITCAR-T / CAR-NK / CAAR-T / CAR-γδ T 临床试验看板,数据来自 ClinicalTrials.gov
stuthedew/open-anesthesia-sim3Apache-2.0开源确定性吸入麻醉剂摄取与分布模拟器,明确声明仅供教学而非临床预测
GeiserX/SuperMedicalDoctor2AGPL-3.0住在 Telegram 群里的家庭医生助手:预约提醒、用药与补剂、化验结果追踪
Lukecele/spatial-continuum-oncology2CC-BY-4.0肺癌治疗后复发的生物物理反应扩散求解器,60 FPS 模拟与一键 Colab
jamesruga/afya-triage2未声明对齐急诊严重度指数(ESI)的临床风险评估微服务,为低资源环境设计
priyalifescience/airmed2EUPL-1.2爱尔兰开放药品数据:67 个开放数据集、170 万条记录、37 家发布方
romeo111/OpenOnco2MIT面向肿瘤讨论会的免费肿瘤学决策支持:带引用的治疗方案草案与疾病维基
BerlinTheWall/Pharma_Feature_Extractor1MIT用 LLM 从 1,435 份加拿大卫生部药品说明书里抽取结构化临床字段
CNAG-Biomedical-Informatics/cohortome1Apache-2.0探索临床与多组学数据、构建患者队列并做分析,可选 AI 辅助
Jayant-Chaudhary/medBrief1未声明连接患者与医生的健康平台:就诊前自评、化验报告 OCR 抽取与趋势图表
MCPServings/paper-mcp1MIT论文检索 + 医学证据(PubMed / Europe PMC)+ LaTeX / PDF 工具的远程 MCP server
genmnz/jean-by-melad-labs1未声明生物信息与生物技术套件作为远程 MCP server:279 个用于设计、模拟、分析与验证实验的工具
yeyuan98/bioresearcher-skills1Apache-2.0生物医学研究 agent 技能与连接器,配套 biomcp-ts MCP server
AnhDuongVo/trial-matcher0Apache-2.0FHIR 临床试验预筛:输出带证据链接的「符合 / 不符合 / 未知」三态判定,并明确标注未校准的启发式分数
MichaelEnny/clinical-ai-security-posture0MIT临床 AI 推理系统的对抗测试框架与安全态势评分,含 FGSM、边界攻击等方法
Pinnnnnneapple/hl7scrub0MIT结构感知的 HL7 v2 去标识化:确定性假名、逐患者日期平移、Safe Harbor 策略与 PHI 扫描
Riscon-AI/iatheon-verified-errors0CC-BY-4.0AI 写的肿瘤学摘要里被核实过的错误,每条都挂到 PubMed 或 ClinicalTrials.gov 的原始出处
asarmah123/ai-health-evidence-monitor0MIT确定性、规则化的证据管线:整合监管、HTA、临床试验与市场准入信息
cosyte/deid0MIT医疗数据去标识化:把 HIPAA Safe Harbor 策略套到 HL7 v2、C-CDA、FHIR R4、X12 与 NCPDP 报文上
juanjosejimenezcatalan-boop/hl7-radiology-workflow-lab0未声明合成 HL7 v2 放射科工作流实验室,含 MLLP、ACK 处理与校验
mafritzsche/dicom-injection0CC-BY-4.0放射科工作流中 LLM agent 的提示注入攻击研究仓库
mahmood726-cyber/evidence-collider0MIT把临床试验密度与全球疾病负担叠在一起,暴露研究资源错配
medbrains/medbrains0Apache-2.0开源医院管理系统:挂号、门诊、病房、药房、影像与计费在同一个患者档案上
munimtechnologies/evidence-pack0Apache-2.0按公开临床证据(PubMed、ClinicalTrials.gov、openFDA)对通用药与病症做配对分诊
orevid-org/orevid0MIT循证药物重定位:生物医学知识图谱为每个疾病排序候选老药并展开证据链
ryandelauz/peptide-library-mcp0MIT多肽研究 MCP 与 agent 技能:带引用的研究档案、人体与临床前证据区分、RoB 与 GRADE 证据质量
shay-dan/scientific-rag0未声明证据锚定的科学 RAG:PubMed / arXiv 检索、混合召回、语义主张核验与成本感知编排
smritisingh-0401/OASIS0MIT轻量、可解释、安全优先的心理健康支持聊天机器人

③ 健康管理 / 营养与食品 AI

项目星标许可证一句话
chrisdoc/hevy-mcp533MITHevy 训练数据 MCP server:管理训练、动作库、文件夹与动作模板
elkimek/get-based160AGPL-3.0本地优先的个人健康情报台:化验、DNA、可穿戴、光照暴露与 Biology Scores,51 个精选 SNP
hhopke/intervals-icu-mcp121MITIntervals.icu 的读写 MCP server:训练数据、周期规划与结构化训练计划生成
umutkeltek/healthsave-observatory103Elastic-2.0自托管健康数据观测台:Apple Health、可穿戴插件与 Garmin / Samsung 导入统一进 TimescaleDB
mustafaeeeuu-cell/NutriVerse-Coach55未声明健康餐计划、菜谱与社区一体的健身教练应用
codelibs/recotem9Apache-2.0配方驱动的推荐系统:一个 YAML = 一个模型 = 一个推荐 API,训练产出签名工件
SilverCrocus/OpenMacro6MITAndroid 开源营养教练:自适应热量与宏量目标、AI 照片记录、5.8 万种食物,数据不出本机
davidmosiah/withings-mcp5MIT非官方本地优先 Withings MCP server,给健康、睡眠与活动 agent 用
turnnoblindeye/wellness-project-mcp3MIT把 Apple Health、Fitbit、Oura 与 Health Connect 接到 Claude 与 ChatGPT 的托管 fitness MCP
GeiserX/OwnHealth2AGPL-3.0自托管的健康数据层:化验、记录、可穿戴与基因组同库,MCP 按人按令牌授权且每个答案带引用
GeiserX/supermealplanner-ios2MPL-2.0iPhone 端的今日餐盘、本周计划与购物清单,数据来自自建服务器
MoleCare/molecare-ml2Apache-2.0黑色素瘤分类服务与训练笔记,明示仅供研究与教育
MoleCare/molecare-skin-llm2Apache-2.0皮肤健康问答模型(Llama-3.2-1B LoRA),明确声明不是医疗器械、不做诊断
VIVPM/curalink-medical-assistant2MIT七段式 AI 管线的自主 RAG 平台,为临床医生提供循证研究检索
sepehr071/doctoreto-mcp2MIT非官方只读 MCP server:让 agent 搜索医生、比价与查免费号源
Hafsa-Anwar65/Rx-Read1未声明拍一张处方就读懂剂量安排,用 Gemini 解码手写处方
AbdulazizShehri/MedScale0Apache-2.0本地优先的健康情报工具,带证据出处,当前为纯合成数据的工程预览
alphanumericslab/medorama0PolyForm把多模态数据库串成患者旅程研究平台
craigbennett1981/body-kaizen0Apache-2.0跟 Claude 聊天记饮食、训练与化验:照片自动算热量与宏量,同步 Garmin 睡眠、HRV 与心率
faisukhan01/medspas0MIT面向医疗美容机构的全栈操作系统:Web 控制台 + 患者与员工移动端 + AI 助手
pepbank/peptide-research-mcp0MIT多肽研究 MCP server:160+ 多肽的研究发现、临床试验与引用出处
sachin-11/dawai-saathi0未声明面向印度患者的 WhatsApp 健康助手:读处方与化验单、建议通用药替代

④ 模型底座与 Agent 基础设施

项目星标许可证一句话
mudler/LocalAI50,245MIT开源本地 AI 引擎:任意模型可在任意硬件上跑,不强制 GPU
rohitg00/agentmemory30,191Apache-2.0基于真实世界基准评测的 AI coding agent 持久记忆层
keploy/keploy19,526Apache-2.0开源平台:为 API、集成与端到端测试创建安全隔离的生产沙箱
lance-format/lance7,266Apache-2.0多模态 AI 的开放 lakehouse 格式:两行代码从 Parquet 转换,随机访问快 100 倍
microsoft/agent-governance-toolkit6,535MIT微软的 AI agent 治理工具包:策略执行、零信任身份、执行沙箱与可靠性工程
mostlygeek/llama-swap6,206MIT给任意本地 AI 服务器做可靠的模型切换
Michael-A-Kuykendall/shimmy6,012Apache-2.0纯 Rust WebGPU 推理引擎:OpenAI API 兼容、GGUF 原生、无需 Python 与 llama.cpp
pydantic/logfire4,537MIT面向生产环境 LLM 与 agent 系统的 AI 可观测平台
bytebase/dbhub3,803MIT省 token 的数据库 MCP server,支持 Postgres、MySQL、SQL Server、Oracle、MariaDB 与 SQLite
NVIDIA/TransformerEngine3,599Apache-2.0加速 NVIDIA GPU 上 Transformer 模型的库,支持 FP8 与 FP4 精度
scenario-labs/skills3,507MIT让 agent 按需挑模型、先比价再花钱的媒体生成技能集
superlinked/sie3,476Apache-2.0开源推理服务器与生产集群,一个服务覆盖 agent 需要的全部模型
Asymptote-Labs/agent-beacon3,381MIT跨 harness 的自改进 agent 记忆层
openlit/openlit2,962Apache-2.0同样的 agent 更小的账单:面向 AI 的可观测、成本与基础设施工具链
datachain-ai/datachain2,831Apache-2.0非结构化数据的上下文层:在 S3、GCS、Azure 之上提供有类型、有版本的数据集
spec-kitty/spec-kitty1,717MIT带组织治理的规格驱动开发:规格告诉 agent 造什么,章程规定它怎么造
ashhart/TensorFold1,693Apache-2.0面向 Metal、CUDA 与 Vulkan 的 LLM 推理引擎
fatwang2/search2ai1,286MIT自托管搜索网关:统一搜索、新闻与页面抽取,带 provider 回退
hanzohanzhe/Grandet1,182AGPL-3.0为任意模型找最便宜的 API 并接入 agent:技能 + 匿名 MCP server
chrishayuk/larql1,174Apache-2.0Rust 写的模型运行时:跑、服务、查询与编辑模型,基于可执行的 VINDEX3 模型格式
pipelab-org/pipelock987Apache-2.0AI agent 防火墙:扫描被代理的 HTTP、MCP、A2A 与 WebSocket 流量,拦截数据外泄
simplexai-labs/PolyStrata914MIT在自家 PC 上跑大模型:Qwen3.8-Flash-Next、GLM 5.3 Flash、DeepSeek V4 Flash 等
microsoft/nvx828MIT面向 agentic 工作负载的跨平台 micro-VM 沙箱
CHATS-lab/verbalized-sampling821Apache-2.0Verbalized Sampling:训练无关的提示策略,让模型自报概率以缓解模式坍塌
converge-ai-labs/agent-foundation769Apache-2.0在自有基础设施上大规模构建、运行与管理 AI agent,内置 harness 与持久执行
framerslab/agentos685Apache-2.0TypeScript AI agent 框架:认知记忆、动态人格、涌现行为与自我构建设计
agentty-org/agentty614MIT终端里的 AI 结对编程:单一静态二进制、亚毫秒启动、任意模型
llmmanorg/llmman584Apache-2.0在任意模型上跑任意 agent,模型以 OCI 镜像形式存储
Cygnux-Labs/Tracekit551MIT防篡改的追踪、策略闸门与交叉校验:看清 agent 做了什么、为什么这么做
rderaison/bromure303MIT为 agentic 编码与网页浏览做真正的沙箱隔离
llm4s/llm4s278MITScala 语言的 agentic 与 LLM 编程库
NodeDB-Lab/nodedb244Apache-2.0agent 的记忆与存储数据库引擎:多模型、边到云、PostgreSQL 兼容,支持图、向量、数组与时序
KbWen/agentic-os229MITAI coding agent 的治理框架:走完计划、构建、评审、测试、交付五步,每一步没达标都不算完成
kstevica/captain-claw193MIT指挥一支 agent 舰队:自托管多 agent 平台,带记忆与编码流水线
agentfront/frontmcp148Apache-2.0MCP server 的 TypeScript 框架:共享服务、校验入参并执行你配置的访问规则
1bye/rake128Apache-2.0面向 GPUI 的 Rust 框架:原生与浏览器应用、运行时检查与 agent 控制
mstar-project/mstar112Apache-2.0任意模型到任意模型的高性能通用服务框架
tenuo-ai/tenuo105Apache-2.0面向 AI agent 的任务级授权:加密凭证约束工具与参数,在每一跳委派上阻断提权
Ta0p1/ResolveLab104MIT带故障注入的工具环境与副作用分级,用于评估与后训练 LLM agent
cognicore-dev/cognicore-env82Apache-2.0agent 的持久记忆、反思与安全:不用向量库也不用 embedding server,BM25 + 多跳检索
joslat/agent-memory-dotnet73MIT基于 Neo4j 的 .NET agent 记忆实现:为 Microsoft Agent Framework 提供图原生持久记忆
Oaklight/ToolRegistry67MIT协议无关的工具管理库:统一 OpenAI、Anthropic、Gemini、MCP、OpenAPI 等函数调用格式
tocreator/tostore67Apache-2.0AI 向量与 SQL / NoSQL 一体数据引擎:KV、embedding、BM25 全文、混合与语义检索
chatvia/chatvia60MIT开源 AI 聊天 agent 平台:基于 PostgreSQL 的混合 RAG、MCP 与自定义工具、护栏
jamjet-labs/jamjet23Apache-2.0开源 agent 安全层:拦截危险工具调用、强制审批、执行预算,并支持审计与回放
Rul1an/assay16MIT特权 MCP 工具动作的开放可重算证据档案:Enforce / Prove / Stay honest,声明分为可验证、自述、推断与缺失四档
opensecurainc/openaidr5Apache-2.0Agentic AI 检测与响应:看清组织内每个 AI agent 与工具,集中执行护栏
strale-io/strale5MIT给 agent 用的工具市场:一次连接,工具库按次付费
FractalSQLabs/fractalsql-postgresql1Apache-2.0PostgreSQL 的 AI 扩展:向量搜索、库内推理与生产级代理能力

三、今日趋势观察

本期最明显的一条主线是:约束正在从"提示词里的要求"下沉成"运行时里不可绕过的闸门",而且闸门开始自带三样东西——阈值来源、判定理由、以及拒绝记录。 lights-out 的八道闸门每道只打印一行 GO/NO-GO 并注明阈值出处,assay 在转发前给出每一次允许或拒绝的精确理由并把决策写成可离线重算的证据包,samd-starter-kit 把"不许未经同意就 push"写进硬规则,OwnHealth 用令牌作用域把"不该看的连间接线索都不给"。这四家互不相干,却都在回答同一个问题:不是"AI 该怎么做",而是"AI 越界的时候,系统会怎么拦它、拦下来之后有没有留下可被第三方复核的痕迹"。 这与我在 11-03 期记的 ClawBio 技能成熟度分级、11-07 期记的 navigator 拒绝退出信号,是同一条线索的第五阶段:前四期把约束下沉到代码与配置,这一期把约束下沉到运行时与供应链,并要求运行时输出可审计的证据。

第二条线是"成本的度量单位"再次细化,而且这次细化到了模型选择这一层。 上一期 skill-diet 报的是"砍掉 70–80% token 且测试结果没降",本期 sprag 报的是"同一批 12 个请求,6.68 美元 → 1.83 美元(−72.6%)",而且明确说明了为什么某个任务必须留在 Sonnet high 而不是降到 Haiku——因为回放显示默认 medium effort 漏掉了它。这两条合起来意味着:一个 AI 产物的性价比现在必须用三元组来衡量——在哪个模型上、烧多少 token、通过了多少任务——而且第三项必须有"回放 + 盲评"这类可复算的机制支撑,否则降本就是赌。 对我这种要在多个模型上跑同一批内容生产任务的人来说,WorkBuddy 本机已经接了 OpenRouter 单 key 全家桶,回放验证的现成条件是有的,只是从来没用过。

第三条线,也是这一期最让我警觉的一条:健康与医学类项目正在集体把"我不知道"从一个空值拆成一组有名字的字段。 OwnHealth 的响应信封里同时有 not_assessed(没评估过)、withheld(被隐去)、limitations(结论的边界)、evidence(每条带 src),assay 把声明分成 verified / self_reported / inferred / absent 四档并拒绝输出一个总分,trial-matcher 输出"符合 / 不符合 / 未知"三态且明说启发式分数未校准,iatheon-verified-errors 则把"AI 写的肿瘤学摘要里被核实过的错误"逐条挂到原始出处。这是与前几期"证据结构化"同一条线索的第四阶段:证据不是散文,缺失不是空白,未知不是否定。 我的化验 OCR 管线、GRPM 报告与 4P 干预报告三处都在做"AI 生成结构化结论然后落库",但三处目前都把"没拿到"写成了空值——这是本期我最该立刻动手改的一件事。

第四条线:授权形态继续从"一个 LICENSE 文件"向"分层 + 路由 + 三层分别声明"演化,而"不可商用"的类别本期明显增多。 本期 158 个条目里 MIT 与 Apache-2.0 占 130 个(82%),但另有 AGPL-3.0 六个、Elastic-2.0 一个、PolyForm 一个、保留所有权利两个、Databricks 自定义一个、九个仓库确认无 LICENSE 文件。OwnHealth 的做法最值得注意:它不仅选了 AGPL-3.0,还主动用这个授权来支撑它"永远不做托管版与付费版"的非商业定位,并据此论证自己不是 GDPR 控制者。 这是一条清晰的信号——当一个项目把授权和商业模式绑死时,它想吸引的用户群和它排除的用户群一样清晰。 对我这种"要选底座做能卖的产品"的人来说,这份清单应该直接抄进选型文档的第一行。

第五条线,给 Gordon 的直接提醒:我这一期数到的五条"同一个错误、五种修法",全部指向同一个未修的问题——AI 生成的结论被当成可以落库的事实。 lights-out 用 test-proof 闸门保证"新增的测试必须在基线上失败";assay 要求每次声明标出它是 verified 还是 self_reported;OwnHealth 让"没评估"与"被隐去"各占一个字段,并把 PDF 文字层一律标成 untrusted;samd-starter-kit 要求"不跑通关联测试就不许宣称绿的";sprag 要求每条降本规则都有能打开的回放用例。五家来自五个完全不同技术栈的团队,在同一周里各自独立地做了同一件事:给"AI 说的话"加一道必须自己站得住的判定。 而我的三个出口——4P 平台落库、GRPM 报告导出、公众号内容发布——三处目前都还没有这道判定。具体要做的只有四件:① 每次抽取带四档声明;② 缺失项进 not_assessed 而非空值;③ 写入后按主键读回比对,不一致就阻断下游;④ 任何"已覆盖 N 个维度"的声明,必须由脚本数出来而不是由模型说。 这四件事都不需要新框架,只需要在现有流程里加四个断言。


四、GitHub 地址速查

https://github.com/nicolaguglielmi/lights-out
https://github.com/rootstudioyaml/sprag
https://github.com/first-fluke/oh-my-agent
https://github.com/KalarisLabs/research-agent-skills
https://github.com/ReScienceLab/opc-skills
https://github.com/vincentkoc/tokenjuice
https://github.com/existential-birds/daydream
https://github.com/ConardLi/easy-agent
https://github.com/agent-sh/agnix
https://github.com/databricks/databricks-agent-skills
https://github.com/Community-Access/accessibility-agents
https://github.com/EL4CTEO/blender-skills
https://github.com/managedcode/dotnet-skills
https://github.com/majiayu000/vibeguard
https://github.com/elementalsouls/Claude-BugHunter
https://github.com/godot-fun/gai
https://github.com/dsifry/metaswarm
https://github.com/Mng-dev-ai/agentrove
https://github.com/DemonDamon/AgenticX
https://github.com/happier-dev/happier
https://github.com/asheshgoplani/agent-deck
https://github.com/agent-of-empires/agent-of-empires
https://github.com/Gaurav-Gosain/tuios
https://github.com/lidge-jun/opencodex
https://github.com/router-for-me/CLIProxyAPI
https://github.com/chenhg5/cc-connect
https://github.com/fujibee/agmsg
https://github.com/SeemSeam/claude_codex_bridge
https://github.com/magnus919/agent-skills
https://github.com/moonlight-lupin/agent-skills
https://github.com/guanyang/open-agent-hub
https://github.com/ThinkFlowLab/agentdescent
https://github.com/917Dhj/DeepPaperNote
https://github.com/supercli-site/scorecard
https://github.com/awslabs/aidlc-workflows
https://github.com/awslabs/cli-agent-orchestrator
https://github.com/FlorianBruniaux/claude-code-ultimate-guide
https://github.com/mauhpr/agentlint
https://github.com/QwenLM/qwen-code
https://github.com/prime-radiant-inc/evener
https://github.com/opensec-git/Pi-Bolt
https://github.com/mvschwarz/openrig
https://github.com/bryan-basg/samd-starter-kit
https://github.com/judegomila/OnCo
https://github.com/rvandewater/YAIB
https://github.com/AnhDuongVo/trial-matcher
https://github.com/ryandelauz/peptide-library-mcp
https://github.com/Riscon-AI/iatheon-verified-errors
https://github.com/munimtechnologies/evidence-pack
https://github.com/orevid-org/orevid
https://github.com/cosyte/deid
https://github.com/yeyuan98/bioresearcher-skills
https://github.com/MCPServings/paper-mcp
https://github.com/BerlinTheWall/Pharma_Feature_Extractor
https://github.com/openmed-labs/openmed-agent
https://github.com/samply/blaze
https://github.com/maju116/rplatypus
https://github.com/CNAG-Biomedical-Informatics/cohortome
https://github.com/evelyyyyynnnnn/2.0-Healthcare-Ai-Systems
https://github.com/marko1olo/dental-crm
https://github.com/OlekBliter/clarity-scribe
https://github.com/stuthedew/open-anesthesia-sim
https://github.com/ptjeong/ONC-CAR-T-Trials-Monitor
https://github.com/romeo111/OpenOnco
https://github.com/priyalifescience/airmed
https://github.com/kik1211/agentic-medclaims-automation
https://github.com/jamesruga/afya-triage
https://github.com/shay-dan/scientific-rag
https://github.com/MichaelEnny/clinical-ai-security-posture
https://github.com/mafritzsche/dicom-injection
https://github.com/Pinnnnnneapple/hl7scrub
https://github.com/moxno/privacyscrubber-mcp
https://github.com/medbrains/medbrains
https://github.com/GeiserX/SuperMedicalDoctor
https://github.com/smritisingh-0401/OASIS
https://github.com/product-on-purpose/thinking-framework-skills
https://github.com/poco-ai/Agentero
https://github.com/genmnz/jean-by-melad-labs
https://github.com/Jayant-Chaudhary/medBrief
https://github.com/asarmah123/ai-health-evidence-monitor
https://github.com/Lukecele/spatial-continuum-oncology
https://github.com/mahmood726-cyber/evidence-collider
https://github.com/juanjosejimenezcatalan-boop/hl7-radiology-workflow-lab
https://github.com/GeiserX/OwnHealth
https://github.com/elkimek/get-based
https://github.com/craigbennett1981/body-kaizen
https://github.com/SilverCrocus/OpenMacro
https://github.com/GeiserX/supermealplanner-ios
https://github.com/chrisdoc/hevy-mcp
https://github.com/hhopke/intervals-icu-mcp
https://github.com/davidmosiah/withings-mcp
https://github.com/turnnoblindeye/wellness-project-mcp
https://github.com/umutkeltek/healthsave-observatory
https://github.com/pepbank/peptide-research-mcp
https://github.com/MoleCare/molecare-skin-llm
https://github.com/MoleCare/molecare-ml
https://github.com/sachin-11/dawai-saathi
https://github.com/Hafsa-Anwar65/Rx-Read
https://github.com/AbdulazizShehri/MedScale
https://github.com/mustafaeeeuu-cell/NutriVerse-Coach
https://github.com/faisukhan01/medspas
https://github.com/alphanumericslab/medorama
https://github.com/codelibs/recotem
https://github.com/VIVPM/curalink-medical-assistant
https://github.com/sepehr071/doctoreto-mcp
https://github.com/Rul1an/assay
https://github.com/pipelab-org/pipelock
https://github.com/rderaison/bromure
https://github.com/Asymptote-Labs/agent-beacon
https://github.com/NodeDB-Lab/nodedb
https://github.com/cognicore-dev/cognicore-env
https://github.com/rohitg00/agentmemory
https://github.com/scenario-labs/skills
https://github.com/superlinked/sie
https://github.com/ashhart/TensorFold
https://github.com/Michael-A-Kuykendall/shimmy
https://github.com/chrishayuk/larql
https://github.com/bytebase/dbhub
https://github.com/hanzohanzhe/Grandet
https://github.com/fatwang2/search2ai
https://github.com/microsoft/agent-governance-toolkit
https://github.com/tenuo-ai/tenuo
https://github.com/Cygnux-Labs/Tracekit
https://github.com/jamjet-labs/jamjet
https://github.com/KbWen/agentic-os
https://github.com/agentty-org/agentty
https://github.com/agentfront/frontmcp
https://github.com/mostlygeek/llama-swap
https://github.com/microsoft/nvx
https://github.com/openlit/openlit
https://github.com/datachain-ai/datachain
https://github.com/lance-format/lance
https://github.com/pydantic/logfire
https://github.com/mudler/LocalAI
https://github.com/NVIDIA/TransformerEngine
https://github.com/mstar-project/mstar
https://github.com/llmmanorg/llmman
https://github.com/llm4s/llm4s
https://github.com/joslat/agent-memory-dotnet
https://github.com/chatvia/chatvia
https://github.com/opensecurainc/openaidr
https://github.com/framerslab/agentos
https://github.com/1bye/rake
https://github.com/kstevica/captain-claw
https://github.com/Oaklight/ToolRegistry
https://github.com/spec-kitty/spec-kitty
https://github.com/CHATS-lab/verbalized-sampling
https://github.com/converge-ai-labs/agent-foundation
https://github.com/tocreator/tostore
https://github.com/keploy/keploy
https://github.com/strale-io/strale
https://github.com/crocodile-labs/openmoat
https://github.com/FractalSQLabs/fractalsql-postgresql
https://github.com/Ta0p1/ResolveLab
https://github.com/benchflow-ai/agents
https://github.com/mll-lab-nu/embodied-first-exam
https://github.com/simplexai-labs/PolyStrata
https://github.com/OpenMontageInc/OpenMontage