Skip to content

Repository files navigation

WorkDaddy

语言: 简体中文 · English

WorkDaddy 是 WorkBuddy 桌面端增强助手:多账号独立备份、点切即用;免打扰模式让 AI 无人值守跑长任务;跨账号会话迁移、异常中断自动续接;自动化任务按事件或定时执行;暂存/快捷提示词;毛玻璃主题与更多实用功能,账号与配置全部留在本机。 本机回环 CDP 注入 · 不改官方安装包。

一个基于 Chrome DevTools Protocol (CDP) 的 WorkBuddy、WorkBuddy AI 桌面端增强工具。 零侵入、零重签名——只把界面组件注入到正在运行的 WorkBuddy 渲染进程里。

License Platform Node


它能做什么

  • 方便切换账号:每个 WorkBuddy 账号独立备份,点一下就切,再也不用每次扫码。
  • 无感登录新账号:「登录新账号」支持免退出 OAuth 授权——不退出 WorkBuddy,在浏览器完成扫码后新账号自动加入列表;也可选传统的「假退出」方式回登录页扫码。
  • 账号导入导出:把全部账号备份加密导出,在另一台电脑安装 WorkDaddy 后一键导入,方便电脑之间迁移账号。
  • 成长计划与活跃状态:国内版账号页查询成长任务进度、当日签到和活跃状态、连续活跃天数,以及 Buddy 解锁和旅行状态。
  • Token 和积分用量统计页面:按天查看 Token 与积分消耗,支持按账号筛选,并显示模型和账号用量排行。
  • 积分不足时的账号切换建议:当前账号积分不足时提示可用账号,方便继续工作。
  • 模型频率限制与预计解封时间:检测到模型限流后,在账号页展示受限模型及预计解封时间。
  • 自动化任务:从 GitHub / Gitee 公开仓库发现并导入任务,或用自然语言让 WorkBuddy 创建任务;支持编辑、手动、事件和定时触发,以及运行日志、停止任务和 JSON / ZIP 导出。
  • 权限弹窗免打扰:真正的零决策弹窗弹出,可以放心开启任务后睡觉。
  • 暂存提示词:输入框边上一键把草稿「暂存」到待发送队列——图片 / 文件 / 引用原样保留,择机发送。
  • 切换精美主题:内置毛玻璃官方主题,多套预设壁纸,支持自定义壁纸。
  • 账号间会话迁移:自动或手动跨账号复制会话,跨账号继续接龙。
  • 会话分支:在「增强」页开启后,任意一条回复都能从此处开始新会话——复制到该条回复为止的聊天内容,原会话保持不变,可在当前工作区继续聊。
  • 模型切换更便捷:解决 WorkBuddy 不支持添加多个同名模型的问题。
  • 防止电脑休眠:睡前任务未完成,开启休眠模式,任务结束后自动切换成允许休眠。
  • 异常中断会话自动继续:AI 回复因网络波动、超时等原因中断时,自动让异常中断任务继续执行。
  • 快捷短语:常用语存进面板,输入框操作栏一键点发;

演示

用量统计图

界面预览图 界面预览图 界面预览图


安装

  • 国内版 WorkBuddy 请下载 WorkDaddy 安装包
  • 国际版 WorkBuddy AI 请下载 WorkDaddy AI 安装包

macOS

  1. 在 Releases 下载最新 WorkDaddy-x.y.z.dmg

  2. 打开 dmg,把 WorkDaddy.app 拖进 应用程序 文件夹

  3. 第一次打开如果遇到「无法打开,因为 Apple 无法检查恶意软件」:

    1. 打开「系统设置 → 隐私与安全性」
    2. 在「WorkDaddy 已被阻止」处点 仍要打开
    3. 输入开机密码确认 安装引导
  4. 双击 WorkDaddy.app 启动:它会自带守护进程并把组件注入到 WorkBuddy

  5. 看到机器人按钮?搞定。

企业专享版 / VPC 客户端

