dsh-workbuddy-android:把 WorkBuddy 登录态搬进 DSHA 安卓端

前言

在 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
羽毛球分组比赛记分
小程序二维码

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

Xiaoye