这是一个「WorkBuddy 入门」系列。
前面两篇,我们把 WorkBuddy 装好、把界面认熟。这篇换个玩法,不聊按钮,聊怎么让它替你干一件每天都得做的杂活。
不需要你会写代码,看懂思路就行。
WorkBuddy 每天给登录用户发签到积分,一天 100,连签还有额外奖励。
白给的东西,忘领总觉得亏。而且,有便宜不占,那不就是王八蛋吗?
可「天天记得点一下」这种事,靠人真不靠谱。所以我让 AI 替我记了:我在 WorkBuddy 里用 AI 做了一个自动签到的脚本,让它每天帮我自动领取积分!
下面把来龙去脉、踩过的坑、按自己作息做的几处调整,一股脑分享给你。
群里有人转发了一个项目
我们那个 Obsidian 交流群里,群友大强同学转发了 88lin 的开源项目 workbuddy-auto-signin,光看名字就知道是干嘛的,自动签到。
点开仓库我乐了。这项目最大的特点,是它把自己设计成「用 AI 来安装」。README 是写给模型看的,你把项目链接丢给 WorkBuddy 或随便哪个 AI 助手,说一句「帮我装好,设成每天定时签到」,剩下的 clone、写配置、建定时任务,它自己就干完了。 
先交代清楚这脚本到底干嘛,免得你觉得多神。它是零依赖的单文件 Python,不用装任何第三方库。运行时会读你本机 WorkBuddy 桌面端留下的登录态,调官方接口做两件事。一是每日签到,领那 100 积分,连签天数自己累计。二是成长中心顺手领,派 Buddy 旅行、开盲盒、领任务奖励这些零碎积分,能薅的一起薅。
关键是先查今天签过没有,签过了就跳过,没签才领。所以一天跑十次也只领一次,不会乱。
安全方面我装之前核过。脚本不碰你的密码,没有写死的密钥,令牌只读本机登录态,请求走官方域名还带 TLS 校验。这几条过关,我才放心让它跑。
到这一步,我要做的只剩一件事。从「记得每天点一下」,变成「说一句话」。
安装现场,我几乎没动手
我把链接甩给 WorkBuddy,说了一句「帮我装好,设成每天定时签到」。剩下的事它就自己干上了。仓库自己拉下来,macOS 的定时任务(launchd)自己建,装完还自己跑了一遍验证。
那画面其实挺逗。我在旁边插不上手,只能看着它的任务窗口一行行走,像看别人在厨房里忙活,我只负责最后尝一口咸淡。
只有最后一步绕不开我。在真实终端敲两条命令,把定时任务加载进系统。原因不复杂,WorkBuddy 自己的沙箱改不了 macOS 系统级的定时域,这是权限隔离,不是它不行。
加载完跑了一次,它回我一句「今日已签过,连续 4 天,累计 400 积分」。链路通了。
那会儿我挺满意,觉得自己这便宜占得真漂亮。AI 搭骨架确实快,可那骨架是按别人的作息搭的。合不合我的身,没几天就露了馅。
第一个坑,默认凌晨 0 点
原项目推荐的时间点是凌晨 0 点刚过,00:05。作者大概是想着跨完天第一时间签,免得忘。听着挺合理对吧。
问题在于,我一般 10 点多就关机睡觉了。到 00:05 都做了好几个梦了,哈哈。
macOS 的定时任务只在机器醒着的时候才跑。0:05 电脑已经睡了,那次就不触发。第二天开机,它只会补签开机当天的到。漏掉的那次救不回来,连签天数直接断。