macOS 会自动扫描带 WorkBuddy 前缀且包含 Contents/MacOS/Electron 的客户端(例如 WorkBuddy企业定制版.app),并按 WorkDaddy/WorkDaddy AI profile 排除另一端。发现多个候选时会弹出系统选择窗口,选中后自动记住,不需要手动寻找配置文件。完全自定义名称也可以在源码目录执行下面的高级配置命令:

node scripts/workbuddy-target.js --configure --platform darwin \
  --profile workbuddy-cn \
  --binary "/Applications/企业客户端.app/Contents/MacOS/Electron" \
  --data-dir "$HOME/Library/Application Support/WorkDaddy"

Windows

  1. 在 Releases 下载对应客户端的 WorkDaddy-Setup-x.y.z.exe 或 WorkDaddy-AI-Setup-x.y.z.exe
  2. 双击安装器完成安装
  3. 双击打开 WorkDaddy 或 WorkDaddy AI 桌面快捷方式

Windows 便携版 ZIP

不想安装时,可以使用对应的 WorkDaddy-Portable-x.y.z.zip 或 WorkDaddy-AI-Portable-x.y.z.zip:

  1. 先安装并登录对应的 WorkBuddy 客户端。
  2. 将 ZIP 解压到一个有写入权限的目录,不要直接在压缩包内运行。
  3. 双击解压目录顶层的 Start-WorkDaddy.cmd;也可以直接运行 WorkDaddyLauncher.exe。
  4. 需要停止后台服务时,运行同目录的 Stop-WorkDaddy.cmd。

便携包不会创建桌面快捷方式或卸载项;账号备份和运行数据仍保存在当前用户的 %APPDATA%\WorkDaddy,不会随 ZIP 搬走。同一客户端 profile 不能同时运行安装版与便携版,也不能同时运行两份便携版。便携版不使用面板中的自动更新,升级时先运行 Stop-WorkDaddy.cmd,确认旧进程停止后再解压新版 ZIP。需要常驻安装和桌面快捷方式时,请下载对应的 Setup.exe。

企业专享版 / VPC 客户端

企业专享版用户仍安装与界面最接近的 WorkDaddy 或 WorkDaddy AI。安装程序会先自动识别对应的官方客户端,并在安装向导中显示路径和版本;企业版用户点击「浏览」改选自己的 .exe 主程序即可,不需要修改配置文件或设置系统环境变量。

选择结果保存在 WorkDaddy 的个人数据目录中。更新安装默认保留上次选择,也可以在安装向导中修改;需要改回官方客户端时,重新运行安装程序并选择自动识别出的官方 .exe。WorkDaddy 会锁定所选客户端版本,客户端升级或移动后同样通过安装程序重新确认。

Linux

Linux 发布包面向 Ubuntu / Debian amd64 和 arm64。安装前请先安装并登录同架构的 WorkBuddy 客户端;WorkDaddy 通过 CDP 连接客户端,不会替换或修改 WorkBuddy 本体。

  1. 在 Releases 下载对应客户端和机器架构的安装包:国内版是 WorkDaddy_x.y.z_<arch>.deb,国际版是 WorkDaddy-AI_x.y.z_<arch>.deb,其中 <arch> 为 amd64 或 arm64。

  2. 在下载目录执行:

    sudo apt install ./WorkDaddy_x.y.z_<arch>.deb

    如果安装 WorkBuddy AI 国际版,请改用:

    sudo apt install ./WorkDaddy-AI_x.y.z_<arch>.deb
  3. 从应用菜单启动 WorkDaddy(国内版)或 WorkDaddy AI(国际版)。首次启动会准备本地数据目录并启动后台服务;随后按提示重启 WorkBuddy 以开启 CDP 面板。

国内版安装到 /opt/workdaddy,国际版安装到 /opt/workdaddy-ai。两个包可以同时安装,互不覆盖;都不默认设置开机自启。需要手动启动选择器时,可运行:

bash /opt/workdaddy/scripts/launch-gui-linux.sh

国际版对应路径为:

bash /opt/workdaddy-ai/scripts/launch-gui-linux.sh ai

