workbuddy-checkin
Installation
SKILL.md
WorkBuddy 每日积分签到
自动领取 WorkBuddy 每日积分(100 积分/天,连续第 7 天 1000 积分)。 全流程在本机完成:读取本地登录态 → 调用腾讯官方签到接口。无后端服务。
原理
- WorkBuddy 桌面端登录后,会在本地保存登录态。v5.3.8+ 的新版桌面端改为明文 JSON 文件:
- macOS:
~/Library/Application Support/CodeBuddyExtension/Data/Public/auth/workbuddy-desktop.info - 结构
{ account, auth: { accessToken, refreshToken, expiresAt, ... }, accounts },桌面端临近过期会自动刷新,纯 Node 即可读取auth.accessToken。
- macOS:
- 旧版 WorkBuddy/CodeBuddy 仍把 auth session 用 Electron
safeStorage加密存于state.vscdb;新版明文文件缺失时回退到此路径,用 Electron 运行时执行safeStorage.decryptString()解密(macOS 命中钥匙串;Windows/Linux 走 DPAPI/keyring)。 - 运行时策略:Node 优先(读新版明文文件,无需 Electron),缺失时回退 Electron(解旧版
state.vscdb)。 - 调用腾讯官方签到 API:
- 查状态:
POST https://copilot.tencent.com/v2/billing/meter/checkin-status - 执行签到:
POST https://copilot.tencent.com/v2/billing/meter/daily-checkin - 认证:
Authorization: Bearer <accessToken>,并按桌面端buildHeaders附带X-User-Id: <account.uid>;有auth.domain时加X-Domain,企业账号另加X-Enterprise-Id/X-Tenant-Id - 兼容说明:
checkin.ps1走上述/v2/全量签名(对齐桌面端);checkin.sh仍走不带/v2/前缀、仅Authorization的旧写法。两种写法实测均返回 200(见 CHANGELOG 1.0.3 的验证矩阵),网关当前未强制/v2/或X-User-Id;对齐桌面端属前向兼容加固,不是修复 401 的必要条件
- 查状态:
- 脚本幂等:先查状态(命中即跳过);
daily-checkin返回code=10001(今天已签到)同样视为成功,避免重复请求被误报为失败。