Releases: 88lin/workbuddy-auto-signin
Releases · 88lin/workbuddy-auto-signin
Release list
v1.1.0 — 静默运行更稳:异常不再丢日志 + 网络时间预算
这次主要解决什么
静默模式(模式 B)下,一旦脚本中途抛异常或网络持续超时,当天运行会无声无息地失败——日志里什么都没有,看上去就像"根本没跑"。本版本从两个方向根治:
- 任何异常都会被最后一道防线捕获并写入日志,不再凭空消失
- 新增网络时间预算,保证脚本总能在计划任务的时限内主动收尾
✨ 新增
- 网络时间预算:新增环境变量
WORKBUDDY_BUDGET_SECONDS(默认420秒,上限540秒)。单次请求的超时随剩余预算收缩,预算耗尽即主动收尾并如实记录,剩余项留到下次再领 - 新的结果类型:
NETWORK(网络不可达)与TIMEOUT(预算耗尽),与NO_SESSION(登录态失效)区分开,不再一律给出"请重新登录"的误导提示 - 配置自检:环境变量非法、
≤0或超过上限时自动夹到安全值,并在输出里附config_warning
🐛 修复
- 静默模式异常兜底:
main()改为薄壳接住一切异常;日志路径不可写时回退到脚本同目录;print失败同样转写日志 - 凭据文件损坏不再被误报成
NO_SESSION(JSONDecodeError是ValueError的子类,此前被错误归类) - 凭据里
endpoint字段类型异常时不再崩溃(同样会落盘留痕) - 积分数若为字符串(如
"1.5"、"1e3")不再被当成 0;Infinity也不会让整轮失败 - 领取 Buddy 旅行礼物失败后不再派 Buddy 出发,避免覆盖尚未领取的奖励
- 成长中心各子步骤独立容错,并区分软/硬失败——"派 Buddy 已达每日上限"这类 4xx 不再让计划任务天天报红
- 未知命令给出明确提示与退出码
⚠️ 行为变更
- GET 请求失败自动重试 1 次;抽奖、领奖等写操作不重试,避免超时发生在服务端处理完成之后造成重复提交
(两个签到接口例外:状态查询是只读的,领取接口本身幂等,故允许重试)
📦 升级说明
无需修改任何配置,直接替换 signin.py 即可。已配置的定时任务(每天 00:05)不受影响,错过后补跑等设置保持不变。
完整变更:v1.0.0...v1.1.0
v1.0.0 - 首个正式版本
🎉 首个正式版本
自动领取 WorkBuddy 每日签到积分 + 成长中心奖励的自包含 Python 脚本。
✨ 核心功能
- 每日签到 — 自动查询签到状态,未签才领,幂等安全
- 成长中心 — 自动领取 Buddy 旅行礼物、派 Buddy 出发、开盲盒、领取任务奖励
- 双定时模式 — 模式 A(AI 自动化,跨平台)或模式 B(Windows 系统级静默,零 token)
- 静默运行 —
silent模式配合pythonw.exe,无窗口、无弹窗、零 token 消耗
📦 包含内容
| 文件 | 说明 |
|---|---|
signin.py |
主脚本(纯 Python 标准库,零依赖) |
README.md |
中文文档(含双模式设置指南) |
LICENSE |
MIT 协议 |
.gitignore |
排除日志和缓存文件 |
.github/workflows/star-history.yml |
Star History 自动更新工作流(每周一) |
🔧 技术特性
- 纯 Python 标准库,无需
pip install - 自动探测 Windows / macOS / Linux 凭据文件
- 兼容"已签"两种返回形态(null / HTTP 400+code10001)
- 识别 401/403 登录态过期并明确提示
- 网络异常自动捕获,静默模式下写入日志不崩溃
- 支持环境变量
WORKBUDDY_AUTH_FILE/WORKBUDDY_SIGNIN_LOG配置
📋 命令一览
| 命令 | 用途 |
|---|---|
python signin.py auto |
签到 + 成长中心(输出到 stdout) |
python signin.py silent |
同 auto,输出写入日志文件 |
python signin.py growth |
仅成长中心 |
python signin.py status |
查签到状态(调试) |
python signin.py claim |
领取签到(调试) |
python signin.py all |
查状态 + 领取(调试) |
⚠️ 免责声明
本项目为非官方工具,签到接口系从桌面端 app.asar 逆向得到。使用风险自负;接口可能随时变动且不另行通知。