DSH WorkBuddy Connect(CodeBuddy CLI 登录态补丁)

前言

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 文件),这是上游既有的诊断语义。

行为边界

为避免引入意外行为,本补丁明确了以下契约:

  1. 桌面优先,CLI 兜底:桌面 App 已登录时永远使用桌面凭据,CLI 文件不读;桌面 App 登出(文件存在但无 token)时才回落到 CLI
  2. 损坏仍报错:桌面文件存在但不可解析、或加密凭据解密失败时,按上游语义抛错;桌面文件是身份权威,坏文件是需修复的问题
  3. 跨区只跳过,不报错:国内版 CLI 与国际版 CLI 共享目录,区域不匹配的文件被静默跳过;两版 CLI 登录态各自只对自己版本生效
  4. 显式路径不被拓宽:通过 authFile 或环境变量 WORKBUDDY_AUTH_FILE(国际版 WORKBUDDY_AI_AUTH_FILE)指定的路径原样使用,不额外追加 CLI 文件名
  5. 绝不回写 CLI 文件:CLI 登录文件由 CLI 自己拥有;刷新后的凭据写入插件自留副本($DSH_HOME 下),与上游处理桌面文件的方式一致
  6. 状态仍显示 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 环境下调用大模型的开发者。插件目录页与源码仓库见下:

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