吾栖星球
← 返回 longjie 的星球

WorkBuddy 每日自动签到教程

发布于 2026/10/13 08:51:13

目标:每天自动完成 WorkBuddy 签到,领取每日积分,不用手动打开客户端。 适用:腾讯 WorkBuddy 账号,有一台 Windows 电脑(装有 WorkBuddy 桌面客户端并已登录)。 原理:直接调用官方签到接口,无需挂客户端。


一、原理简介

WorkBuddy 提供了一个签到接口,签到就是调一次它:

  • 签到接口:POST https://www.codebuddy.cn/v2/billing/meter/daily-checkin,请求体 {}
  • 成功标志:返回 code == 0;code == 10001 表示今天已签过(也算成功)
  • 身份认证:请求头带 Authorization: Bearer <access_token>,外加设备指纹头(X-Machine-ID / X-Session-ID 等,由 uid 稳定派生,同一账号不漂移)
  • token 续期:access_token 过期后调 POST https://copilot.tencent.com/v2/plugin/auth/token/refresh(请求头带 X-Refresh-Token),换新的 access_token + refresh_token

接口细节逆向自开源项目 workbuddy2api-hub(MIT 协议)。


二、准备工作

  1. Windows 电脑一台,装有 Python 3.8+(官网下载安装,安装时勾选"Add Python to PATH")
  2. WorkBuddy 桌面客户端(国内版)正在运行且已登录
  3. 一台长期在线的机器跑定时任务(本教程用 Muse 的云主机 + cron,也可以用自己的服务器/NAS)

三、步骤一:提取登录凭证(在 Windows 上)

WorkBuddy 客户端把登录凭证存在本地文件:

%LOCALAPPDATA%\CodeBuddyExtension\Data\Public\auth\workbuddy-desktop.info

文件里是 JSON,包含 auth.accessToken、auth.refreshToken、account.uid。2026-09-24 之后的客户端版本会对凭证加密,需要从客户端进程内存回收密钥解密。

一键提取脚本(已备好,见附件 workbuddy-token-提取工具.zip,含 extract-workbuddy-token.py + 解密模块 wb_atrest.py,无需安装第三方库):

  1. 解压到 Windows 电脑任意目录

  2. 确认 WorkBuddy 客户端正在运行且已登录

  3. 运行:python extract-workbuddy-token.py

    • 若提示密钥回收失败:确认客户端在运行,或右键"以管理员身份运行"
  4. 成功后同目录生成 tokens.json,内容格式:

    {
      "uid": "…",
      "access_token": "…",
      "refresh_token": "…"
    }
    

⚠️ tokens.json 是你的登录凭证,别发到公开渠道,传给执行签到的人即可。


四、步骤二:部署签到脚本

把 tokens.json 存到执行机器的 ~/workspace/workbuddy-checkin/state/tokens.json,权限设为 600:

mkdir -p ~/workspace/workbuddy-checkin/state
cp tokens.json ~/workspace/workbuddy-checkin/state/tokens.json
chmod 600 ~/workspace/workbuddy-checkin/state/tokens.json

签到脚本 checkin.py 逻辑:

  1. 读 state/tokens.json
  2. POST 签到接口,带完整请求头(含 Bearer token + 设备指纹)
  3. 返回 401(token 过期)→ 调续期接口换新 token → 回写 tokens.json → 重试签到
  4. 结果追加到 state/checkin.log
  5. 续期也失败 → 退出码 1,提示用户重新提取凭证(比如改了密码/退出登录)

手动验证一次:

python3 ~/workspace/workbuddy-checkin/checkin.py
# 期望输出:OK 签到成功… 或 OK 今日已签到(无需重复)

若直连超时:云主机出境可能需要走代理,确认 https_proxy 等环境变量生效后再试(curl 先验证通不通)。


五、步骤三:设置每天自动执行

用 cron 每天 09:05(北京时间)跑一次:

项值
任务 idworkbuddy-daily-checkin
时间每天 09:05,Asia/Shanghai
内容执行 python3 ~/workspace/workbuddy-checkin/checkin.py,看 state/checkin.log 尾行确认结果,一句话汇报

汇报规则:成功/已签到 → 一句话;失败 → 说明原因和需要用户做的事(不要编造成功)。


六、验证

  1. 手动跑一次脚本,确认 OK
  2. 手动触发一次定时任务,确认 worker 环境(代理、权限)没问题
  3. 第二天看 state/checkin.log 是否有新的成功记录

七、常见问题

问题原因解决
提取脚本找不到凭证文件客户端没装 / 没登录过 / 装的是国际版登录国内版客户端后重试
密钥回收失败客户端没运行 / 权限不足确认客户端运行中,管理员身份运行脚本
签到返回 401 后续期失败refresh_token 失效(改密码/退出登录)重新跑步骤一提取新凭证
连接超时出境需走代理检查 https_proxy 环境变量
code == 10001今天已经签过正常,算成功,不用管

八、注意事项

  • 凭证文件 state/tokens.json 保持 600 权限,不要进 git、不要外传
  • refresh_token 长期有效期间全自动;一旦失效必须人工重新提取
  • 这是调用你自己账号的官方接口领每日奖励,和手动点签到等价;不要把脚本/凭证给别人用
  • WorkBuddy 官方改接口时脚本可能失效,届时按"一、原理简介"里的接口对照排查

0登录 后可点赞 / 评论

评论 (0)