自动领取 WorkBuddy 每日签到积分(workbuddy-auto-signin)
workbuddy-auto-signin 是一个 Python 单文件脚本,读取本机 WorkBuddy 登录凭据,自动领取每日签到积分和成长中心的全套奖励,支持 Windows 与 macOS 的系统级静默定时。这篇文章讲清它覆盖哪些奖励、两种定时模式怎么选、哪些场景它做不到,以及多账号或容器化需求该换哪个方案。
WorkBuddy 把奖励拆成了很多次点击。签到一天只有一次机会,断一天连签就清零;Buddy 出去旅行 1 到 4 小时带着礼物回来,礼物得手动领;派出去的 Buddy 名额当天不用就浪费;任务奖、盲盒、连登兑换又各占一个入口。漏掉任何一项,当天就补不回来了。
workbuddy-auto-signin 是一个用 Python 写的单文件脚本,读取本机 WorkBuddy 登录凭据,每天自动完成签到与成长中心领奖,并输出一行 JSON 汇报结果。
脚本里不含任何内置密钥,只读运行者本机的凭据文件,所以定时任务必须跑在那台登录过的机器上。仓库 94.1% 是 Python,其余 5.9% 是 Windows 一键安装用的 PowerShell,许可证为 MIT,仓库地址 github.com/88lin/workbuddy-auto-signin。截至抓取时它有 1076 个 Star、99 个 Fork,开放 Issue 1 个。
它不做什么
仓库不含账号池,也没有内置任何密钥。脚本只读本机凭据文件,README 里明确写了「定时必须跑在本机」,所以它没法挂到服务器上替别人的账号签到。
Linux 上没有 WorkBuddy 桌面端,这条路的唯一入口是 CodeBuddy CLI。脚本靠自动探测它的凭据文件工作,前提是你在这台机器上登录过 CLI。
它用的不是官方开放接口。签到接口是从桌面端逆向来的,腾讯改一版客户端就可能失效,仓库也直白地提醒了这一点。
多账号支持仓库里没有说明,只覆盖单份登录态。
用之前先准备好什么
- WorkBuddy 桌面端已安装并登录过。登录后客户端会自动写出凭据文件,脚本靠它鉴权
- Linux 上改为登录过 CodeBuddy CLI,凭据在 XDG 数据目录里
- 本机有 Python 3,任意版本,不需要装任何第三方包
- 可选 git。没有 git 就去仓库页面走 Code → Download ZIP,解压后效果一样
主要功能
- 每日签到:先查状态,未签才领。重复运行不会多领,接口是幂等的。
- 成长中心全套:自动领旅行礼物、派 Buddy、领取新任务、领任务奖、断登自动补登、连登奖励兑换、开盲盒抽奖、用能量开 Buddy 盲盒。
- 轮询补签:定时方案带的第二个任务每 4 小时跑一次,先查签到状态、未签才补,再跑一遍成长中心。签到机会从一天 1 次变成一天 7 次,代价是已签状态下多一个查询请求。
- 两种定时模式:模式 A 走 WorkBuddy 自动化触发,跨平台,每次消耗一次模型调用;模式 B 走系统定时器(Windows 任务计划程序 / macOS launchd),零 Token、无窗口、不产生聊天记录。
- 跨平台凭据探测:自动找 Windows、macOS 的默认凭据文件,Linux 上按 XDG 规范探测 CodeBuddy CLI 的凭据路径。
- 加密凭据兼容:新版客户端把
accessToken/refreshToken存成{"$wbEncrypted": 1, "envelope": "..."}信封(AES-256-GCM),脚本能识别并解开。 - 一行 JSON 汇报:形如
成功领取 100 积分(连续 7 天,累计 700 积分),并带needs_attention标志供自动化判断是否需要提醒。 - Windows 一键安装脚本:
install-windows.ps1自动探测pythonw.exe和signin.py路径,建好两个计划任务。
安装与最短示例
先拿脚本,两个系统通用:
git clone https://github.com/88lin/workbuddy-auto-signin.git
cd workbuddy-auto-signin
Windows 上一条命令装完(在仓库目录下运行):
powershell -ExecutionPolicy Bypass -File .\install-windows.ps1
它会建两个任务:WorkBuddyAutoSignin 每天 00:05 跑签到加成长中心,WorkBuddyGrowthPoll 每 4 小时跑补签加成长中心。装完终端会打印结果和下次运行时间。
macOS 走 launchd,模板文件是 workbuddy-auto-signin.plist.example,需要先改掉里面的绝对路径再安装。
想先手动验证一次,直接跑:
python3 signin.py auto
Windows 上的 Python 命令名通常是 python,macOS 和 Linux 通常是 python3。拿不准就各跑一次 python3 --version、python --version,哪个有输出用哪个。
不想自己动手,也可以把仓库链接直接丢给 WorkBuddy,让它帮你 clone、建自动化、填好绝对路径和 Python 命令名。仓库 README 里给了这条一次性设置指令的写法。
关键参数
- 位置参数
auto:签到加成长中心,结果打到标准输出,适合模式 A 和手动跑。 - 位置参数
silent:结果写日志文件而不是标准输出,配合pythonw.exe实现完全静默。 - 位置参数
silent-poll:轮询任务用,先查签到状态、未签才补,再跑成长中心。 - 环境变量
WORKBUDDY_AUTH_FILE:手动指定凭据文件的完整路径。v1.6.1 之后 Linux 上的 CodeBuddy CLI 凭据能自动探测,一般不用手动设。 - 环境变量
WORKBUDDY_SIGNIN_LOG:覆盖日志文件的写入路径。 install-windows.ps1顶部的$ManualPythonw:探测不到 Python 时,在这里填pythonw.exe的完整路径;$ManualSignin同理,一般不用动。
结果在哪里看
Windows 的静默模式把每行一条 JSON 写进仓库目录下的 signin.log,用记事本打开或跑:
Get-Content signin.log -Tail 5
macOS 走 launchd 的输出落在 /tmp/*.out。模式 A 的结果直接出现在 WorkBuddy 的聊天记录里,每次运行一条。
JSON 里的 result 说明本次是领取成功、已签过还是失败,report 是可以直接读给人听的结论文本,needs_attention 为 true 或退出码非 0 时说明需要人工介入。
实际使用中的坑
新版客户端把凭据字段就地替换成 {"$wbEncrypted": 1, "envelope": "..."} 信封结构后,旧脚本读到的是一个对象而不是字符串,拼进 Authorization 头会持续返回 401,还会被误报成「登录过期」,反复重新登录也没用。这条已在 v1.7.0 修复,支持解开这种凭据。
连登兑换曾经每轮都报 连登兑换「进阶」失败:invalid request,签到天数其实早就够了。根因是 /redeem 的 tier 参数口径错误,实测要传档位标识 7d / 14d / 28d,不是数字 14。v1.6.2 已修复,同时把实发字段改成了 credit_granted、energy_granted、cards_granted、chances_granted。
Linux 上 CodeBuddy CLI 的凭据文件名与桌面端不同,放在 XDG 数据目录里,早期版本探测不到,必须手动设置 WORKBUDDY_AUTH_FILE 才能跑通。v1.6.1 已补上自动探测。
同一设备、同一手机号同时使用企业版与个人版时,两种身份共用一份本地凭据、签到积分按 uid 记。只要当前处于企业版登录态,自动签到会全程失败,而且 code=10001 会被误判为「已签」,日志上看不出任何异常。这条 Issue 目前仍是待解决状态。
横向对照
| 项目 | 适合谁 | 部署方式 | 主要限制 | 什么情况下选它更合适 | 项目地址 |
|---|---|---|---|---|---|
| 88lin/workbuddy-auto-signin | Windows 或 macOS 本机常开、只有一个 WorkBuddy 账号、不想额外搭环境的用户 | 单个 Python 文件;Windows 一条 PowerShell 命令装完,macOS 改 launchd 模板 | 必须跑在登录过 WorkBuddy 的那台机器上,没有账号池,多账号不适用;接口来自逆向,客户端改版可能失效 | 主力机就长期开着、想要零 Token 静默运行,还要顺带把成长中心礼物、连登兑换、补签一起处理 | 88lin/workbuddy-auto-signin |
| 88lin/agentrouter-auto-signin | 手上有多个 AgentRouter 账号、要按账号分别领取每日签到额度的人 | 纯 Python 本地静默运行,Win / macOS / Linux 定时任务 | 目标是 AgentRouter 平台,领的是模型 API 额度,不涉及 WorkBuddy 的积分与成长中心奖励 | 领取目标本来就在 AgentRouter,或者需要多账号批量跑 | 88lin/agentrouter-auto-signin |
| xmgzxmgz/workbuddy-checkin-qinglong | 已经在跑青龙面板、想在容器里统一管多个 WorkBuddy 账号的人 | 青龙面板 + cron 定时 | 需要自备青龙面板环境;功能是签到加宠物自动探险领积分,是否覆盖连登兑换、盲盒等成长中心全部项目未逐一核实 | 已经有一套青龙面板在跑,或者要同时挂多个账号 | xmgzxmgz/workbuddy-checkin-qinglong |
workbuddy-auto-signin 和上面两个属于同类项目,都在做自动签到这件事,差别在承载方式。它只有一份本机登录态,主用机不常开、或者要挂多个账号,这个方案就不合适了——那种场景该去用青龙面板版的 workbuddy-checkin-qinglong,容器里能跑多份凭据。目标平台如果不是 WorkBuddy,agentrouter-auto-signin 更对口。
适合谁
适合主力机长期开着、只用一个 WorkBuddy 账号、并且已经在桌面端登录过的人。Windows 用户最省事,一条命令装完两个计划任务,之后不用再管。macOS 用户要多改一次 plist 模板里的绝对路径。
手里有多个账号、要放到服务器或容器里跑的,这个脚本不是合适的选择。Linux 纯命令行环境如果没装过 CodeBuddy CLI,也没有凭据可读,同样跑不起来。不介意每次消耗一次模型调用、只是想跨平台省事的,模式 A 可以凑合;但对零 Token 和无聊天记录有要求的,得走模式 B。
焚评:这个项目的量化评分
本项目的选题来自 焚.com(一个按公开公式给 GitHub 项目打分的站)。焚评当前总分 9.2 分(满分 10)。下表是各维度的得分:
| 评分维度 | 得分 |
|---|---|
| 热度动量(权重 25%) | 10.0 / 10 |
| 开发活跃(权重 25%) | 7.1 / 10 |
| 社区响应(权重 15%) | 10.0 / 10 |
| 文档质量(权重 15%) | 10.0 / 10 |
| 发布节奏(权重 10%) | 9.6 / 10 |
| 风险控制(权重 10%) | 10.0 / 10 |
评分口径、权重与计算方式见焚.com 的评分方法页;数据随 GitHub 指标刷新,具体数值以焚.com 当前页面为准。本文正文为诀.com 独立撰写,评分数据由焚.com 授权引用。
内容核验说明
这个脚本只读本机凭据,必须跑在登录过 WorkBuddy 的那台机器上,签到接口来自逆向,客户端改版就可能失效。文章把这些限制放在功能前面,也讲清多账号、服务器、容器场景都不适用,并直接指向替代项目。适合主力机常开、只有一个账号的人先判断要不要装。Star 数、焚评评分等数据引自公开页面,未经本站验证。
Star、Fork、开放 Issue 数与焚评评分均引自 GitHub 及焚.com 公开页面,诀.com 未独立验证;接口行为、版本修复情况来自仓库 README 与 Issue 描述,未做实测,客户端改版后是否仍有效需自行确认。用户反馈摘要
根据仓库 Issue 来看,反馈集中在凭据格式变化:桌面端升级后 accessToken 变为 $wbEncrypted 信封结构,脚本持续返回 401 与 NO_SESSION,相关报告已标记为已解决。连登兑换 tier 需传 7d/14d/28d、Linux 下 CodeBuddy CLI 凭据路径,也已有对应 Issue。仍未解决的一条是同一设备企业版登录态下签到恒被拒,且 code=10001 被误判成已签,日志上看不出异常。另有希望提供 Releases 便于订阅更新、以及增加自动任务与多号池适配的建议。
基于该仓库公开 Issue 整理,只反映提交者报告的现象与诉求,不代表诀.com 立场,也不代表问题已被确认。项目来源与说明
开源项目:88lin(88lin)
本文由诀.com 编辑基于该项目的公开信息独立撰写,属原创解读,不是对项目文档的翻译或转载;文中提到的功能与参数以官方仓库为准,代码与文档版权归原作者所有。
查看项目仓库