背景
今天在本地把新版(17461d8,Pi-only)用 GLM(zai provider)跑通了一张真实任务的全链:Scout → Implement → Review 三角色全程 zai/glm-5.3(effort high),纯执行耗时约 2.5 分钟,测试 8/8 通过,PR 正常发布。GLM 本身工作得很好。
但过程中被 onboard 挡在了门外,最终靠读源码手写配置文件绕过。想反馈这个向导的两个问题。
问题 1:onboard 不尊重 Pi 已有的配置
configureCodex(src/agents/pi/onboard.ts)硬编码 provider = "openai-codex"。README 说 "Existing Pi credentials are reused",但实现上只对 Codex 凭据生效——
我的 Pi 在 onboard 之前就已经配置好了 zai provider + 默认模型(~/.pi/agent/models.json + settings.json 的 defaultProvider/defaultModel)。这是完全合法的 Pi 状态,但 onboard 完全不看它,仍然强制走 Codex 登录 + Codex 连通测试。
问题 2:没有 ChatGPT 订阅的新用户在向导里没有出口
对全新环境的用户,向导只有 Codex 一条路。README.details 的 provider 切换方法("onboard 完成后用 /model 换 zai/anthropic")对他们形成一个前提循环:
- 换模型的前提是 onboard 完成
- onboard 完成的前提是登录 ChatGPT 账号并通过 Codex 连通测试
没有订阅的用户走不完这个循环,向导也不会告诉他其实还有别的路。GLM/Claude 在 README 里是 "advanced provider options",但目前对无 Codex 订阅的用户,这个选项实际上不可达(除非像我们一样读源码手写 ~/.pi/agent/settings.json + ~/.config/roc/settings.json)。
建议(两层,任一都能解开现状)
- 尊重现状:onboard 启动时检测 Pi 是否已设 defaultProvider/defaultModel 且该 provider 有可用凭据——有就直接对当前模型做连通测试(等价于现在对 Codex 做的那步),跳过登录环节。改动集中在 configureCodex 的调用点。
- 新用户出口:向导加一步 provider 选择(codex / anthropic / zai),或至少提供一个 "skip model setup" 的出口,让已知道自己要什么的用户直接完成其余步骤。
实证数据(GLM 全链,本地模式,供参考)
| 角色 |
模型 |
effort |
结果 |
耗时 |
| scout |
zai/glm-5.3 |
high |
succeeded |
~37s |
| implement |
zai/glm-5.3 |
high |
succeeded |
~65s |
| review |
zai/glm-5.3 |
high |
succeeded |
~33s |
任务:给一个 CSV 统计小工具加 sum/stdev 统计与 --json 输出(含新增测试)。三棒 token 合计约 75k input / 6.5k output。实现与测试质量都不错,评审棒正常行使了独立审查。
绕过路径(供同样被挡住的用户参考):手写 ~/.pi/agent/settings.json(defaultProvider/defaultModel/defaultThinkingLevel)+ ~/.config/roc/settings.json(cycle / skills.allowlist / execution.allowUnsandboxed),跳过技能安装直接 task import 出票即可运行。
背景
今天在本地把新版(17461d8,Pi-only)用 GLM(zai provider)跑通了一张真实任务的全链:Scout → Implement → Review 三角色全程
zai/glm-5.3(effort high),纯执行耗时约 2.5 分钟,测试 8/8 通过,PR 正常发布。GLM 本身工作得很好。但过程中被 onboard 挡在了门外,最终靠读源码手写配置文件绕过。想反馈这个向导的两个问题。
问题 1:onboard 不尊重 Pi 已有的配置
configureCodex(src/agents/pi/onboard.ts)硬编码provider = "openai-codex"。README 说 "Existing Pi credentials are reused",但实现上只对 Codex 凭据生效——我的 Pi 在 onboard 之前就已经配置好了 zai provider + 默认模型(
~/.pi/agent/models.json+settings.json的 defaultProvider/defaultModel)。这是完全合法的 Pi 状态,但 onboard 完全不看它,仍然强制走 Codex 登录 + Codex 连通测试。问题 2:没有 ChatGPT 订阅的新用户在向导里没有出口
对全新环境的用户,向导只有 Codex 一条路。README.details 的 provider 切换方法("onboard 完成后用
/model换 zai/anthropic")对他们形成一个前提循环:没有订阅的用户走不完这个循环,向导也不会告诉他其实还有别的路。GLM/Claude 在 README 里是 "advanced provider options",但目前对无 Codex 订阅的用户,这个选项实际上不可达(除非像我们一样读源码手写
~/.pi/agent/settings.json+~/.config/roc/settings.json)。建议(两层,任一都能解开现状)
实证数据(GLM 全链,本地模式,供参考)
任务:给一个 CSV 统计小工具加 sum/stdev 统计与
--json输出(含新增测试)。三棒 token 合计约 75k input / 6.5k output。实现与测试质量都不错,评审棒正常行使了独立审查。绕过路径(供同样被挡住的用户参考):手写
~/.pi/agent/settings.json(defaultProvider/defaultModel/defaultThinkingLevel)+~/.config/roc/settings.json(cycle / skills.allowlist / execution.allowUnsandboxed),跳过技能安装直接task import出票即可运行。