Skip to content

Models:支持在 Web UI 里管理可见模型#613

Merged
EKKOLearnAI merged 2 commits into
EKKOLearnAI:mainfrom
hanzckernel:feat/model-visibility-filter
May 11, 2026
Merged

Models:支持在 Web UI 里管理可见模型#613
EKKOLearnAI merged 2 commits into
EKKOLearnAI:mainfrom
hanzckernel:feat/model-visibility-filter

Conversation

@hanzckernel
Copy link
Copy Markdown
Collaborator

@hanzckernel hanzckernel commented May 10, 2026

这次改动支持在 Web UI 里管理模型的显示状态:用户可以按 provider 勾选哪些模型出现在侧边栏选择器和 Models 页面里。它只改“哪些模型显示出来”,不改 Hermes CLI/provider 配置,也不改实际请求里使用的 canonical model id。

为什么

现在一个 provider 可能一次暴露很多模型,选择器和 Models 页面会变得很吵。这里想解决的是“常用模型更好找”,不是做模型权限封禁。

所以过滤规则放在 Web UI 的 AppConfig 里。隐藏模型只影响页面展示;真正调用模型时,仍然走 Hermes 原来的 provider/model id。这样可以把列表收窄,但不会让 Web UI 的显示偏好影响 CLI 默认模型或 provider 配置。

边界

这次固定的是 UI 展示层:模型可以被隐藏、恢复;默认模型如果被隐藏,页面只在可见列表里找一个能显示的 fallback。这个 fallback 不写回 Hermes CLI 配置,也不阻止用户手动输入 custom model id。

改动

  • 在 AppConfig 增加 modelVisibility,按 provider 保存 all/include 可见性规则。
  • 新增 PUT /api/hermes/model-visibility,只写 Web UI app config,不调用 writeConfigYaml
  • /api/hermes/available-models 返回过滤后的 groups,同时保留 available_models 未过滤全集,供管理弹窗恢复被隐藏模型。
  • Models provider 卡片增加“管理可见模型”弹窗,可以勾选当前 provider 要显示的模型。
  • Store/API 类型补齐 model_visibility / available_models;默认模型被隐藏时回落到首个可见模型,但不写回 Hermes CLI 默认配置。
  • Provider card 保存可见模型后,Models store 会把同一份 available-models 响应同步回侧边栏 store,避免新勾选模型只出现在卡片、不出现在选择器。
  • 如果 include 规则里的模型都已经不存在,则回到 provider 原始全集,避免用户因为规则过期看不到模型、也找不到恢复入口。

验证

已通过:

npm test -- tests/client/models-store.test.ts --reporter=verbose
npm test -- tests/client/app-store.test.ts tests/client/models-store.test.ts tests/server/model-visibility-controller.test.ts --reporter=verbose
npm run build

结果:相关测试 11/11 通过,build 通过;仅有现有 chunk size warning。

已知:

  • 本地 8768 preview 已验证:Provider card 勾选保存后,侧边栏模型选择器同步显示新勾选模型。

Store provider model visibility in Web UI app config and filter the WUI model picker/model page without rewriting Hermes CLI config or canonical model IDs.
@hanzckernel hanzckernel changed the title feat(models): 增加 WUI-only 模型可见性过滤 Models:支持在 Web UI 里管理可见模型 May 10, 2026
@EKKOLearnAI EKKOLearnAI merged commit 3a1893d into EKKOLearnAI:main May 11, 2026
1 check passed
@hanzckernel hanzckernel deleted the feat/model-visibility-filter branch May 11, 2026 20:57
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