合着按默认设置,我不但天天漏签,连签奖励也别想要。这哪是占便宜,这是跟便宜对着干。
我悟出一个挺朴素的事。AI 给你装的默认配置,是按别人家的作息设计的,不是按你家的。
三道防线,让脚本在我醒着时留手
改法很直接,把我肯定在电脑前的时间设成检查点。我放了两档,每晚 21:30 和 22:30。
为什么不放一个?单点 21:30 其实够用,可万一那天 21:30 我刚好合盖出门,22:30 才回来,双点就多一层容错。脚本幂等,多跑一次也不重复领,等于白赚一层保险。
但我马上想到更麻烦的情况。哪天如果我上午才开电脑呢?21:30 还在未来,没有「错过」可补,系统早上根本不会碰它。
查了一圈,我才把 launchd 的门道理顺。很多人以为睡眠唤醒后会自动补领,其实只补睡眠期间错过的那个日历点。「开机就跑一次」是另一个开关,叫 RunAtLoad,只在真正开机或登录时触发一次,纯睡眠到唤醒不会碰它。
所以要再叠一层,周期性自查。让脚本在 Mac 醒着的时候,每 30 分钟自己查一次(launchd 的 StartInterval)。配合幂等,效果就是只要你当天开过机、醒着超过半小时,它就一定帮你签到。这比死掐某一个钟点稳多了。
到这儿三道防线齐了。两个日历点兜日常,21:30 和 22:30。RunAtLoad 兜开机,登录就补一次。StartInterval 兜剩下的,醒着就每 30 分钟看一眼。
有意思的是,防线叠完之后,我发现自己再也没想过「今天签了没」这件事。
登录态失效,它得会喊我
还有个隐患藏在看不见的地方。脚本靠本机登录态干活,哪天 WorkBuddy 桌面端重新登录,令牌一变,脚本读到的就是失效令牌,然后悄悄失败。定时任务失败,你平时根本不会去看日志。
所以我加了一道。脚本发现凭据缺失或接口返回 401、403,就弹一个系统对话框,喊我重新登录。
这里也踩了个坑。我一开始用的是通知中心的通知,结果被系统静默丢掉了,不报错也不显示,前台后台都弹不出来。换成模态对话框(display alert)才稳定。

想想也对。这种「请重新登录」的提醒,本来就不该被错过。弹窗比通知靠谱。
自动化可以替我记住,但它失灵的时候,得会喊我一声。
顺手开源了
全套改完,我觉得这事值得留个底。fork 了一份到自己账号 github.com/DavidLam-oss/workbuddy-auto-signin。
协议沿用原作者的 MIT,版权归 88lin,我加的增强部分归我。除了脚本本体,还补了两样东西。一份通用的 launchd 模板,多时间点、开机补领、周期自查都在里面,路径和时间做成能改的,不写死我个人的。再就是中英双版 README,把 TCC 隐私拦截、通知被静默丢弃、睡眠唤醒不触发这几个坑全写进去,后来人照着走能少踩一遍。
坑既然踩过了,就让它变成别人少踩一次的台阶。
这半个月的体会
回头看,几个感触挺实在的。
能自动化的「小便宜」值得自动化。单天 100 积分看着不多,但它确定、零成本、还能累积。花半小时让 AI 装好一个脚本,之后几个月都不用再想起。这种一次性投入、不断重复的活,最适合交给 AI。
AI 安装不等于装完就完事。默认配置几乎一定不合你的真实作息,真正值钱的,是装完后按自己习惯做的那几步调优。AI 能搭骨架,骨架合不合身,得你自己试出来。
给想试的朋友
你要是也在用 WorkBuddy,也想把这 100 积分自动化掉,路很简单。
把上面那个仓库(不管是我的还是原作者的)丢给 WorkBuddy,说一句「帮我装好,设成每天定时签到」。别用默认的凌晨 0 点,按你自己的作息改时间,再把开机和唤醒自动领加上。顺手把令牌失效弹窗也开了,省得哪天悄悄失败你都不知道。
剩下的,就交给机器每天替你打卡吧。有便宜,咱必须得给它占了!
进阶阅读
要是还没看过前面几篇,可以顺着补上。
- \[WorkBuddy 入门:为什么推荐腾讯出的这个 AI 助手],系列开篇,讲讲为什么值得用
- \[WorkBuddy 入门2:下载、安装、认识主界面],把它装到电脑上,认一认主界面
- \[WorkBuddy 入门3:界面上那些按钮和标签,我一个一个讲给你听],把界面上的元素逐个看明白