Repository navigation
fix(kbrain): 旧供应商导入被拒后不再每次启动重试,并在设置页给出可关闭的提示 - #950
Merged
xiaozhou26 merged 4 commits intoOct 10, 2026
Merged
xiaozhou26 merged 4 commits into
xiaozhou26 merged 4 commits into
Conversation
K-brain 会拒绝与已导入供应商同名但模型元数据不一致的旧供应商。此前前端每次启动 都会重新提交这些供应商:一次整批 400、随后逐个重试并跳过,全部只写到控制台, 用户看到的现象是设置加载变慢、控制台刷告警,而那几个供应商的模型在 v2 里其实不可用。 - 新增 `lib/settings/legacyProviderImport.ts`:按供应商 id 记录被拒原因与配置指纹, 指纹未变则不再重试;用户改动供应商配置后指纹变化,自动重新尝试。 - `lib/settings/storage.ts`:导入前按记录过滤,导入后回写记录并发布快照; 新增 `retryRejectedLegacyProviderImport()` 供手动重试。 - 设置页供应商区块顶部新增提示条:列出未能导入的供应商(名字 + 短 id)与原因, 并提供「重试导入」入口。 - 新增单测覆盖指纹稳定性、改动后重试、记录裁剪与损坏数据的兜底。 Closes Stack-Cairn#946
- 提示条右上角新增关闭按钮;点击后弹出确认框,说明关闭后不再提示、操作不可撤销, 默认焦点在「取消」。 - 关闭按「供应商 id + 配置指纹」永久记录到本地;「重试导入」不会让已关闭的提示重新出现。 - 用户之后修改了该供应商的配置,指纹变化,会作为新记录重新提示。 - 补充两条单测。 Refs Stack-Cairn#946
- 共享设置页同时被桌面端和 Gateway WebUI 编译,WebUI 的 SettingsPageProps 也补上三个可选字段和 SettingsRejectedLegacyProvider 类型(WebUI 不传,提示条不会显示)。 - App.tsx 与两份翻译文件按 biome 规则重排。 Refs Stack-Cairn#946
…e rejection cache
Contributor
This was referenced Oct 10, 2026
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.
Closes #946
问题
K-brain 会拒收旧供应商:如果它和已导入的供应商有同名模型,但模型参数不一致,就会被拒(根因见 Stack-Cairn/K-brain#21)。前端以前每次启动都会把这些供应商重新提交一遍:先整批提交,收到 400,再逐个重试、逐个跳过,信息全写在控制台里。所以用户每次启动都会多出几次请求和一串告警,却不知道这几个供应商的模型在 v2 里用不了。
改动
crates/agent-gui/src/lib/settings/legacyProviderImport.tslib/settings/storage.ts:导入前按记录过滤,导入后回写记录并发布快照。test/providers/kbrain-legacy-provider-import-retry.test.mjs,8 条用例。验证
pnpm typecheck通过;新增单测 8/8 通过。截图
提示条:
关闭前的确认弹框:
说明
这些供应商还是导入不了,要等 K-brain 那边修了才行(Stack-Cairn/K-brain#21)。这个 PR 只处理前端的表现:不再反复重试,给出可见提示,用户可以选择忽略。