Repository navigation
[ac#1281] 两个已退役模型换成继任 id,并立一道「目录 id 上游还在不在」的持续判据 - #1283
Merged
Merged
Conversation
owner 2026-09-08 裁决:①替换成继任 id,不下架;②要一道持续判据。
## ① 替换(证据分两档,不混作一谈)
kimi-k2 → kimi-k3 vendor 一手文档**明文退役**(2026-05-25)+ **明文建议迁往 k3**
moonshot-v1-128k → kimi-k2.6 同页明文退役(2026-08-31,调用返 404);继任由我选(256k,
保住目录原本「两档可选」的形状,该页只笼统建议 k3)
qwen3.8-max-preview → qwen3.8-max **弱一档**:只是「阿里当前清单里查不到」,没有退役声明
第三行的证据比前两行弱,故单列。替换**不消除**「没 key 就验不了新 id」这个代价 —— 它把
「已知坏」换成「未验证」,而②正是为这一格准备的。
## ② 持续判据:packages/ui-mac/scripts/verify-byok-catalog.ts(alpha-check 第 [11/11] 步)
可行性是勘破出来的,不是设想:2026-09-08 实打,智谱 / DeepSeek 的 `GET <baseURL>/models` 带 key
均回 200 且列出真实 id(OpenAI 标准 `{object,data:[{id}]}`)。目录里每个 provider 都是
compat:"openai"(alpha-models.test.ts 钉着),所以这条路对全部 BYOK provider 成立。
三档结局照本仓 `#890` 已有形状,不新发明:
0 已验证 **全部** provider 都验成且目录 id 都在册
1 真失守 某个目录 id 上游没有了 —— 这次的 kimi-k2 正是此类
2 未验证 有 provider 没验成(本机只有 2/5 家的 key ⇒ 这是常态)
**部分验证退 2 而不是 0**,这一条是刻意的:目录 8 个 id 本机只验得了 2 个,若退 0,末行会打
「✅ all local gates green」—— 那句话把「没检查」读成「检查过了」,正是 `#890` 立三档要消灭的
形态,也正是 kimi-k2 在目录里躺了三个多月没人发现的形态。未验证不拦 push,只是让总结行说实话。
两条「宁可判未验证也不判红」(误报比漏报贵):
· 非 2xx(401 坏 key / 429 / 5xx)⇒ 未验证。401 说明我们的 key 不对,不是模型没了。
· 响应不是 {data:[{id}]} ⇒ 未验证。上游改一次响应形状就把整个目录诬告成「全没了」,
那是判据自己坏了却给出看起来正常的答案 —— 本仓最贵的一类。
内建正样本自检:每个能真查的 provider 额外查一个结构上不可能存在的合成 id,它若被判在册
⇒ 成员判断坏了,整脚本按失守退出。
变异验证(**第一次变异没打中被测对象**:deepseek-v4-pro 在 platformModels 里也出现,
replace(...,1) 命中的是那一处,BYOK 段根本没改 —— 改成精确改 byokProviders 后重做):
BYOK 段放一个上游没有的 id(两家各验) EXIT=1,点名该 id
真失守 + 同时有没验成的 EXIT=1(红压过未验证,不被 2 盖掉)
上游回 200 但形状不认识 EXIT=2 判未验证,**不**诬告目录
坏 key(401) EXIT=2 判未验证,不判红
全部 provider 都有 key 且都在册 EXIT=0(唯一该说绿的情形)
常态(2 验成 / 3 没验成) EXIT=2
同批更新依赖旧 id 的处:alpha-models.test.ts 的 UNVERIFIED_TIERLESS 登记、
byok-output-cap.ts 的 UNREAD、byok-output-cap.test.ts、架构勘破文档、
docs/runbooks/model-catalog-updates.md(加 id 之后跑一次这个判据)、证据文档。
顺带被漂移锁抓到一处我自己的不一致:MiniMax-M2 已有 catalog 级读数却又被我写回 UNREAD,
而 UNREAD 的语义就是「没有读数」—— 它想表达的「待升级成 probed」已由 grade 字段承载,
两处都写就是第二个真源。已删。
scripts/alpha-check.sh:fail=0;末行按设计显示「有一步这次没验成」并逐条点名。
Fixes #1281
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0189TJTQjvPWFKZMTdPFTynv
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
owner 2026-09-08 裁决:①替换成继任 id,不下架;②要一道持续判据。
① 替换(证据分两档,不混作一谈)
kimi-k2kimi-k3moonshot-v1-128kkimi-k2.6qwen3.8-max-previewqwen3.8-max-preview;OpenRouter 也是qwen3.8-max-0902第三行单列,因为它只是「清单里查不到」,没有退役声明 —— 和前两行不是一回事。
替换不消除「没 key 就验不了新 id」这个代价:它把「已知坏」换成「未验证」。②正是为这一格准备的。
② 持续判据
verify-byok-catalog.ts(alpha-check第 [11/11] 步)可行性是勘破出来的,不是设想:2026-09-08 实打,智谱 / DeepSeek 的
GET <baseURL>/models带 key 均回 200 且列出真实 id。目录里每个 provider 都是compat: "openai"(alpha-models.test.ts钉着),所以这条路对全部 BYOK provider 成立。三档结局照本仓
#890已有形状,不新发明:部分验证退 2 而不是 0,这一条是刻意的。 目录 8 个 id 本机只验得了 2 个;若退 0,末行会打
✅ all local gates green—— 那句话把「没检查」读成「检查过了」,正是#890立三档要消灭的形态,也正是kimi-k2在目录里躺了三个多月没人发现的形态。未验证不拦 push,只是让总结行说实话。两条「宁可判未验证也不判红」(误报比漏报贵):
{data:[{id}]}⇒ 未验证。上游改一次响应形状就把整个目录诬告成「全没了」—— 那是判据自己坏了却给出看起来正常的答案。内建正样本自检:每个能真查的 provider 额外查一个结构上不可能存在的合成 id;它若被判在册 ⇒ 成员判断坏了,整脚本按失守退出。
变异验证
deepseek-v4-pro在platformModels里也出现,replace(...,1)命中的是那一处,BYOK 段根本没改 —— 于是闸「没红」。改成精确改byokProviders后重做,两家各验一次都红。变异没打中而读成「闸是好的」,和闸真坏了一样贵。顺带
漂移锁抓到一处我自己的不一致:
MiniMax-M2已有catalog级读数却又被我写回UNREAD,而UNREAD的语义就是「没有读数」—— 它想表达的「待升级成 probed」已由grade字段承载,两处都写就是第二个真源。已删。门
scripts/alpha-check.sh:fail=0;末行按设计显示「有一步这次没验成」并逐条点名未验证的 provider 与 id。Fixes #1281
🤖 Generated with Claude Code
https://claude.ai/code/session_0189TJTQjvPWFKZMTdPFTynv