Skip to content

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

Description

@shenhuanjie

提交前确认 · Pre-submission checklist

问题类别 · 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,而不校验宿主当前注册/连接的是哪个供应商。建议一并排查供应商解析的公共路径。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions