# checkin **Repository Path**: edrin/checkin ## Basic Information - **Project Name**: checkin - **Description**: WorkBuddy / Trae 多账号自动签到:自动续期、余额同步、邮件汇总、一键切号 | multi-account auto check-in: token refresh, balance sync, email report, one-click account switch - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: https://edrin09.github.io/edrin/ - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-11-03 - **Last Updated**: 2026-11-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README
# WorkBuddy & Trae 自动签到 每天自动领积分、同步余额、发汇总邮件,还能一键切换本机客户端账号。 **Windows · Python 3.9+ · 纯本地运行 · 账号数据不上传** [GitHub](https://github.com/edrin09/checkin) · [Gitee](https://gitee.com/edrin/checkin) · [MIT](LICENSE)
## 这是什么 每天不用再手动点签到。脚本直接调用 WorkBuddy / Trae CN 的官方 Web 接口,把本机已经登录的 账号挨个签一遍,再把结果汇总成一封邮件——领了多少积分、余额怎么变,一眼看完。 - **多账号签到**:一次全部领完,已领过的自动跳过(下午再跑一次就是补签) - **登录态自动续期**:Trae 剩余不足 6 天自动换新 token,不用反复登录,也不用开着客户端 - **余额日报**:签到前 / 签到后对比,HTML + 纯文本两版邮件 - **一键切号**:把任意账号写回客户端,切完自动启动客户端 - **无人值守**:Windows 计划任务每天两次,随机延时避开高峰,不怕限流 支持 WorkBuddy、Trae CN,仅 Windows。 ## 快速开始 需要 Windows 10/11、Python 3.9+,以及已装好并登录过的客户端。 ```powershell pip install requests pycryptodome git clone https://gitee.com/edrin/checkin.git # 或上方 GitHub 地址 cd checkin ``` **1. 添加账号** ```powershell .\workbuddy\workbuddy.bat --watch 30 # 开着他,然后去登录 WorkBuddy 客户端 .\trae\trae.bat --login # 浏览器登录,不用开客户端 ``` 登录完成会写进对应的 `accounts.json`,之后就不用再管了。 **2. 先手动跑一次** ```powershell .\workbuddy\workbuddy.bat --no-delay .\trae\trae.bat --no-delay ``` **3. 交给计划任务**(管理员 PowerShell) ```powershell $root = "D:\path\to\checkin" $pyw = (Get-Command pythonw.exe -ErrorAction SilentlyContinue).Source if (-not $pyw) { $pyw = (Get-Command python.exe).Source } function New-CheckinTask($name, $time, $script) { $action = New-ScheduledTaskAction -Execute $pyw -Argument "`"$root\$script`"" $trigger = New-ScheduledTaskTrigger -Daily -At $time Register-ScheduledTask -TaskName $name -Action $action -Trigger $trigger -Force } New-CheckinTask 'WorkBuddy签到' '10:00' 'workbuddy\checkin_workbuddy.py' New-CheckinTask 'Trae签到' '10:30' 'trae\checkin_trae.py' New-CheckinTask 'WorkBuddy补签' '15:00' 'workbuddy\checkin_workbuddy.py' New-CheckinTask 'Trae补签' '15:30' 'trae\checkin_trae.py' ``` 两个产品错开 30 分钟,日志按时间段就能分清来源;启动自带 1~15 分钟随机延时。 **4. 汇总邮件(可选)** ```powershell Copy-Item .env.example .env notepad .env # 填 SMTP 与收件人 python send_mail.py --dry-run # 预览到 mail_preview.html python send_mail.py --mail-only # 立刻发一封 ``` 想每天自动收信,在计划任务里追加一个动作:`pythonw.exe send_mail.py --mail-only`。 ## 常用命令 | 场景 | 命令 | | --- | --- | | WorkBuddy 签到 | `.\workbuddy\workbuddy.bat` | | Trae 签到 | `.\trae\trae.bat` | | Trae 续期 / 看续期计划 | `.\trae\trae.bat --refresh` / `--refresh --dry-run` | | 签到 + 发邮件 | `python send_mail.py` | | 切号菜单 | `.\main.bat` | | 看账号与余额 | `.\main.bat w --list` / `.\main.bat t --list` | | 直接切某个账号 | `.\main.bat w <账号名>` / `.\main.bat t <账号名>` | | 校验切号结果 | `.\main.bat w --verify` / `.\main.bat t --verify` | 切号支持 `--wait`(等客户端退出)、`--no-launch`(只切不启动)、`--dry-run`(只演练)、 `--json`(机器可读)、`--quiet`(只报错)。退出码:`0` 成功、`1` 一般错误、`2` 找不到账号、 `3` token 失效、`4` 写入校验失败、`5` 客户端正在运行。 ## 配置 复制 `.env.example` 为 `.env`:`MAIL_HOST` / `MAIL_PORT` / `MAIL_SECURE` / `MAIL_USER` / `MAIL_PASS`(邮箱授权码,不是登录密码)/ `MAIL_TO`(多人用英文逗号分隔)。 同名系统环境变量优先于 `.env`。 ## 数据在哪 账号、token、余额快照、日志全部留在本机对应目录(`workbuddy\`、`trae\`、`checkin.log`), 已加入 `.gitignore`,不会被提交,也不会上传任何服务器。 ## 常见问题 **日志里没有当天记录?** 计划任务没触发。查 `Get-ScheduledTaskInfo` 的 `LastRunTime`, 并确认当时电脑开着且已登录。 **Trae 报 9074?** 服务端限流。脚本会自动换设备号重试,仍失败就等下午补签。 **余额显示旧值?** token 可能失效。先跑 `.\trae\trae.bat --refresh`,不行再 `--login` 重新登录。 **支持 macOS / Linux?** 暂不支持,登录态路径、计划任务和切号都依赖 Windows 客户端。 **接口变了?** 这类工具跟着客户端接口走,产品更新后可能需要调整,欢迎提 Issue。 ## 免责声明 仅供个人学习与效率实践。请遵守 WorkBuddy / Trae 的服务条款,不要用于账号买卖、商业代签等滥用场景, 使用风险自负。 ## License [MIT](LICENSE)