WorkDaddy README

The project's README from github.com/babygoton/WorkDaddy. As one markdown file: README.md.

WorkDaddy

语言: 简体中文 · English

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

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

License Platform Node


演示

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


它能做什么


安装

  • 国内版 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 桌面快捷方式

企业专享版 / VPC 客户端

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

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

从源码运行(开发者)

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 客户端,共 4 个包:WorkDaddy-<version>.dmg、WorkDaddy-AI-<version>.dmg、WorkDaddy-Setup-<version>.exe、WorkDaddy-AI-Setup-<version>.exe。macOS 构建时传 WORKDADDY_BUILD_PROFILE=workbuddy-cn 或 workbuddy-ai 可单独重打一个客户端。Windows ZIP 仅作安装器构建的临时输入,不作为发布包。

install.sh 做了:

守护进程会在安装结束时手动启动;需要使用时手动启动对应的 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 能做什么
账号 查看账号数、积分、签到和登录状态;切换、删除或登录新账号,并加密导入导出账号备份
主题 切换默认 / WorkDaddy 主题,选择或上传壁纸、更换头像,调整毛玻璃和背景蒙版
会话 按账号和时间筛选会话,批量复制或删除,并设置会话 / 工作空间在切换账号时自动复制
模型 管理当前模型和备选模型,支持备份、复制、编辑、启用、连通测试及批量删除
增强 配置权限免打扰、异常中断自动续接、暂存提示词和快捷短语
自动化 创建和管理任务,配置事件或定时触发,查看运行日志,停止运行中的任务,以及 JSON / ZIP 导入导出
电脑 允许或持续禁止休眠,也可在所有 AI 任务结束后自动恢复休眠
关于 查看版本和项目说明、检查并安装更新、控制脱敏错误诊断
设置 选择中文或英语;首次打开按系统语言匹配,未匹配时使用英语

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

自动化

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

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

任务导入导出:点击「导入」选择 JSON 或 ZIP,预览后勾选需要的任务。导入后保持停用,不覆盖相同 ID 的已有任务;不兼容任务会提示原因。通过批量操作选择任务导出,单个保存为 JSON,多个保存为 ZIP,方便备份和分享。

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

账号迁移到其他电脑

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

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

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

安全与隐私

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


许可与声明

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


社区支持

Linux.do

WorkDaddy (babygoton/WorkDaddy)

Searching Database…

What is this?WorkDaddy is a desktop enhancement tool for the WorkBuddy and WorkBuddy AI (CodeBuddy's desktop client) apps, injecting extra UI panels and automation features into the running app via Chrome DevTools Protocol, without modifying the official installer.
Does this replace WorkBuddy, or does it inject into the existing app?It doesn't replace or repackage WorkBuddy. A local daemon launches WorkBuddy with a remote-debugging flag and injects a UI script directly into the running renderer process, leaving the official binary and signature untouched.
Do I need WorkBuddy already installed?Yes, WorkDaddy only enhances an existing WorkBuddy or WorkBuddy AI desktop client and has no function on its own; it auto-detects which client is installed, including enterprise-branded builds.
Does it support CodeBuddy's own desktop client too?Not yet. CodeBuddy profile support is paused and not included in the current release; only the two WorkBuddy clients (domestic CN and international AI) are packaged.
What can the automation tasks do?You can let WorkBuddy generate a task from natural language or write the JSON steps yourself. Tasks run manually, on events (client load, account switch, etc.) or on schedules, with run logs, a stop control, and JSON/ZIP import-export.
How do I move my accounts to a new computer?Export all accounts as an AES-256-GCM encrypted JSON file from the Accounts tab with a password you choose, transfer that file to the new machine, then import it after installing WorkDaddy there.
Why use CDP injection instead of an official plugin system?CDP lets WorkDaddy react directly to the running app instance and detect login events live, so its UI patches keep working after WorkBuddy updates as long as the interface doesn't change drastically.
What happens if the AI's reply gets cut off mid-task?WorkDaddy detects sessions interrupted by network glitches or timeouts and automatically resumes them, so unattended long-running automation tasks don't silently stall.
Creator
babygoton
Size
699.1 MB
Stars
2K
Age
1mo
Commits · 90 Days