积分助手
描述
自动完成 TraeWork / TraeCode 每日签到并领取积分,支持查看当前积分余额和签到状态。纯本地解密登录态,无需手动打开网页或客户端,可配合自动化定时任务无人值守运行。
免费用户 100 积分/天,会员用户 200 积分/天(含额外奖励),积少成多,一年下来也是不少积分呢~
使用场景
- 用户说"签到"、"领积分"、"打卡"、"领取积分"时
- 用户询问"还有多少积分"、"积分余额"、"签到状态"时
- 用户想要设置"每日自动签到"、"定时领积分"时
- 在自动化定时任务中被调用,每日自动执行签到
前置条件
- 已安装并登录 TraeWork / TraeCode 桌面端(本地有登录态)
- 已安装 Node.js(推荐 18+,用于解密令牌和发起请求)
- 本技能运行在本地环境(需要读取本地 storage.json)
指令
1. 立即签到
执行签到脚本,完成今日签到并领取积分。如果今日已签到则自动跳过。
步骤:
- 找到技能目录下的签到脚本:
resources/checkin.js - 使用 Node.js 执行该脚本:
node <技能目录>/resources/checkin.js - 解析输出结果,向用户报告签到状态和获得的积分数
预期输出示例:
- 成功签到:签到成功!基础积分: 100 + 额外奖励: 100 = 总计: 200
- 已签到:今日已签到,跳过领取。签到积分: 100 + 额外奖励: 100 = 总计: 200
2. 查看签到状态和积分
执行签到脚本(幂等设计,已签到不会重复领取),从输出中提取当前签到状态和积分信息,然后向用户报告。
步骤:
- 执行
node <技能目录>/resources/checkin.js - 从输出中提取:
- 是否已签到
- 基础积分数量
- 额外奖励积分数量
- 总计积分数量 - 用友好的格式向用户展示
3. 配置每日自动签到
引导用户在 TraeWork 的"自动化"功能中创建定时任务。
步骤:
- 告诉用户打开 TraeWork 左侧栏的「自动化」
- 点击「手动新建」或「在对话中创建」
- 任务名称建议:「每日积分签到」
- 触发时间:每天 09:00(建议再设一个 18:00 的补签任务)
- 任务内容:
使用积分助手技能完成今日签到,领取积分并报告结果 - 运行模式:Work
- 运行环境:本地
- 输出存储位置:自选
提示:
- 脚本是幂等的,同一天运行多次也不会重复发放积分
- 建议设置 2 个时间点(如 9:00 和 18:00),确保电脑在任一时间点开机就能签到成功
- 错过签到时间?只要电脑开机,下次定时任务会自动补上
技术原理
- 从本地 Trae 客户端的
storage.json读取加密的登录态(iCubeAuthInfo://icube.cloudide) - 使用 AES-128-CBC 解密(SHA-512 密钥派生 + HMAC 校验),提取 accessToken
- 调用 Trae 官方 API:
-POST https://api.trae.cn/trae/api/v2/ug/checkin_credits/status— 检查签到状态
-POST https://api.trae.cn/trae/api/v2/ug/checkin_credits/claim— 领取积分 - 已签到则跳过,未签到则领取并报告结果
安全说明
- 令牌仅在内存中使用,不写入日志、不落地、不回显
- 日志只记录签到结果(积分/成功失败),绝不包含令牌原文
- 仅访问
api.trae.cn官方域名,不上传任何第三方数据 - 解密用的密钥派生自 Trae 客户端内置常量,与官方同源
- 只读本地登录态文件,不做任何修改
故障排查
如果签到失败,按以下步骤排查:
- 确认 Trae 客户端已登录:打开 TraeWork,检查是否处于登录状态
- 确认 Node.js 已安装:在终端运行
node --version,应输出版本号 - 手动运行脚本测试:执行
node resources/checkin.js查看详细错误 - 检查网络连接:确保能正常访问
api.trae.cn
常见错误:
- 认证失败(code=1001):登录态已过期,打开 Trae 客户端重新登录即可
- 找不到 storage.json:Trae 未安装或未登录