如果系统没有应用菜单,也可以直接运行 cn、ai、both 或 services 参数选择启动方式:

bash /opt/workdaddy/scripts/launch-gui-linux.sh cn

需要开机自动启动后台服务时,再按 profile 启用可选的 systemd 用户服务:

WBSWITCH_PROFILE=workbuddy-cn bash /opt/workdaddy/scripts/systemd-install-linux.sh
WBSWITCH_PROFILE=workbuddy-ai bash /opt/workdaddy/scripts/systemd-install-linux.sh

卸载 Debian 包:

sudo apt remove workdaddy

卸载国际版:

sudo apt remove workdaddy-ai

卸载软件包不会删除账号备份和运行数据;如需清理数据,请先确认对应的 ~/.config/WorkDaddy 内容后再手动处理。

从源码安装 Linux 版本

在 Linux 主机上执行:

git clone https://github.com/babygoton/WorkDaddy.git
cd WorkDaddy
bash scripts/install-linux.sh
bash scripts/relaunch-with-cdp-linux.sh

国际版 WorkBuddy AI 使用隔离环境时执行:

WBSWITCH_PROFILE=workbuddy-ai bash scripts/workbuddy-ai-linux.sh install
bash scripts/workbuddy-ai-linux.sh relaunch

需要指定 WorkBuddy 可执行文件时,追加 WBSWITCH_WORKBUDDY_BIN=/path/to/workbuddy;安装脚本会创建备份目录、记录客户端路径并启动本地守护进程。

从源码运行(开发者)

git clone https://github.com/babygoton/WorkDaddy.git
cd WorkDaddy
bash scripts/install.sh        # 创建备份目录 + 启动守护进程
bash scripts/relaunch-with-cdp.sh   # 把 WorkBuddy 切换到调试模式(端口 9222)

WorkBuddy 国内版和 WorkBuddy AI 使用同一套 daemon,通过 profile 绑定客户端,不靠“第一个 CDP 端口”猜测目标:

WBSWITCH_PROFILE=workbuddy-cn bash scripts/relaunch-with-cdp.sh
WBSWITCH_PROFILE=workbuddy-ai bash scripts/relaunch-with-cdp.sh

暂存提示词和主题功能在两个 WorkBuddy profile 开启。CodeBuddy profile 的适配暂缓,不进入当前发布包。

当前发布脚本打包两个 WorkBuddy 客户端:Windows 每个客户端发布 Setup.exe 与便携版 ZIP 两个包:WorkDaddy-Setup-<version>.exe / WorkDaddy-Portable-<version>.zip、WorkDaddy-AI-Setup-<version>.exe / WorkDaddy-AI-Portable-<version>.zip;macOS 发布两个 DMG;Linux 为 amd64 和 arm64 分别发布 WorkDaddy_<version>_<arch>.deb 和 WorkDaddy-AI_<version>_<arch>.deb。macOS 构建时传 WORKDADDY_BUILD_PROFILE=workbuddy-cn 或 workbuddy-ai 可单独重打一个客户端;Linux 构建时传 WORKDADDY_BUILD_ARCH=amd64 或 arm64。Windows 便携版 ZIP 与 Setup.exe 同源生成,顶层只有启动和停止入口。

install.sh 做了:

  • 创建 ~/Library/Application Support/WorkDaddy 备份目录
  • 首次启动自动兼容迁移旧版 ~/Library/Application Support/HelloBuddy/accounts 账号备份(旧目录保留不删除)
  • 首次备份当前 WorkBuddy 账号
  • 清理旧 launchd 注册并手动启动守护进程(不再登录自启)
  • 立即启动后台守护进程
  • 打开管理界面 http://127.0.0.1:47832

守护进程会在安装结束时手动启动;需要使用时手动启动对应的 WorkDaddy 端即可。


原理

CDP 注入 · 不改官方安装包

