01零配置
复用 WorkBuddy 桌面 App 的登录状态,装完即用;不需要 API Key、不需要自建中转,账号切换时插件自动跟随。
这是我正在用的那一套接法:装一个社区插件 dsh-workbuddy-connect,DeepSeek Harness(DSH)的模型选择器里就会多出 「WorkBuddy」 与 「WorkBuddy AI」 分组,直接调用 WorkBuddy 桌面 App 里那些模型。账号和积分沿用各自 App 的登录状态,不用填 API Key,也不要中转服务。
手里的额度分散在不同产品里:DSH 里有一份,WorkBuddy 桌面 App 里还有一份。往 DSH 里接第三方模型,通常要配 baseURL、填 key、再琢磨兼容性;这个插件的思路是——App 已经登录好了,直接把那份登录态用起来,让模型出现在 DSH 的选择器里,用哪份额度就选哪个分组。
复用 WorkBuddy 桌面 App 的登录状态,装完即用;不需要 API Key、不需要自建中转,账号切换时插件自动跟随。
国内版显示为「WorkBuddy」分组,国际版(WorkBuddy AI)显示为「WorkBuddy AI」分组;两边的模型、账号和积分互不混用,登录哪版出哪版,两版都登录就两组都在。
大部分模型支持在对话里直接粘贴或拖入图片;少数纯文字模型(如 GLM-5.1、GLM-5.2)会明确提示不支持。
上游声明的档位直接显示(例如 GLM-5.3、GLM-5.3-Flash 可选 low / high / max);未声明的可在模型选择器里手动检测——检测会发少量请求,可能消耗积分。
选中 WorkBuddy 模型时,输入框底部在模型选择器旁显示当前账号剩余积分(如 WB.3,401(积分))。积分不自动轮询,可点积分前的 ↻ 手动刷新。
「插件」面板里每版一张卡片:账号、令牌有效期、剩余积分、模型目录来源、档位检测;「上下文窗口」标签里可按账号保存模型显隐。
前置条件只有一个:本机已安装并登录 WorkBuddy(国内版) 或 WorkBuddy AI(国际版) 桌面 App,插件直接复用它的登录状态。命令本身只有一行,难的是把版本对上。
| DSH 内核 | 推荐插件版 | 说明 |
|---|---|---|
| 0.2.1-rc.2 | 0.7.9 | npm 上的 latest;本页写作时本机就是这一档 |
| 0.2.1-rc.1 | 0.7.7 | 内核升级到 pi-ai 1.3.0,插件自带的也随之升级 |
| 0.2.0-rc.2 | 0.7.6 | 上一代内核线 |
| 0.2.0-rc.1 | 0.7.0 | 0.7.1 起不再支持 rc.1 |
| 0.1.5 – 0.1.7 | 0.6.5 | 旧内核最终版 |
# 装进当前 profile(示例:桌面版 + 内核 0.2.1-rc.2 → 插件 0.7.9) dsh plugin --profile desktop add dsh-workbuddy-connect@0.7.9 # 装完必须重启 DSH Desktop,插件在启动时挂载
desktop profile 由 App 管理,独立 CLI 的 --profile desktop 会被直接拒绝;各发行版规则不同,先用 App 自带的命令入口确认,不要盲改 App 管理的目录或绕过它自己的校验。桌面版看 App 内置核心:打开安装目录下的 resources/app/package.json,看它依赖的 @deepseek-ai/dsh 版本号。
用上表的对应关系固定版本安装;装完在 plugin list 里应能看到 dsh-workbuddy-connect@0.7.9。
重启后模型选择器出现「WorkBuddy」/「WorkBuddy AI」分组;从分组里选一个模型发一句话,能正常回复才算成功。
2026-10-20 在一台 Windows 机器上实测:DSH Desktop Beta 2.0.18-beta.1(内置内核 0.2.1-rc.2),安装 dsh-workbuddy-connect@0.7.9。装完重启后,国内版与国际版两组模型都是实时从上游拉取的(当时分别 21 个、28 个),说明两版 App 的登录态与凭据解密都正常。过程中踩到两个坑,记录在这里省别人的时间:
第一次安装以 ERR_PNPM_IGNORED_BUILDS(@google/genai、protobufjs)退出,pnpm 还会在 profile 的 pnpm-workspace.yaml 末尾自动写一段 allowBuilds 占位文本(「set this to true or false」)。把这两项明确写成 false(即不运行这两个安装脚本)再重跑,就正常退出。
DSH 的插件安装只在「这个依赖是本次运行新出现的」时才把它登记进 dsh.profile.bundles。第一次失败过之后再重跑,命令能成功退出但插件不会被挂载——先把 profile 的 package.json 里那一行依赖删掉,再装一次即可。
exec … status 在 desktop profile 上本来就不可用,它报的模块找不到不等于 App 内加载失败。插件走的是 DSH 的 provider 注册接口,本身不代理流量、不转存对话:模型请求仍然由 DSH 直接发往 WorkBuddy 的上游接口,插件负责「拿到凭据、拿到目录、把模型挂进选择器」这三件事。
读取 WorkBuddy 桌面 App 保存的登录凭据,并调用 App 自带的 Electron 运行时完成解密;账号切换自动跟随,退出某版则该版分组消失。
国内版走与官方 CLI 同款接口;国际版的目录来自 App 界面接口(服务端按 User-Agent 分流下发,属私有实现)。取不到时按「本账号上次成功目录 → 内置兜底」降级,并在卡片上标明来源。
包内声明 dsh.bundle.patch,把 provider 作为 profile 的一层挂进 DSH 组合树;客户端半边再在模型选择器里补上分组、倍率、积分与设置卡片。
它依赖 WorkBuddy 客户端自己的接口,不是对方开放的 API,这一条决定了它的稳定性边界,用之前请先看清楚。
| 项目 | 说明 |
|---|---|
| 接口性质 | 依赖 WorkBuddy 客户端接口(非官方开放 API),WorkBuddy 更新后插件可能需要随之调整;国际版模型目录更明确属于私有实现,上游一改就可能失效(失效时降级到已保存目录或内置目录,并在卡片上标注来源)。 |
| 环境差异 | 主要验证在 macOS;Windows 会依次探测 Local 与 Roaming AppData,WSL 会优先读取挂载的 Windows 用户目录。国际版在 Windows / WSL / Linux 下的 App 版本读取尚不可靠,会退回最近保存值或内置值。 |
| 无凭据时 | 某版 App 从未登录、也没留下插件自留副本时,该版模型分组不显示(不会再给一份「选了必然报错」的内置列表)。 |
| 企业账号 | 企业额度读取目前仅覆盖国内版;国际版企业账号仍按个人版接口读取。 |
| 合规与风险 | 项目定位为个人学习与研究,仅驱动使用者自己的账号在本机调用;请遵守 WorkBuddy 服务条款,账号受限、额度变化等后果由使用者自负。本项目与腾讯、WorkBuddy、DeepSeek 均无关联。 |