### 提交前确认 · Pre-submission checklist - [x] 我已搜索过现有 issue,确认这不是重复 / I searched existing issues and confirmed this isn't a duplicate. - [x] 我已阅读 [CONTRIBUTING.md](../blob/main/CONTRIBUTING.md) / I've read CONTRIBUTING.md. ### 问题类别 · Category 账号 / 登录 · Account / Login ### 涉及的 Agent 框架 · Agent framework ZCode Agent(自研) ### 严重程度 · Severity 阻塞使用 · Blocking (无法使用核心功能 / core function unusable) ### 复现频率 · Reproducibility 必现 · Always ### 问题描述 · Description **环境**:ZCode Desktop 3.14.3(apps/zcode-cli@0.16.9,仓库 HEAD 29628c9),Windows 11 10.0.22631 x64。CLI 以非 SEA 方式运行:node "%LOCALAPPDATA%\Programs\ZCode\resources\glm\zcode.cjs" **现象**:login 浏览器 OAuth 授权正常完成后,进程报错退出、凭据未落盘: ``` Error: 无法定位 CLI ZCode Built-in Provider Config:D:\...\resources\glm\provider\zcode-builtin.json, D:\Users\<user>\AppData\config\provider\zcode-builtin.json ``` logout / tui / app-server / agent-server 等所有 requiresProviderRuntime() 为 true 的非 SEA 入口同样受影响。桌面应用自身不受影响(它通过 ZCODE_BUILTIN_PROVIDER_CONFIG_FILE / ZCODE_PERSONAL_PROVIDER_CONFIG_FILE 环境变量显式注入路径,绕过了文件查找)。 **根因(打包布局与解析候选不匹配)** - packages/desktop/electron-builder.config.js:626-631:agent JS bundle 打包到 resources/glm,入口为 resources/glm/zcode.cjs - packages/desktop/electron-builder.config.js:594:内置 Provider 声明打包到 resources/config/provider/zcode-builtin.json - 而 apps/zcode-cli/packages/cli/src/provider-runtime-env.ts:148-152 的候选只有两个: 1. entryDirectory/provider/zcode-builtin.json → resources/glm/provider/…(不存在) 2. entryDirectory/../../../../../config/provider/… → %LOCALAPPDATA%\config\…(不存在) 实际文件只需从 resources/glm 上溯 **1** 级。五个 .. 是开发仓布局(apps/zcode-cli/packages/cli 深度)的假设,与 electron-builder 产物不符。 **修复方案** 1. 解析器新增打包布局候选 resolve(entryDirectory, "../config/provider/zcode-builtin.json")(更稳健:从入口逐级上溯查找 config/provider/zcode-builtin.json,上限约 6 级); 2. 打包对齐:electron-builder 将该文件同时复制到 glm/provider/zcode-builtin.json(命中候选 1),或在 prepare:agent-bundle 阶段直接产出; 3. login 在打开浏览器前先做 Provider Runtime 预检,失败提前退出,不消耗授权码。 ### 复现步骤 · Steps to reproduce 1. 安装 ZCode 桌面版 3.14.3(Windows,默认安装路径) 2. 终端执行 node "%LOCALAPPDATA%\Programs\ZCode\resources\glm\zcode.cjs" login(不注入桌面端的路径环境变量) 3. 在浏览器完成 OAuth 授权 4. CLI 报「无法定位 CLI ZCode Built-in Provider Config:…」,~/.zcode/v2/credentials.json 未更新,登录失败 ### 期望表现 · Expected behavior 非 SEA 运行的 CLI 在桌面版安装布局下能定位到 resources/config/provider/zcode-builtin.json;login 在发起 OAuth 前完成 Provider Runtime 预检,失败则提前终止,不浪费用户授权。 ### 实际表现 · Actual behavior 授权完成后报「无法定位 CLI ZCode Built-in Provider Config:<两个候选路径>」,credentials.json 未写入,必须重做整个授权流程(且不修复的话重做仍会失败)。 ### ZCode 版本 · ZCode version 3.14.3(apps/zcode-cli 0.16.9) ### 设备 / 系统 / 浏览器 · Device / OS / Browser Windows 11 Pro 10.0.22631 x64 ### 截图 / 录屏 / 日志 · Screenshots / Recordings / Logs 临时规避:把文件复制到入口旁即可恢复(应用更新会重建 resources/glm,需重新复制): copy "%LOCALAPPDATA%\Programs\ZCode\resources\config\provider\zcode-builtin.json" "%LOCALAPPDATA%\Programs\ZCode\resources\glm\provider\zcode-builtin.json"
Activity
github-actions commentedon Sep 28, 2026
👋 感谢你的反馈,我们已经收到。
status: 待评估,你可以随时补充信息。needs: 更多信息标签并 @ 你。👋 Thanks — we've received your issue.
status: 待评估(Triage); feel free to add context.needs: 更多信息and ping you.