┌─────────────┐  --remote-debugging-port=9222  ┌──────────────┐
│  WorkBuddy  │ <───────────────────────────> │  WorkDaddy   │
│  (Electron) │       Chrome DevTools          │   daemon.js  │
│             │        Protocol (CDP)          │              │
│  渲染进程    │  ←── Runtime.evaluate ────     │  HTTP :47832 │
│  右下角     │      注入 inject.js            │  本地 API    │
└─────────────┘                                └──────────────┘
  1. 不修改 WorkBuddy 二进制:用 launcher 启动 WorkBuddy 时多带一个 --remote-debugging-port=9222 参数,二进制与签名原封不动。
  2. 守护进程通过 CDP 连接 WorkBuddy:监听登录/认证网络事件 + 文件监听兜底,每次登录/刷新令牌都把当前登录信息按 account.uid 备份到稳定目录。
  3. 注入界面组件:Runtime.evaluate 把 inject.js 推到渲染进程执行,在右下角渲染机器人按钮和多标签页面板(账号 / 主题 / 会话 / 模型 / 增强 / 自动化 / 电脑 / 关于 / 设置)。
  4. 本地 HTTP API:daemon 在 127.0.0.1:47832 起服务,组件通过 fetch 调用(账号切换、主题应用、成长进度查询、决策弹窗开关、休眠控制等)。
  5. 数据边界清晰:账号备份和本地配置保存在本机;按功能访问 WorkBuddy 官方 API(登录、积分)和 GitHub Releases(更新检查),显式执行模型连通测试时会向你配置的模型服务发送请求及对应 API Key;脱敏错误诊断默认开启,可在「关于」页关闭。

为什么用 CDP 而不是官方插件机制:直接面向运行中的应用实例,事件级感知登录变化, 主动注入界面与样式补丁,官方升级 WorkBuddy 后只要界面没大改就照常工作。


使用

面板

WorkBuddy 右下角的机器人按钮 → 弹出面板 → 选你要的操作:

Tab 能做什么
账号 查看账号数、积分、模型频率限制与预计解封时间、当日签到状态、连续活跃天数、成长任务进度及 Buddy 旅行状态;切换、删除或登录新账号,并加密导入导出账号备份
主题 切换默认 / WorkDaddy 主题,选择或上传壁纸、更换头像,调整毛玻璃和背景蒙版
会话 按账号和时间筛选会话,批量复制或删除,并设置会话 / 工作空间在切换账号时自动复制
模型 管理当前模型和备选模型,支持备份、复制、编辑、启用、连通测试及批量删除
增强 配置权限免打扰、异常中断自动续接、会话分支、暂存提示词和快捷短语
自动化 从 GitHub / Gitee 发现并导入任务、让 WorkBuddy 创建任务,管理触发方式与运行日志,以及 JSON / ZIP 导出
电脑 允许或持续禁止休眠,也可在所有 AI 任务结束后自动恢复休眠
关于 查看版本和项目说明、检查并安装更新、控制脱敏错误诊断
设置 选择中文或英语;首次打开按系统语言匹配,未匹配时使用英语

输入框插件:在「增强」页分别开启「暂存提示词」和「快捷短语」后,输入框操作栏会显示对应按钮。 暂存提示词可把当前草稿(文字、图片、文件、引用等完整原样)加入 WorkBuddy 自带的待发送队列,并暂停自动发送; 入队后输入框自动清空,内容按会话独立保存,可随时发送、编辑或删除。快捷短语可在增强页新增、编辑和批量管理,并从输入框操作栏一键发送,发送后不会自动删除。

自动化

把重复操作保存成任务,例如查询账号积分、按条件显示提醒,或在指定会话发送消息并等待回复。

  1. 打开「自动化」页,通过「发现任务」浏览公开仓库中的任务,或使用「让 WorkBuddy 帮我创建」描述需求。WorkBuddy 会在新会话中生成任务,完成后自动加入列表;「查看接口说明」提供当前支持的操作说明。
  2. 设置触发方式:手动运行,或在客户端加载、打开面板、页面就绪、账号切换等事件发生时执行;也支持按间隔、每日、每周、每月或指定时间调度。
  3. 在列表中启用、停用、编辑或复制任务。手动任务可立即运行,事件和定时任务按配置触发;执行过程中可停止,并通过「运行日志」查看结果和失败步骤。

