zai-org / zai-org/feedback

[Bug] 仓库 Wiki 生成失败:模型选择器钉死在 BigModel Start 分组,与宿主已注册供应商不一致,报「当前选择的模型供应商不存在 builtin:bigmodel-start-plan」

Open
#683 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

priority: P2
Dominant language
No language data
Stars
22
Forks
1
PR merge metrics
No merged PRs in 30d

Description

提交前确认 · Pre-submission checklist
  • 我已搜索过现有 issue,确认这不是重复(强相关 #616 是子智能体派发场景,本 issue 是仓库 Wiki 生成场景,同族但不同功能面,已交叉引用)
  • 我已阅读 CONTRIBUTING.md
问题类别 · Category

模型设置 / 切换 · Model config

涉及的 Agent 框架 · Agent framework

ZCode Agent(自研)

严重程度 · Severity

影响体验 · Major(仓库 Wiki 功能完全不可用,但存在非显而易见的绕行方案)

复现频率 · Reproducibility

必现 · Always(连接方式为「个人套餐(Coding Plan)」时,4 个项目共 4 次生成全部立即失败)

问题描述 · Description

摘要:仓库 Wiki 生成立即失败,报「当前选择的模型供应商不存在,无法生成 Wiki:builtin:bigmodel-start-plan」。Wiki 面板的模型选择器被钉死在 BigModel Start(体验套餐)供应商分组,而宿主模型注册表只注册了当前连接方式对应的供应商,两边不一致导致必然失败。

环境与账号状态:

  • macOS 26.6.2 (arm64),ZCode 桌面版 3.11.2
  • 设置 → 模型设置 → BigModel 连接方式为「个人套餐」(GLM Coding Pro,已启用、额度正常)
  • 账号同时持有 ZCode Start Plan(体验套餐,未过期,额度充足)
  • ~/.zcode/v2/config.jsonbuiltin:bigmodel-start-planbuiltin:bigmodel-coding-plan 均存在且 enabled

关键观察(UI 层证据):

  1. Wiki 面板的「模型」下拉里只有「BigModel Start」一个分组(GLM-5.3 / GLM-5.3-Flash),没有任何 Coding Plan 或其他分组可选;
  2. 同一时间,聊天输入框的模型选择器里只有「BigModel 编码」分组(Coding Plan 的模型),反过来没有 Start 分组;
  3. 即两个选择器各自只显示一个供应商分组,且互不相交——Wiki 只能选 Start,聊天只能选 Coding;
  4. Wiki 任务发起时携带 requestedModelProviderId: builtin:bigmodel-start-plan,而宿主注册表当前只注册了 coding-plan 供应商,于是 1 秒内本地判失败,全程未发起任何网络请求。

时间线旁证(同一宿主进程、同一天):

  • 20:24 宿主侧 [model-provider-service] 还在成功刷新 start-plan 的凭据(复用 Coding Plan apiKey 刷新 providerId=builtin:bigmodel-start-plan),说明宿主「认识」这个 ID;
  • 21:01 Wiki 生成即报「供应商不存在」——供应商管理服务与 Wiki 生成所查询的模型注册表疑似不是同一份数据,或 Wiki 面板选模型时未跟随连接方式。
复现步骤 · Steps to reproduce
  1. 设置 → 模型设置 → BigModel,连接方式保持「个人套餐」(Coding Plan);
  2. 打开任意项目,侧边栏勾选「仓库 Wiki」打开 Wiki 面板;
  3. 面板中模型选择器可见且仅有「BigModel Start」分组下的 GLM-5.3 / GLM-5.3-Flash;
  4. 点击「生成 Wiki」;
  5. 任务约 1 秒内失败,错误提示:「当前选择的模型供应商不存在,无法生成 Wiki:builtin:bigmodel-start-plan」。
期望表现 · Expected behavior
  • Wiki 面板的模型选择器应与聊天模型选择器一致,展示账号当前可用供应商下的模型(至少包含当前连接方式对应的分组);或
  • Wiki 生成时对失效的供应商引用自动回退/重解析到当前已注册供应商;或
  • 模型下拉中显式标注该分组不可用并给出指引,而不是让用户点了「生成」才收到一次性失败。
实际表现 · Actual behavior
  • Wiki 生成 100% 立即失败(3 个项目共 4 次,含 GLM-5.3 与 GLM-5.3-Flash 两种模型),错误一致;
  • 用户侧无任何配置可以让 Wiki 换到 Coding Plan 供应商(下拉里没有)。

绕行方案(已验证有效):设置 → 模型设置 → BigModel → 点「切换至 体验套餐 × 1」,宿主随即注册 start-plan 供应商,再点「生成 Wiki」即成功开始生成。但这会改变整个应用的套餐连接方式(影响计费通道),且切回 Coding Plan 后 Wiki 会再次不可用;体验套餐过期后该绕行也会失效。这更像是给用户挖的坑,而非可长期依赖的方案。

ZCode 版本 · ZCode version

3.11.2(桌面版)

设备 / 系统 / 浏览器 · Device / OS / Browser

MacBook(Apple Silicon, arm64)/ macOS 26.6.2 / ZCode 桌面版

截图 / 录屏 / 日志 · Screenshots / Recordings / Logs

失败时(~/.zcode/v2/logs/~/.zcode/v2/repo-wiki/<hash>/task.json,路径已脱敏):

// task.json
{
  "phase": "error",
  "status": "failed",
  "completedPages": 0,
  "failedPages": 0,
  "error": "当前选择的模型供应商不存在,无法生成 Wiki:builtin:bigmodel-start-plan"
}
[2026-09-16 21:01:48.477] [repoWiki] Wiki 生成任务开始 {"workspaceKey":"<workspace>","taskId":"<uuid>","fileCount":823,"language":"zh-CN","generateDiagrams":true,"thoughtLevel":"max","requestedModelProviderId":"builtin:bigmodel-start-plan","requestedModelName":"GLM-5.3"}
[2026-09-16 21:01:48.478] [repoWiki] Wiki 生成失败 {"workspaceKey":"<workspace>","error":"当前选择的模型供应商不存在,无法生成 Wiki:builtin:bigmodel-start-plan"}

切换至体验套餐后同一面板立即恢复(证明根因是供应商注册而非凭据/网络):

[2026-09-17 11:45:41.422] [repoWiki] Wiki 生成任务开始 {...,"requestedModelProviderId":"builtin:bigmodel-start-plan","requestedModelName":"GLM-5.3"}
[2026-09-17 11:45:41.423] [repoWiki] Wiki 生成模型配置已解析 {"providerId":"builtin:bigmodel-start-plan","model":"GLM-5.3","apiFormat":"anthropic-messages","thoughtLevel":"max"}

(此后任务正常进入 catalog 阶段并持续产出页面。)

相关 issue:#616(子智能体派发被路由到未配置的 builtin:bigmodel-start-planprovider_not_found)。两者表象不同但指向同一族问题:功能组件把模型供应商硬钉在 start-plan,而不校验宿主当前注册/连接的是哪个供应商。建议一并排查供应商解析的公共路径。

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at the repository Wiki panel's model selector and the model-provider service, comparing the requestedModelProviderId in repo-wiki//task.json with the providers registered for the current connection. Reproduce with a Coding Plan connection and inspect the provider-not-found log. Done means the selector exposes an available provider and Wiki generation proceeds without the builtin:bigmodel-start-plan failure.

Written by the indexing model from the issue text.

Assessment

Domain
ai, desktop
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.