Buddy 加油站 · 每日签到与活动巡检
它做什么
- 查询加油站签到状态(连签天数、本期累计积分、活动期、今日额度)
- 今日未领则领取,已领则跳过(幂等,同一天跑多次不会重复领)
- 领取后回查状态复核,只认复核结果,避免"假成功"
- 上报活动任务按钮(如"体验Buddy应用"),默认只上报不代点
怎么用
要求:WorkBuddy 客户端已启动并登录(脚本依赖客户端开放的 WBIPC 宿主通道),
Python 3.8+,零第三方依赖。把 SK 换成你本机的技能目录(WorkBuddy 为
~/.workbuddy/skills/buddy-gas-station/scripts):
SK="<技能目录>/buddy-gas-station/scripts"
python3 "$SK/gas_station.py" # 自动:查 -> 领 -> 复核(推荐)
python3 "$SK/gas_station.py" --query # 只查不领
python3 "$SK/gas_station.py" --json # 机器可读输出,供上层解析
python3 "$SK/gas_station.py" --open-task # 额外唤起客户端活动任务面板(仍需人工点)
诊断(通道是否可用、宿主暴露了哪些方法):
python3 "$SK/probe.py"
退出码
| 码 | 含义 | 处理 |
|---|---|---|
| 0 | 成功 / 今日已领取 | 正常,直接汇报 |
| 2 | 环境不可用(客户端未启动、通道未开放、需授权) | 提示用户启动并登录 WorkBuddy 客户端 |
| 3 | 领取失败 | 看 message,可稍后重试 |
| 4 | 复核失败(接口说成功但状态未更新) | 人工去客户端确认 |
人工可读输出示例
✅ 今日已领取,无需重复操作
Buddy加油站 第10期|2026-09-30 00:00:00 ~ 2026-10-15 23:59:59
连签 5 天|本期累计 500 积分|今日额度 100 积分
活动任务:体验Buddy应用(需你在客户端手动点击,脚本不代点)
实现要点(改动前必读)
- 通道:
~/.workbuddy/wbipc/endpoint.json给出命名管道端点与 ticket;workbuddy_ipc/
是官方随包分发的纯标准库客户端,直接用connect()→get_pipe("wb.request")→
invoke("http.fetch", {method, path, headers, body_b64})。响应{status, headers, body_b64}。 - 鉴权由宿主注入,脚本不接触任何令牌;不读本地登录态文件。
- 接口(path 均为相对路径,host 由宿主决定):
POST /v2/billing/meter/checkin-activity-status—— 状态查询POST /v2/billing/meter/daily-checkin—— 领取(body{})- 业务错误码:
code=10001= 今天已签到,按成功处理。 - 接口路径可能随版本变动;若返回 404,用
probe.py确认通道仍在,再重新从客户端包
(resources/app.asar)里逆向新路径:
grep -a -o -E 'billing/[a-zA-Z0-9_$-]+(/[a-zA-Z0-9_$-]*)*' app.asar | sort -u - 日志落在
logs/YYYY-MM-DD.log,只记录动作与结果,不记录任何凭证。
定时任务
已注册每日自动化(见自动化面板):每天 09:00 主签、21:00 补签。任务提示词须含
"当天已签到就直接结束",脚本本身已幂等,两次跑不会重复领取。
注意
- 客户端必须处于已启动且已登录状态;宿主进程不在则退出码 2。
- 积分规则:第 1-6 天各 100,第 7 天 1000,之后循环;断签重置连签。
- 签到积分通常当月有效,别只攒不用。
- 运营活动有截止日期,接口
end_time会返回;活动下线后active=false,脚本会直接说明。 - 官方运营规则可能不鼓励自动化签到;本技能仅以官方接口、低频、幂等方式代替手工点击,
风险自负。