任务导入导出:通过「发现任务」从 GitHub / Gitee 公开仓库导入,导入后保持停用,不覆盖相同 ID 的已有任务;不兼容任务会提示原因。通过批量操作选择任务导出,单个保存为 JSON,多个保存为 ZIP。

提交公开任务

「发现任务」收录 GitHub 和 Gitee 公开仓库中的任务,参考示例仓库 babygoton/workdaddy-official-plugin:

  1. 克隆示例仓库,删掉 tasks/ 目录里不需要的示例任务;
  2. 把自己的自动化任务 JSON 放进 tasks/ 目录(单个文件不超过 1 MiB,每个仓库最多收录 200 个);
  3. 提交改动并推送到 GitHub 或 Gitee;
  4. 在仓库描述(简介)里加入关键词 WorkDaddyAutomationRepository。

符合约定的仓库会在下一次刷新后出现在「发现任务」列表中(搜索结果有 10 分钟缓存)。导入只读取文件并做兼容性检查,不会执行任务;导入后保持停用,相同 ID 的已有任务不会被覆盖。

任务定义保存在本机,由 WorkDaddy 本地服务执行;定时和事件触发需要服务保持运行,涉及页面交互的步骤还需要对应 WorkBuddy 客户端可用。任务导出不包含账号备份或运行日志;自动化页不提供本地 JSON / ZIP 文件导入。

账号迁移到其他电脑

在账号页右上角使用「导出」和「导入」按钮即可迁移全部账号:

  1. 在旧电脑打开 WorkDaddy 账号页,点击「导出」,保存生成的 WorkDaddy-账号导出-YYYY-MM-DD.json 文件。
  2. 用安全方式把导出文件传到新电脑,并在新电脑安装、启动 WorkDaddy。
  3. 打开账号页点击「导入」,选择导出文件;导入完成后即可在账号列表中切换恢复的账号。

新版导出会使用你输入的密码、每次导出随机 salt 和 AES-256-GCM 加密;密码不会写入导出文件。文件中仍包含可恢复登录状态的 token,请像保护密码一样安全保存和传输,迁移完成后及时删除不再需要的副本。旧版 v1 导出仍可兼容导入。

安全与隐私

  • 本地数据优先:账号备份、主题和本地配置不会在后台上传;登录、积分等功能会访问 WorkBuddy 官方 API,自动更新会访问 GitHub Releases;显式执行模型连通测试时,会向你配置的第三方模型地址发送请求及对应 API Key。
  • 发送错误诊断默认开启:关于页的「发送错误诊断」开关同时控制 Sentry 远程错误诊断和本地脱敏渲染器日志,帮助定位版本和兼容性问题;处理内容经过脱敏、截断,远程上报不包含账号、会话内容、Token 或 API Key。随时可以在关于页关闭;WORKDADDY_TELEMETRY=0/1 可作为启动时的明确关闭/开启覆盖。

独立的 SECURITY.md 可补充完整威胁模型;未提供时,本节即为安全与隐私说明。


许可与声明

本项目采用 GNU Affero General Public License v3.0 开源(SPDX-License-Identifier: AGPL-3.0-or-later)。

  • 本项目仅面向本机运行的 WorkBuddy 桌面端做界面与体验增强,与 WorkBuddy 官方无隶属关系。
  • WorkBuddy、其商标、官方资源归其权利人所有;本项目未获得其官方授权或认可。
  • 第三方主题、壁纸、背景图等素材仅作演示,商用前请自行确认权利。

Star History Chart

社区支持

Linux.do

About

WorkBuddy 桌面端增强助手:签到猫猫旅行成长计划查询、多账号独立备份、点切即用;免打扰模式让 AI 无人值守跑长任务;跨账号会话迁移、异常中断自动续接;暂存/快捷提示词;毛玻璃主题与更多实用功能。

Topics

Resources

Stars

1.5k stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages