Buddy加油站·积分自动领
把 WorkBuddy 客户端左下角"Buddy加油站"的每日 100 积分变成全自动:每天 0 点后第一次联网立即领取,没领到 07:00 再领、20:00 兜底,点到即停。全程模拟真实鼠标点击,不调接口、不碰账号密码,零 AI 消耗。
适用环境:Windows 10/11 + WorkBuddy 桌面客户端 + Python 3.8+(仅标准库,无第三方依赖)。
触发场景
| 用户说法 | 动作 |
|---|---|
| "自动领积分 / 设置每天领积分 / 每日签到自动化" | 走【安装流程】 |
| "今天领了吗 / 积分领了没" | 走【状态查询】 |
| "不想要了 / 停掉 / 卸载" | 走【卸载流程】(必须先确认) |
| "领取时间改成 X 点" | 改 ~/.workbuddy/scripts/wb-points/config.json 的 batches 后重启守护 |
安装流程(首次使用)
严格按顺序执行,每步都看脚本的 --json 输出确认结果,再进下一步。脚本位于本 skill 的 scripts/ 目录。
> 安装前必须先告知用户:本工具会(a)在本机部署后台脚本,(b)写入开机自启项让它在每次开机后自动运行。取得用户同意后再执行第 1 步。
第 1 步:安装部署
python "<skill_dir>/scripts/setup.py" --json
setup 会:探测 pythonw → 部署脚本到 ~/.workbuddy/scripts/wb-points/ → 写注册表自启(HKCU Run / WBPointsAutoClaim)→ 桌面生成启动/停止入口 → 尽力拉起守护进程。
ok: false且找不到 Python → 指引用户安装 Python 3.8+ 后重试- 桌面若已有同名文件且不属于本程序,会自动改用
启动积分助手-wb-points.vbs,不会覆盖用户文件 - 沙箱环境里守护进程可能起不来(被清理)——正常,注册表自启已写入,重启后自动生效;如实告知用户
- 只想部署、不做任何系统改动:加
--no-system(不写自启、不建桌面入口、不拉起进程)
第 2 步:坐标校准(关键!不同分辨率/DPI/客户端版本按钮位置可能不同)
python ~/.workbuddy/scripts/wb-points/checkin.py --dry-run --json
- 要求 WorkBuddy 客户端已打开
- 用 Read 工具查看输出里的
shot截图,确认鼠标光标落在"领取"按钮上 - 位置不对时:按
references/calibration.md修正——把正确偏移写入~/.workbuddy/scripts/wb-points/config.json(btn_dx= 按钮中心距窗口左边缘像素,btn_dy= 距窗口底边像素),重跑 dry-run 直到光标精准落在按钮上
第 3 步:实测领取
python ~/.workbuddy/scripts/wb-points/checkin.py --json
看 verified 字段判断结果:
| verified | note | 含义 |
|---|---|---|
| true | just_claimed | 领取成功(按钮已由彩色变灰) |
| true | already_claimed | 今天此前已领过(按钮本来就是灰的) |
| false | not_confirmed | 未确认成功——大概率坐标偏了,回第 2 步重新校准 |
| null | dry_run | 校准模式,未真实点击 |
再 Read 截图确认按钮显示"今日已领"即为通过。
第 4 步:收尾汇报
告诉用户三件事:
1. 每天 0 点后第一次联网立即领取;没领到 07:00 再领、20:00 兜底;客户端没开就静默重试
2. 已设开机自启,重启后自动恢复;也可双击桌面「启动积分助手.vbs」立即拉起
3. 随时问"今天领了吗"可查状态
状态查询
python "<skill_dir>/scripts/status.py" --json
自动定位部署目录,claimed: true 即今天已领。加 --claim 可在未领时立即补领一次。用户问"今天领了吗"时直接用,不要重新安装。
卸载流程(⚠️ 必须先获用户明确确认)
卸载会停止进程、摘除自启、删除桌面入口和部署目录(含领取日志)。删除不可逆,用户明确同意后才执行。先看预览:
python "<skill_dir>/scripts/uninstall.py" --dry-run --json # 预览将删除什么
python "<skill_dir>/scripts/uninstall.py" --json # 确认后执行
只想停掉自动领取、保留日志数据:加 --keep-data。
工作原理(向用户解释时用)
- 三重触发:①每天 0 点后首次联网即领(轻量探测限频 60 秒/次,config.json 可用
net_first_trigger: false关闭);②07:00 / 20:00 双批次,每批后 4 小时内每 5 分钟静默重试;③进程启动时当天未领立即补领。一天最多 60 次 - 单次流程:找窗口 → 激活置顶约 2 秒 → 识别领奖按钮本体 → 点它检测到的中心 → 复检确认真的变成"已领" → 截图留档到
~/.workbuddy/scripts/wb-points/checkin_log/ - 识别原理(不靠猜坐标):在气泡位置扫描实心色块——深色块(RGB≈64)= 可领,浅灰块(RGB≈204)= 已领;两者都没有就不动作
- 复检原理:点完重新识别,只有确认已是"已领"才上报成功;没变就如实报失败,交给守护进程重试,绝不假报成功
- 唤出气泡只用"悬停头像",绝不点击头像——点头像会弹出账户菜单,会被误当成气泡(老版本栽过这个坑)
- 点击瞬间会短暂置顶 WorkBuddy 窗口,属正常现象
- 锚点相对窗口左下角计算,窗口尺寸变化不受影响;客户端 UI 大改版后重新跑 dry-run 校准(见
references/calibration.md)
数据与隐私
- 不读取、不存储、不上传任何账号凭据或 Token;联网探测只对公开端点发一个 HEAD 请求(几个字节级),不带任何个人数据
- 唯一写入位置:
~/.workbuddy/scripts/wb-points/(脚本、配置、日志、截图) - 唯一系统改动:注册表
HKCU Run自启项 + 桌面两个快捷入口,均可通过卸载脚本一键撤销 - 截图仅保存在本机,用于校准与留档,用户可随时删除
已知限制
- 仅支持 Windows;WorkBuddy 客户端必须装在本机
- 电脑整天不开机则当天领不到(无云端补领能力,属产品限制)
- 客户端大版本改版后按钮可能移位,此时重新走第 2 步校准
- 不调用任何后端接口(官方接口带风控校验,模拟点击是最稳路径)