Skip to content

RFC-0033: registry 维护与安全探测 - #206

Merged
eric8810 merged 2 commits into
masterfrom
docs/rfc-0033-registry-maintenance
Oct 15, 2026
Merged

eric8810 merged 2 commits into
masterfrom
docs/rfc-0033-registry-maintenance

Conversation

@eric8810

@eric8810 eric8810 commented Oct 3, 2026 •

Copy link
Copy Markdown
Contributor

定义只读 registry diff、无凭证探测和端点差异处理,补齐 #170/#171 前半。

状态与依赖

可基于当前 registry 独立实施;目标输入适配跟随 #200 与 RFC-0040 的 descriptor,不引入第二条生成链。

本 PR 属于完整 roadmap RFC 批次。整批已完成节点覆盖与跨文档契约复核,再按主题分别提交 Draft。各 PR 均独立基于 master,不叠加其他未合并文档。设计齐备不表示运行时实现或验收已完成。

验证

  • 文档编号、代码围栏、相对链接、空白检查通过
  • 本 PR 仅修改 rfc/0033-registry-maintenance.md
  • 本地未运行构建、运行时测试、性能实测或真实 provider 探测;CI 状态以本 PR 当前 head 的检查结果为准

同批设计(均独立基于 master)

@cunninghamcard-bit cunninghamcard-bit left a comment •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

注:文中“V4 层”的代码位置,以及未注明 master 的 aimux 路径和行号,均以 #256 的提交 65ca6be 为准(#249–#256 按顺序叠放,这个提交包含全部各层):https://github.com/arcships/aimux/tree/65ca6be74515374ea89eb4f25717b4ac42ca2911

Comment thread rfc/0033-registry-maintenance.md Outdated
@cunninghamcard-bit

Copy link
Copy Markdown
Contributor

方向同意:维护报告和运行时分开、不阻塞合并、探测不带凭证且先过白名单,这些都对。合并前请按当前 master(a8e3a996)更新几处:

  1. 基线:72a37b5 → a8e3a99。docs: full-chain AI SDK alignment design and impact map #200 已合并(d8fb4ac5),§1.1 和 §7 第 6 步“等 docs: full-chain AI SDK alignment design and impact map #200 合入再换输入”的条件已经满足,维护工具可以直接读 preset 列表。
  2. 维护方式:建议工具不只出报告,而是直接按上游(models.dev,LiteLLM 可选)更新列表里已有 provider 的地址和 key 变量名。人工确认过、和上游不一样的地方,单独记在一个核对文件里,写明原因和来源;工具更新时以这个文件为准,不会冲掉人工修正。CI 离线检查列表和“上游快照 + 核对文件”算出来的结果一致。上游新出现的 provider 不自动加,仍然只进报告,按 Registry triage: 27 base_url disagreements and 116 missing providers vs models.dev #171 接入。§9 担心的“自动同步会冲掉人工修正”由这个核对文件解决,§3.3 的例外文件也就是它。
  3. note/status:我们打算让 provider_registry.json 只放运行时要用的数据,加载时严格校验,多余字段直接报错。所以 note/status 放进上面的核对文件,不进列表,§7 第 2 步可以去掉。
  4. key 变量:列表里的环境变量有两种,env_var 是 key,base_url_env 和 params[].env 是地址参数(比如区域)。只拿 key 变量和上游比;不需要 key 的 provider,没有 env_var 就当作“没有 key”,有 env_var 的当作“可选 key”。
  5. §2 和 §8:不点名具体文件里的测试,写成“历史端点修正在改 schema 后仍由测试固定”。gen_provider_names.py 我们打算删掉(provider 名统一为字符串),不用算作消费方。

改完即可合并。

@cunninghamcard-bit
cunninghamcard-bit marked this pull request as ready for review October 15, 2026 02:29
…-back, check file

- 基线更新 a8e3a99;#200 已合并,输入直接采用 V4 preset schema
- sync 按上游写回既有 provider 地址与 key 变量名,核对文件保护人工修正
- note/status 移入核对文件,registry 列表保持严格 schema
- 区分 key env 与配置 env;auth:none 无 env_var 为显式空集
- 不点名具体测试文件;§7 去掉 note/status 入库步骤
@eric8810

Copy link
Copy Markdown
Contributor Author

已按评审(issue 评论 + 行内评论)更新:

  1. 基线 → a8e3a996,V4 层位置以 [8/8] refactor!: public JSON equals the AI SDK JSON #256 的 65ca6be7 为准;docs: full-chain AI SDK alignment design and impact map #200 已合并,§1.1/§7 直接以 preset schema(RegistryRow,deny_unknown_fields)为输入,删除“等 docs: full-chain AI SDK alignment design and impact map #200 合入”条件与旧 RegistryEntry 接线步骤;
  2. §3.2/§5:sync 增加 --apply 写回(既有 provider 的地址与 key 变量名,上游 models.dev 为主)与 --check 一致性检查;上游新 provider 仍只进报告(Registry triage: 27 base_url disagreements and 116 missing providers vs models.dev #171);
  3. §3.3 核对文件:人工修正 + note/status 按 id 索引存放,工具更新以它为准不覆盖;CI 离线校验列表与“上游快照 + 核对文件”一致;registry 列表只放运行时数据、多余字段报错;§7 原第 2 步删除;
  4. §3.1:key_env_names(env_var)与 config_env_names(base_url_env、params[].env)分开,只拿 key 与上游比;auth:"none" 无 env_var 为显式空集、有 env_var 为可选凭证;
  5. §2/§8:不再点名 provider.rs 三个测试,改为“历史端点修正在 schema 变更后仍由测试固定”,并记录 [6/8] fix: vendors follow the upstream packages #254 恢复 registry_fixed_base_urls_are_correct(已实现待合并);JSON 现状更新为 282 行、含 auth/base_url_env/params[].env;gen_provider_names.py 标记为将删除、不算消费方。

@eric8810
eric8810 merged commit 224bfe3 into master Oct 15, 2026
24 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants