Skip to content

fix(settings): provider 覆写语义修复 + 移除表单清除 Key 功能 - #33

Merged
Jaxton07 merged 1 commit into
mainfrom
fix/provider-settings-review
Aug 26, 2026
Merged

fix(settings): provider 覆写语义修复 + 移除表单清除 Key 功能#33
Jaxton07 merged 1 commit into
mainfrom
fix/provider-settings-review

Conversation

@Jaxton07

Copy link
Copy Markdown
Owner

背景

设置页 LM provider 逻辑优化(内置 provider 端点覆写、空模型列表共享官方目录、编辑保留 pi 手写字段)的 review 修复。

Bug 修复

  • 空模型校验失真assertModelsMeaningful 改用静态 BUILTIN_PROVIDER_IDS 判定——runtime.getProvider() 对 models.json 已注册的自定义 provider 也返回真值(SDK providerIds() = builtins ∪ config ids),「编辑已有自定义 provider 时清空模型」会漏拦、落盘零模型死 provider
  • baseUrl 校验对齐buildCustomEntryhttp(s):// 开头校验,与 setProviderBaseUrl 口径一致

功能移除(review 决定)

  • 彻底删除「清除已保存的 Key」勾选全链路:表单 state / IPC 第 4 参 / shared 类型 / i18n 键。删凭证走行上的「移除凭证」(内置,runtime.logout)/「删除」(自定义,连条目删)
  • key 语义统一:留空 = 不动,填写 = 写入

UI 修复

  • ProviderRow 新增 fullEdit 判定:纯 baseUrl 覆写(内置 id、无自定义模型)永远走端点覆写表单,防止保存后同一按钮换表单的跳变;编辑按钮 label 同步跟随
  • 清理 i18n 死键(providers.keyPlaceholder / configKey / updateKey,zh + en)

测试

  • settings-custom-provider.test.ts:回归用例(空模型拦截 / baseUrl 校验)
  • settings.test.ts:clearApiKey 用例改为「不传 key = 保持不变」

验证

typecheck / backend 494 tests / desktop 237 tests / biome 全绿

背景:设置页 LM provider 逻辑优化(内置 provider 端点覆写、空模型列表
共享官方目录、编辑保留 pi 手写字段)的 review 修复。

Bug 修复:
- assertModelsMeaningful 改用静态 BUILTIN_PROVIDER_IDS 判定:runtime.getProvider
  对 models.json 已注册的自定义 provider 也返回真值,「编辑已有自定义
  provider 时清空模型」会漏拦、落盘零模型死 provider
- buildCustomEntry 补 baseUrl http(s):// 校验,与 setProviderBaseUrl 口径一致

功能移除(按 review 决定):
- 彻底删除「清除已保存的 Key」勾选全链路(表单 state/IPC 第 4 参/
  shared 类型/i18n 键);删凭证走行上的「移除凭证」/「删除」按钮
- key 语义统一:留空 = 不动,填写 = 写入

UI 修复:
- ProviderRow 新增 fullEdit 判定:纯 baseUrl 覆写(内置 id、无自定义
  模型)永远走端点覆写表单,防保存后同一按钮换表单的跳变;编辑按钮
  label 同步跟随
- 清理 i18n 死键(providers.keyPlaceholder/configKey/updateKey)

测试:settings-custom-provider.test.ts 回归用例(空模型拦截/baseUrl
校验),settings.test.ts 改为「不传 key = 保持不变」;INDEX.md 同步
@Jaxton07
Jaxton07 merged commit 780e2a6 into main Aug 26, 2026
1 check passed
@Jaxton07
Jaxton07 deleted the fix/provider-settings-review branch August 26, 2026 13:26
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.

1 participant