<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>CodeBuddy on 我的博客</title><link>https://blog.5616760.com/tags/codebuddy/</link><description>Recent content in CodeBuddy on 我的博客</description><generator>Hugo -- gohugo.io</generator><language>zh</language><lastBuildDate>Mon, 28 Sep 2026 15:10:00 +0800</lastBuildDate><atom:link href="https://blog.5616760.com/tags/codebuddy/index.xml" rel="self" type="application/rss+xml"/><item><title>WorkBuddy 接入 Obsidian：把本地 CLI 变成笔记里的 AI 聊天面板</title><link>https://blog.5616760.com/0023.html</link><pubDate>Mon, 28 Sep 2026 15:10:00 +0800</pubDate><guid>https://blog.5616760.com/0023.html</guid><description>&#10; &lt;blockquote&gt;&#10; &lt;p&gt;本文记录的是 Windows 本机实操过程，路径中的 &lt;code&gt;%APPDATA%&lt;/code&gt;、&lt;code&gt;%USERPROFILE%&lt;/code&gt; 需替换为你自己的实际值。全过程已端到端验证通过（2026-09-28 15:07，模型正常返回）。&lt;/p&gt;&#10;&#10; &lt;/blockquote&gt;&#10;&lt;p&gt;想让 Obsidian 里的 AI 插件直接调用 WorkBuddy，第一反应通常是：把 base_url 填进插件设置。这条路走不通，而且会浪费你一个下午。&lt;/p&gt;&#10;&lt;h2 id="先说结论"&gt;先说结论&#10;&lt;/h2&gt;&lt;p&gt;WorkBuddy 桌面版&lt;strong&gt;不对外提供 OpenAI 兼容的 HTTP 接口&lt;/strong&gt;，所以「把它填进普通 AI 插件（Aide、Text Generator 等）的 base_url」这条路是死的。&lt;/p&gt;&#10;&lt;p&gt;官方可行路线只有一条：&lt;/p&gt;&#10;&lt;pre class="mermaid" style="visibility:hidden"&gt;flowchart LR&#10; A["Obsidian 插件&lt;br/&gt;Workbuddian"] --&gt;|"ACP 协议（stdio）"| B["本地 CodeBuddy CLI&lt;br/&gt;npm 完整版"]&#10; B --&gt;|HTTPS| C["WorkBuddy 云端"]&#10; style A fill:#2d6cdf,stroke:#1c4a9e,color:#fff&#10; style B fill:#3a7d44,stroke:#245c2c,color:#fff&#10; style C fill:#7a4fbf,stroke:#553394,color:#fff&lt;/pre&gt;&lt;p&gt;也就是说：&lt;strong&gt;插件本身不含模型，它只是把本地 CLI 包装成笔记内的聊天面板&lt;/strong&gt;。&lt;/p&gt;&#10;&lt;p&gt;明白这一点，修复顺序就确定了：&lt;strong&gt;先让 CLI 独立跑通，再回 Obsidian&lt;/strong&gt;。反过来做只会陷入「插件里发消息一直报错，但不知道错在哪一层」。&lt;/p&gt;&#10;&lt;h2 id="最终配置"&gt;最终配置&#10;&lt;/h2&gt;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;项目&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;值&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;说明&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;插件&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Workbuddian v2.6.10（作者 jiang198012）&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;已装已启用&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;备用插件&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Agent Client v0.13.0&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;通用 ACP 客户端，可追加 WorkBuddy 条目&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;CLI 路径&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;%APPDATA%\npm\node_modules\@tencent-ai\codebuddy-code\bin\codebuddy&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;完整版 v2.159.0（必须用这个）&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Node 路径&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;%USERPROFILE%\.workbuddy-ai\binaries\node\versions\22.22.2-3\node.exe&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;需写入用户级 PATH&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;插件配置&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;&amp;lt;库&amp;gt;\.obsidian\plugins\workbuddian\data.json&lt;/code&gt; → &lt;code&gt;settings.codebuddyPath&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;已改为完整版路径&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;配置备份&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;data.json.bak-20260928&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;改错了可回滚&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;认证方式&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;cli-external-link&lt;/code&gt;（浏览器授权）&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;凭据已就绪&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h3 id="最大的坑两个-cli-不是一个东西"&gt;最大的坑：两个 CLI 不是一个东西&#10;&lt;/h3&gt;&lt;p&gt;本机存在&lt;strong&gt;两个&lt;/strong&gt; CodeBuddy CLI，功能不同，选错就永远用不了：&lt;/p&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;内置裁剪版 ❌&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;npm 完整版 ✅&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;路径&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;%PROGRAMFILES%\WorkBuddyAI\...\cli\bin\codebuddy&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;%APPDATA%\npm\node_modules\@tencent-ai\codebuddy-code\bin\codebuddy&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;版本&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;随桌面版&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;v2.159.0&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;TUI 登录&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;无（报 &lt;code&gt;Cannot find module '../dist/codebuddy'&lt;/code&gt;）&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;有&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;独立认证&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;不行（实测仍报 &lt;code&gt;Authentication required&lt;/code&gt;）&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;可以&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;结论&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;strong&gt;不可用于 Obsidian&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;strong&gt;用这个&lt;/strong&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;p&gt;而插件默认指向的正是内置裁剪版——这就是「面板里发消息返回 &lt;code&gt;本轮中断：refusal&lt;/code&gt;」的根因。&lt;/p&gt;&#10;&lt;h2 id="四处改动"&gt;四处改动&#10;&lt;/h2&gt;&lt;h3 id="1-把-node-写入用户级-path"&gt;1. 把 Node 写入用户级 PATH&#10;&lt;/h3&gt;&lt;p&gt;CLI 是 Node 脚本，而 node 不在系统 PATH，直接跑会报 &lt;code&gt;env: 'node': No such file or directory&lt;/code&gt;。把 &lt;code&gt;%USERPROFILE%\.workbuddy-ai\binaries\node\versions\22.22.2-3&lt;/code&gt; 写入&lt;strong&gt;用户级 PATH&lt;/strong&gt; 即可。&lt;/p&gt;&#10;&lt;h3 id="2-修复-npm-全局入口建立稳定路径"&gt;2. 修复 npm 全局入口，建立稳定路径&#10;&lt;/h3&gt;&lt;p&gt;完整版 CLI 被装在异常目录 &lt;code&gt;@tencent-ai\.codebuddy-code-bIfWIhdo&lt;/code&gt;（&lt;code&gt;.&lt;/code&gt; 前缀导致 npm 生成的 &lt;code&gt;codebuddy.cmd&lt;/code&gt; 指向失效）。建立目录链接，使下列路径等效可用：&lt;/p&gt;&#10;&lt;pre tabindex="0"&gt;&lt;code&gt;%APPDATA%\npm\node_modules\@tencent-ai\codebuddy-code ──▶ .codebuddy-code-bIfWIhdo&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;后面那个随机后缀是升级的大敌，见文末「升级后路径失效」。&lt;/p&gt;&#10;&lt;h3 id="3-完成-cli-独立登录"&gt;3. 完成 CLI 独立登录&#10;&lt;/h3&gt;&lt;p&gt;桌面版登录 ≠ CLI 登录。CLI 走的是 &lt;code&gt;cli-external-link&lt;/code&gt; 外链授权，必须&lt;strong&gt;单独登录一次&lt;/strong&gt;。&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;授权地址：&lt;code&gt;https://copilot.tencent.com/login?platform=CLI&amp;amp;...&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;授权成功后凭据落盘，&lt;strong&gt;内置版仍读不到，完整版可正常鉴权&lt;/strong&gt;（已在 ACP 全链路验证）&lt;/li&gt;&#10;&lt;li&gt;授权前的报错，留个对照：&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-json" data-lang="json"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;{&lt;span style="color:#f92672"&gt;&amp;#34;statusCode&amp;#34;&lt;/span&gt;:&lt;span style="color:#ae81ff"&gt;401&lt;/span&gt;,&lt;span style="color:#f92672"&gt;&amp;#34;message&amp;#34;&lt;/span&gt;:&lt;span style="color:#e6db74"&gt;&amp;#34;Authentication required&amp;#34;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;auth-type:cli-external-link,&amp;#34;&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;token-type&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;:&amp;#34;&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;Bearer&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;,&amp;#34;&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;token-length&amp;#34;&lt;/span&gt;:&lt;span style="color:#ae81ff"&gt;1382&lt;/span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="4-插件配置改指完整版-cli"&gt;4. 插件配置改指完整版 CLI&#10;&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-jsonc" data-lang="jsonc"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;// .obsidian/plugins/workbuddian/data.json&#10;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;settings&amp;#34;&lt;/span&gt;&lt;span style="color:#960050;background-color:#1e0010"&gt;:&lt;/span&gt; {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;codebuddyPath&amp;#34;&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;C:\\Users\\&amp;lt;你&amp;gt;\\AppData\\Roaming\\npm\\node_modules\\@tencent-ai\\codebuddy-code\\bin\\codebuddy&amp;#34;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;nodePath&amp;#34;&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;C:\\Users\\&amp;lt;你&amp;gt;\\.workbuddy-ai\\binaries\\node\\versions\\22.22.2-3\\node.exe&amp;#34;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;backend&amp;#34;&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;codebuddy&amp;#34;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;permissionMode&amp;#34;&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;default&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="最后一步重载插件约-10-秒"&gt;最后一步：重载插件（约 10 秒）&#10;&lt;/h2&gt;&lt;p&gt;插件配置是&lt;strong&gt;启动时读入内存&lt;/strong&gt;的，运行中的 Obsidian 仍持有旧路径。&lt;/p&gt;&#10;&#10; &lt;blockquote&gt;&#10; &lt;p&gt;设置 → 第三方插件 → 把「Workbuddian」关闭，再打开（或直接重启 Obsidian）。&lt;/p&gt;&#10;&#10; &lt;/blockquote&gt;&#10;&lt;p&gt;⚠️ &lt;strong&gt;重载之前，不要进入该插件的设置界面改动任何选项&lt;/strong&gt;——那会把内存里的旧路径重新写回文件。（会话记录保存不受影响，它会先重新读盘再写。）&lt;/p&gt;&#10;&lt;p&gt;重载后：点左侧机器人图标 → 发一条消息 → 应正常流式回复。&lt;/p&gt;&#10;&lt;h3 id="如果仍然失败"&gt;如果仍然失败&#10;&lt;/h3&gt;&lt;p&gt;打开插件设置，把 &lt;strong&gt;CodeBuddy CLI 路径&lt;/strong&gt;手动粘贴为完整版路径，保存即可。这条操作会以正确值覆写，反而更稳。&lt;/p&gt;&#10;&lt;h2 id="日常用法"&gt;日常用法&#10;&lt;/h2&gt;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;操作&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;说明&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;@&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;引用四个来源：当前笔记 / 全部笔记 / 选中文本 / 附件&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;/&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;调用命令与 Skills（如 &lt;code&gt;/background&lt;/code&gt;、&lt;code&gt;/branch&lt;/code&gt;）&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;#&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;写入常驻指令（长期生效的偏好）&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;权限模式&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;default&lt;/code&gt; 每次询问 / &lt;code&gt;acceptEdits&lt;/code&gt; 自动接受编辑 / &lt;code&gt;plan&lt;/code&gt; 只读规划&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;模型&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;面板内可切换（&lt;code&gt;hy3&lt;/code&gt; 免费档、&lt;code&gt;hy4-preview&lt;/code&gt; 等，按云币计费）&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h2 id="维护与排障"&gt;维护与排障&#10;&lt;/h2&gt;&lt;h3 id="症状--原因--处置"&gt;症状 → 原因 → 处置&#10;&lt;/h3&gt;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;症状&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;原因&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;处置&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;本轮中断：refusal&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;CLI 未登录 / token 失效&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;重新登录&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;&lt;code&gt;env: 'node': No such file or directory&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;node 不在 PATH&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;检查用户级 PATH，重开终端&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;找不到 CLI&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;路径指向内置裁剪版&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;改为完整版路径&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;401 endpoint mismatch&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;认证过期&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;重新登录&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;h3 id="重新登录-clitoken-过期时"&gt;重新登录 CLI（token 过期时）&#10;&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-powershell" data-lang="powershell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$cb = &lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt;$env:APPDATA&lt;span style="color:#e6db74"&gt;\npm\node_modules\@tencent-ai\codebuddy-code\bin\codebuddy&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;amp; &lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt;$env:USERPROFILE&lt;span style="color:#e6db74"&gt;\.workbuddy-ai\binaries\node\versions\22.22.2-3\node.exe&amp;#34;&lt;/span&gt; $cb&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;进入 TUI 后输入 &lt;code&gt;/login&lt;/code&gt;，选&lt;strong&gt;中国站登录&lt;/strong&gt;，浏览器完成微信扫码授权。&lt;/p&gt;&#10;&lt;h3 id="自检一条龙"&gt;自检一条龙&#10;&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-powershell" data-lang="powershell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$node = &lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt;$env:USERPROFILE&lt;span style="color:#e6db74"&gt;\.workbuddy-ai\binaries\node\versions\22.22.2-3\node.exe&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$cb = &lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt;$env:APPDATA&lt;span style="color:#e6db74"&gt;\npm\node_modules\@tencent-ai\codebuddy-code\bin\codebuddy&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&amp;amp; $node $cb -p &lt;span style="color:#e6db74"&gt;&amp;#34;回复四个字：接入成功&amp;#34;&lt;/span&gt; --output-format json&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;能返回文字即链路完好；返回 &lt;code&gt;Authentication required&lt;/code&gt; 则需重新登录。&lt;/p&gt;&#10;&lt;h3 id="升级后路径失效怎么办"&gt;升级后路径失效怎么办&#10;&lt;/h3&gt;&lt;p&gt;WorkBuddy 或 CLI 升级后，&lt;code&gt;.codebuddy-code-&amp;lt;随机后缀&amp;gt;&lt;/code&gt; 目录名可能变化，导致稳定链接失效。重建链接：&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-powershell" data-lang="powershell"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$base = Join-Path $env:APPDATA &lt;span style="color:#e6db74"&gt;&amp;#34;npm\node_modules\@tencent-ai&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$real = Get-ChildItem $base -Directory | Where-Object { $_.Name &lt;span style="color:#f92672"&gt;-like&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;.codebuddy-code-*&amp;#34;&lt;/span&gt; } | Select-Object -First &lt;span style="color:#ae81ff"&gt;1&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;if&lt;/span&gt; ($real) {&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; $link = Join-Path $base &lt;span style="color:#e6db74"&gt;&amp;#34;codebuddy-code&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;if&lt;/span&gt; (Test-Path $link) { Remove-Item $link -Force }&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; New-Item -ItemType Junction -Path $link -Target $real.FullName&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Write-Output &lt;span style="color:#e6db74"&gt;&amp;#34;链接已重建 → &lt;/span&gt;$($real.Name)&lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="备用方案agent-client"&gt;备用方案：Agent Client&#10;&lt;/h3&gt;&lt;p&gt;在通用 ACP 客户端 Agent Client 中追加一个自定义代理，直接以绝对路径拉起 node：&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-json" data-lang="json"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;{&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;id&amp;#34;&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;codebuddy-workbuddy&amp;#34;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;displayName&amp;#34;&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;WorkBuddy (CodeBuddy)&amp;#34;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;command&amp;#34;&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;C:\\Users\\&amp;lt;你&amp;gt;\\.workbuddy-ai\\binaries\\node\\versions\\22.22.2-3\\node.exe&amp;#34;&lt;/span&gt;,&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;args&amp;#34;&lt;/span&gt;: [&lt;span style="color:#e6db74"&gt;&amp;#34;C:\\Users\\&amp;lt;你&amp;gt;\\AppData\\Roaming\\npm\\node_modules\\@tencent-ai\\codebuddy-code\\bin\\codebuddy&amp;#34;&lt;/span&gt;, &lt;span style="color:#e6db74"&gt;&amp;#34;--acp&amp;#34;&lt;/span&gt;],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;env&amp;#34;&lt;/span&gt;: [],&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;enabled&amp;#34;&lt;/span&gt;: &lt;span style="color:#66d9ef"&gt;true&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;重载插件后，在 Agent Client 的代理下拉里选 &lt;strong&gt;WorkBuddy (CodeBuddy)&lt;/strong&gt; 即可（它默认仍是 Codex，需要手动切换）。&lt;/p&gt;&#10;&lt;h2 id="诊断记录留档"&gt;诊断记录（留档）&#10;&lt;/h2&gt;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;时间&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;事件&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;09:45&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Workbuddian v2.6.10 装入&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;11:xx&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;面板发 &lt;code&gt;hi&lt;/code&gt; → 返回 &lt;code&gt;本轮中断：refusal&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;14:5x&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;定位根因：&lt;code&gt;refusal classified: category=auth&lt;/code&gt;&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;14:57&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;完成 CLI 外链授权（凭据落盘）&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;15:01&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;ACP 全链路验证通过，模型返回「成功」&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;15:07&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;按插件真实配置复验通过，返回「接入成功」&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;p&gt;关键日志位置：&lt;code&gt;~/.codebuddy/logs/&amp;lt;日期&amp;gt;/Obsidian__*.log&lt;/code&gt;&lt;/p&gt;&#10;&lt;h2 id="一句话总结"&gt;一句话总结&#10;&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;问题不在插件，也不在 Obsidian，而在「CLI 用错了版本 + 从未独立登录」。&lt;/strong&gt;&lt;/p&gt;&#10;&lt;p&gt;改用完整版 CLI 并完成一次外链授权后，链路即通。下次再遇到 &lt;code&gt;refusal&lt;/code&gt;，先翻回这张表：版本对不对、登录过没有、node 在不在 PATH。&lt;/p&gt;&#10;</description></item></channel></rss>