前言¶
在 DSHA 容器里,dsh-workbuddy-bridge 负责把 WorkBuddy 接进模型选择。安卓上没有 WorkBuddy 桌面版,也没有解密桌面凭据用的本地密钥,桥接插件会一直停在「未登录」;界面上的登录按钮指向的是桌面 App 能力,在手机上点了也走不通。
dsh-workbuddy-android(维护者 Liaoyun666)只做一件事:把已有登录态写到 $DSH_HOME/.workbuddy-auth.json(默认 /root/.dsh/.workbuddy-auth.json),格式与 dsh-workbuddy-bridge 的 parseOwnDocument 一致,桥接插件读这个文件即可工作。它不替代桥接插件,也不负责设备码登录。
这是什么¶
插件全名对应 GitHub 仓库 Liaoyun666/dsh-workbuddy-android,在 DSH 生态里归类为集成与安卓侧能力(目录页分类为 admin-security)。零运行时依赖,纯 JavaScript,不依赖 sharp、better-sqlite3 等无法在安卓 Linux arm64/glibc 容器里安装的原生模块。许可证 MIT,当前 package 版本 1.1.0,要求 Node >=20。
核心功能¶
两条路径,任选其一:
路一(推荐):手机已装 WorkBuddy App 并登录
通过 DSHA 设备 shell 读取 WorkBuddy App 的 MMKV 存储(纯 JS 解析),写出凭据文件,随后 dsh-workbuddy-bridge 可直接使用。
路二:只在电脑上登录过 WorkBuddy 桌面版
在电脑执行 export,得到一行 wb1. 开头的传输令牌;在手机上 import,同样落到 .workbuddy-auth.json。
边界说明(README 原文强调):
- 不做登录,只搬运已有登录态。
- 不在手机上解桌面
$wbEncrypted信封;桌面解密只在电脑 export 时完成。 - 不替代
dsh-workbuddy-bridge。 - 不联网拉额度、不改模型目录;除可选连通性验证外只碰凭据文件。
装上后还向 agent 暴露五个工具:workbuddy_status、workbuddy_capture_from_phone、workbuddy_probe、workbuddy_import、workbuddy_refresh(手动 refresh 在多数情况下不建议,避免与桥接插件轮换 refresh token 冲突)。
安装与启用¶
在 DSHA 终端执行官方安装命令:
dsha-plugin install Liaoyun666/dsh-workbuddy-android
安装后 CLI 入口为 workbuddy-android(对应 node tools/cli.js)。插件以当前 DSH 进程权限运行;安装前建议自行查看仓库源码与 MIT 许可证,确认符合你的安全策略。
典型用法¶
路一:手机上抓取(无需电脑)¶
前提:手机已安装 WorkBuddy App 且已登录;需要 root 或 Shizuku 已授权(走 /root/dsh-bin/adb-shell,未授权会返回 POLICY_BLOCKED,须先在「设备能力」页打开开关,重试无效)。
node tools/cli.js capture
流程概要:列出 MMKV 目录、复制最新三个文件到 Download/DSHA/、解析 token、写入 $DSH_HOME/.workbuddy-auth.json,并删除临时副本。可选 --dry-run 仅预览,--keep-copy 保留副本便于排查。
会话内也可调用工具 workbuddy_capture_from_phone,效果相同。
路二:电脑导出 → 手机导入¶
一、电脑上导出(须已登录 WorkBuddy 桌面版;导出前完全退出桌面版含托盘,否则单实例锁可能导致以 node 模式读密钥失败):
node tools/cli.js export
stdout 仅一行 wb1. 令牌,stderr 为人读信息,例如:
node tools/cli.js export | pbcopy # macOS
node tools/cli.js export > token.txt
node tools/cli.js export --out token.txt # 文件权限 0600
二、把令牌安全传到手机(令牌等同登录态,勿公开粘贴)。
三、手机上导入:
node tools/cli.js import --token 'wb1.……'
node tools/cli.js import --file token.txt
cat token.txt | node tools/cli.js import --stdin
写入路径默认 $DSH_HOME/.workbuddy-auth.json,文件 0600、父目录 0700,version 必须为 1。
四、确认:
node tools/cli.js status
node tools/cli.js status --json
node tools/cli.js verify --chat
status 退出码:0 可用(含 renewable)、1 不可用、2 用法错误。重启 DSHA 或重载会话后,模型选择中应出现 WorkBuddy。
status 五种状态及含义:missing 需电脑 export;unreadable 需删文件重新 import;expired 需回电脑重新登录并 export;renewable 表示 access 过期但 refresh 仍可续期(桥接会自动续,不必重做导出);ready 即可用。
清除本地登录态需显式确认:
node tools/cli.js forget --yes
适用场景与注意¶
适合谁
- 在 DSHA 安卓容器里要用 WorkBuddy 模型,但桥接插件一直未登录。
- 已在手机 WorkBuddy App 登录,希望容器内 agent 共用同一登录态。
- 只在 PC 桌面版 WorkBuddy 登录,希望把态迁到手机 DSHA。
注意
capture仅在手机上跑;export仅在电脑上跑,勿在同一台机器上混用方向。- 路一依赖设备 shell 策略:读私有 MMKV 需
cp到Download/DSHA/再用 Node 读文件,不能对二进制 MMKV 用cat经 shell 回传。 - 插件声明的网络域包括
https://copilot.tencent.com、https://www.codebuddy.cn、https://www.workbuddy.ai;verify --chat会消耗少量额度。 - DSH 社区插件目录(如 SkillHub 条目)独立于 DeepSeek / 幻方,并非官方应用商店。
结尾¶
dsh-workbuddy-android 补的是安卓上 WorkBuddy 凭据这一环:要么从本机 App MMKV 抓取,要么从桌面 export 的 wb1. 令牌 import,最终都让 dsh-workbuddy-bridge 读到规范的 .workbuddy-auth.json。
- 目录页:https://www.skillhub.cn/plugins/Liaoyun666/dsh-workbuddy-android
- 源码与完整说明:https://github.com/Liaoyun666/dsh-workbuddy-android