前言¶
DeepSeek Harness(DSH)采用「一切皆插件」的生态理念,插件通过 Cordis patch 的方式向内核注入远程与会话控制逻辑。对于需要调用大模型的开发者,通过插件接入本地已登录的模型服务是常见需求。上游的 dsh-workbuddy-connect 只能从 WorkBuddy / WorkBuddy AI 桌面应用读取登录态,若只安装 CLI 而未装桌面端,则无法复用已登录的凭据。本插件是上游仓库的补丁分支,在保持与上游完全兼容的前提下,追加对 CodeBuddy CLI 登录态的支持,使零配置接入成为可能。
插件定位¶
- 插件名称:
@54145a/dsh-workbuddy-connect - 维护者:54145a
- 分类:模型推理
- 定位:补丁分支,基线为上游 v0.7.8,在桌面 App 之外增加 CodeBuddy CLI 登录态来源
- 核心价值:仅使用 CodeBuddy CLI 登录时,无需安装桌面 App,即可在 DSH 中复用已登录凭据
核心功能¶
- 多来源登录态探测:在原有 WorkBuddy 桌面 App(国内版与国际版)探测路径的基础上,追加 CodeBuddy CLI 的凭据文件探测
- 桌面优先,CLI 兜底:当桌面 App 已登录时,优先使用桌面凭据;仅当所有桌面候选均无效时,才尝试读取 CLI 文件
- 静默跨区域跳过:国内版 CLI 与国际版 CLI 共享同一目录,区域不匹配的文件会被静默跳过,不影响其他来源
- 不改变现有语义:CLI 登录态进入「桌面」槽位,
status/doctor的source字段仍输出desktop,与上游行为一致
安装与启用¶
安装前请确认 DSH Web profile 对应的内核版本为 0.2.1-rc.2(本包 peer 依赖对应版本)。执行以下命令:
# Web profile(内核 0.2.1-rc.2 → 本包 0.7.8-cli.1)
dsh plugin --profile web add @54145a/dsh-workbuddy-connect
dsh web
或直接从仓库源码安装:
dsh plugin --profile web add github:54145a/dsh-workbuddy-connect-codebuddy-cli-patch
安装后,仅需登录一次即可——桌面 App 或 CodeBuddy CLI 均可:
codebuddy login # 或登录 WorkBuddy 桌面 App
典型用法¶
安装完成后,可在 DSH 中通过以下命令检查登录状态:
dsh plugin --profile web exec dsh-workbuddy-connect doctor --json
dsh plugin --profile web exec dsh-workbuddy-connect status --json
仅使用 CodeBuddy CLI 登录时,doctor 会返回类似如下 JSON:
{
"desktopAuthFile": {
"path": "/home/<user>/.local/share/CodeBuddyExtension/Data/Public/auth/Tencent-Cloud.coding-copilot.info",
"present": true,
"format": "plaintext"
},
"signIn": "signed-in"
}
其中 path 指向实际命中的文件(这里是 CLI 文件),这是上游既有的诊断语义。
行为边界¶
为避免引入意外行为,本补丁明确了以下契约:
- 桌面优先,CLI 兜底:桌面 App 已登录时永远使用桌面凭据,CLI 文件不读;桌面 App 登出(文件存在但无 token)时才回落到 CLI
- 损坏仍报错:桌面文件存在但不可解析、或加密凭据解密失败时,按上游语义抛错;桌面文件是身份权威,坏文件是需修复的问题
- 跨区只跳过,不报错:国内版 CLI 与国际版 CLI 共享目录,区域不匹配的文件被静默跳过;两版 CLI 登录态各自只对自己版本生效
- 显式路径不被拓宽:通过
authFile或环境变量WORKBUDDY_AUTH_FILE(国际版WORKBUDDY_AI_AUTH_FILE)指定的路径原样使用,不额外追加 CLI 文件名 - 绝不回写 CLI 文件:CLI 登录文件由 CLI 自己拥有;刷新后的凭据写入插件自留副本(
$DSH_HOME下),与上游处理桌面文件的方式一致 - 状态仍显示 desktop:不新增
cli来源标签;CLI 凭据在读入时进入「桌面」槽位,status/doctor的source字段在 CLI 登录时仍输出desktop
适用场景与注意¶
- 适合场景:已安装 CodeBuddy CLI 并完成登录,希望将本地凭据复用到 DSH Web profile 中使用
- 内核版本:本包面向 DSH 内核 0.2.1-rc.2;内核 0.2.1-rc.1 请使用上游 0.7.7,0.2.0-rc.2 请使用上游 0.7.6;装错内核线会导致 DSH 启动失败
- 权限与安全:插件以当前 DSH 进程权限运行,安装前建议阅读源码与许可证(MIT)
- 已知限制:
- refresh_token 轮换竞争:CLI 与 WorkBuddy 共享刷新端点,刷新会轮换 refresh_token;若插件、CLI 与
dsh-codebuddy-cli同时持有同一账号的刷新链,先刷新的一方会使另一方失效;出现「登录失效」时重新登录即可 - CLI 文件格式依赖真机:当前 CodeBuddy CLI 2.63.x 国内版文件为明文 JSON,上游解析器可直接读取;若未来改为加密信封或换 schema,该文件会被判为
unrecognized/encrypted而静默跳过 - XDG 边缘情形:若设置非默认
XDG_CONFIG_HOME/XDG_DATA_HOME且 CLI 只认其中之一,兜底可能漏;此时可用WORKBUDDY_AUTH_FILE直指 CLI 文件 - 国际版
doctor的present标志偏乐观:仅有国内版 CLI 文件时,present仍为true,但凭据会被区域跳过,signIn仍为signed-out - 未覆盖 CLI 的其他能力:仅做登录态复用,不涉及 CLI 的
X-IDE-Type: cli客户端身份、多账号、每日签到与积分面板
短结尾¶
本插件通过追加 CodeBuddy CLI 登录态探测,在保持与上游兼容的前提下,填补了「仅安装 CLI 而无桌面端」时的凭据复用空白。它将本地已登录的模型服务以零配置方式接入 DSH,适合需要在 CLI 环境下调用大模型的开发者。插件目录页与源码仓库见下: