把 WorkBuddy 国内版和国际版的免费/付费模型接进 DSH,无需 WorkBuddy 桌面版;以 @bushizhanghan/dsh-workmate 发布,支持 dsh 0.2.0-rc.2 至 0.2.1(含预发布版本)。
安装
# npm 包(预构建)
dsh plugin --profile web add @bushizhanghan/dsh-workmate
# Release 预构建包
dsh plugin --profile web add "https://github.com/bushizhanghan/dsh-workbuddy/releases/latest/download/dsh-workmate.tgz"
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:bushizhanghan/dsh-workbuddy
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
这是
Faide-cyber/dsh-workbuddy的兼容分支(fork),由 @bushizhanghan 维护。 包名改为@bushizhanghan/dsh-workmate,与上游的代码差别只有两处,见与上游的差异:宿主版本区间放宽到0.2.0-rc.2 ~ 0.2.1,以及在请求体里改写客户端名。 代码与许可沿用上游(MIT,© Faide-cyber)。上游合并后可切回官方包。
- 登录:按区域使用浏览器 OAuth,免桌面端登录;已装桌面 App 的凭据也可只读导入
- 账号:区域隔离的多账号列表、显式切换、余额显示与预警;提供账号备注功能;插件副本与桌面 auth 文件分离
- 一键签到:每日签到、猫猫旅行、成长中心全部任务(签到 / 猫猫旅行)一键收取;提供自动签到,默认关闭
- 设备隔离:各自的凭据、模型目录、余额相互隔离;切换账号不影响在途请求
- 开箱即用:安装并启用插件后,在 DSH 中直接使用,无需额外配置;现已支持 0.2.0-rc.2 桌面端
与上游的差异
相对上游 1.0.12(提交 9951d25)只有两处改动,完整 diff 见 patches/:
| # | 改动 | 为什么 |
|---|---|---|
| 1 | peerDependencies 里 7 个 @deepseek-ai/dsh-* 从精确的 0.2.0-rc.2 改为 >=0.2.0-rc.2 <0.2.1 || >=0.2.1-0 <0.3.0-0 |
dsh 在加载插件前会逐条比对 @deepseek-ai/dsh* peer 是否满足当前运行时。精确钉死会让 0.2.1-rc.2 上全项不满足,插件被拒载,报「要求宿主 0.2.0-rc.2,当前运行 0.2.1-rc.2」;而单段的 >=0.2.0-rc.2 <0.3.0-0 按标准 semver 又漏掉 0.2.1-rc.2 这类预发布版本,装的时候会 ERESOLVE |
| 2 | 聊天请求体里把 DeepSeek Harness 统一改写为 DeepSeek-Harness |
上游按客户端名校验,宿主默认名带空格会被判成未知客户端 |
装这个分支不需要再改宿主版本,也不需要写 compatibility.json 的 exact-version 豁免——版本区间本身就覆盖 0.2.1。
上界 <0.3.0-0 是刻意留的红线:0.3 若改了插件接口,这个包不该假装还能用。到时要么跟上游,要么重新跑一遍兼容测试。
快速开始
- Node 22+,已安装 DSH。
- 安装插件并启动:
dsh plugin --profile web add @bushizhanghan/dsh-workmate
dsh web
- 打开 设置 → 插件 → DSH WorkBuddy,点 连接,在弹出的 WorkBuddy 网站里登录。
- 模型选择器里选一个 WorkBuddy 模型 —— 默认「仅免费模型」范围下,列表就是该区域目录当前标的
x0.00的那些。
也可以在终端登录:
dsh plugin --profile web exec dsh-workmate login
安装、更新或登录后必须重启 dsh web。刷新浏览器不够,Node 模块常驻内存。
默认模型可以写在 ~/.dsh/settings.yaml:
agent-default-model:
provider: workbuddy-ai
model: hy3
reasoningEffort: high
请填该区域当前确实列出的 id:模型列表就是该区域实时目录返回的内容,写死的默认模型可能过时。hy3 在撰写时两区都免费。
登录怎么工作
每个区域独立走官方 CLI 登录接口:
POST /v2/plugin/auth/state?platform=CLI&nonce=(国际www.workbuddy.ai,国内copilot.tencent.com)- 打开返回的
authUrl - 轮询
GET /v2/plugin/auth/token?state=(还在等时上游返回11217) - Token 写入区域专属的插件副本:国际
$DSH_HOME/.workbuddy-ai-auth.json,国内$DSH_HOME/.workbuddy-cn-auth.json
桌面 App 的 workbuddy-desktop-ai.info(国际)与 workbuddy-desktop.info(国内)只读、不写;插件只保存自己通过 OAuth 获得的区域凭据副本。
设置卡片会显示所有已导入账号。切换只影响后续请求,在途请求继续使用原账号;批量余额/签到不会改变当前选择。
断开 / logout 只删对应区域插件自己的凭据,不影响桌面 App。
配置
设置 → 插件 → DSH WorkBuddy:
- 连接 / 断开:按区域浏览器登录,或删掉该区域插件凭据
- 国内/国际账号列表、显式切换、剩余积分和连通性测试
- 国内勾选账号、自动签到(默认关闭)
- 当前账号默认每 15 分钟、其他账号默认每 60 分钟只读刷新,可自定义
- 仅免费模型(默认)/ 全部模型
也可以在 profile 的 cordis.patch.yml 里写:
- id: llm-workbuddy
config:
modelScope: free # 国际版:或 all
cnModelScope: free # 国内版:或 all
probeConsent: false # 真实模型探测默认关闭
autoCheckin: false # 国内自动签到默认关闭
refreshActiveMinutes: 15
refreshInactiveMinutes: 60
# 局域网打开 DSH Web 时写访问用的 Host(不要写进 LOOPBACK)
# allowedHosts: ["192.168.1.10"]
# authFile / cnAuthFile: 一般不用;仅在桌面凭据不在默认位置时写绝对路径
环境变量:
| 变量 | 作用 |
|---|---|
DSH_WORKBUDDY_AUTH_FILE |
覆盖国际桌面凭据路径(OAuth 凭据仍写插件自己的文件) |
DSH_WORKBUDDY_CN_AUTH_FILE |
覆盖国内桌面凭据路径 |
命令行
dsh plugin --profile web exec dsh-workmate login
dsh plugin --profile web exec dsh-workmate status
dsh plugin --profile web exec dsh-workmate doctor
dsh plugin --profile web exec dsh-workmate logout
status / doctor 可加 --json。logout 只删 $DSH_HOME/.workbuddy-ai-auth.json。
故障排查
| 现象 | 处理 |
|---|---|
| 设置里没有这张卡片 / 模型列表没有 WorkBuddy | 重启 dsh web,不要只刷新浏览器 |
点连接后 dsh web 进程退出 |
无头 Linux 没有 xdg-open 时请更新到含 spawn error 处理的版本;用卡片上的登录链接 |
局域网 IP 打开卡片 403 request-not-trusted |
在 allowedHosts 里写该 IP/主机名,不要把它加进回环名单 |
| 登录成功但没有模型 | 该区域目录请求失败或返回为空——检查网络与 token 是否仍有效;此时列表保持为空,不会借用另一区域的模型 |
doctor 显示 signed-out |
先 login,或确认国际版桌面 App 已登录 |
| 想用付费模型 | 设置卡片把范围改成「全部模型」,注意会扣积分 |
dsh plugin --profile web exec dsh-workmate doctor
免责声明
仅供个人学习和研究,只驱动你自己的 WorkBuddy 账号在本机调用。请遵守 WorkBuddy 服务条款。本项目与腾讯、WorkBuddy、DeepSeek 均无关联。
许可证
链接
同类插件
Ebony-Vinyl/dsh-our-free-model★ 34394
为 dsh 接入免费模型车道(含 DeepSeek V4.1 Flash、Kimi K3 等),无需登录、注册或填写 API Key,并提供本地 OpenAI 兼容网关、降级路由与用量看板。
V1ki/dsh-plugin-subscriptions★ 491
把 ChatGPT(Codex)、Claude、Grok 订阅当作 DeepSeek Harness 的 LLM 提供方:设置页登录、模型目录、用量展示,以及 image_generate、video_generate 与 x_search 工具。
Mars-Sea/dsh-commandcode-provider★ 423
非官方 Command Code 模型接入插件:注册 `commandcode` 路由,带实时模型目录与推理强度支持。
dingminhua/dsh-connect-workbuddy★ 372
将本机登录的 WorkBuddy 模型接入 DSH,支持逐模型图片输入开关、账号切换,以及带每日签到的只读积分概览。
FishBottle7/opencode2dsh★ 319
将 OpenCode Zen 免费模型接入 DeepSeek Harness,无需 API Key。
cv-superding/dsh-deepseek-web-login★ 294
新增 deepseek-web provider,把 chat.deepseek.com 网页端模型接入 DSH:浏览器登录抓取、PoW 请求签名、SSE 流式传输与基于提示词的工具调用。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。