workbuddy不开机永久自动签到领积分
WorkBuddy 每天打开客户端就会自动签到领积分,长期不开机等于白扔。文章先讲清新版签到机制的变化,再用金山文档脚本加定时任务,实现不开机也能自动领取,并附上四步部署与令牌失效的排查方法。

说到WorkBuddy的Buddy加油站,小伙伴一定是不陌生的。那就是每天可以打开WorkBuddy的电脑客户端软件,进行签到,领取100积分的奖励。
积分约等于token,有了积分,就可以免费使用WorkBuddy。在AI圈子,俗称为领鸡蛋,每代人都有自己要领的鸡蛋,我们这代人就是领token积分。
那么问题来了,既然每天都得签到,那就得每天打开一次WorkBuddy的客户端。有些小伙伴每天都在用的,那就是顺手的事情。
而有些小伙伴可能不是每天用WorkBuddy,有时候需要出差,有时候放假了不想工作了,有时候可能电脑坏了,等等诸如此类的特殊情况下。
就不可能说去打开WorkBuddy的客户端签到领鸡蛋,而这鸡蛋你不领,就白白浪费机会了。一个月30天都会打开WorkBuddy的人,跟一个月只有15天打开的人,相差的可是1500积分。
别小瞧1500积分,如果在WorkBuddy上使用倍率低一些的模型,那是可以免费用很久的。因此,WorkBuddy自动签到领积分的需求,开始涌现。
01 签到机制的变化与Skill的误区
这里先说一个前提,现在新版本的WorkBuddy,已经不像以前,每天第一次打开的时候,左下角会弹出Buddy加油站的提示,然后会有一个签到的按钮,你只需要点击一下,就可以完成签到。
如今是只要你每天打开一次WorkBuddy,就默认自动签到,显示今日积分已领,不需要你去点击那个签到按钮了。老马也是观察了一段时间才发现这个细节的,一开始还以为是之前安装了某个插件导致的。
默认自动签到的机制,应该是针对以前就经常操作签到的用户所采取的。好像从未点击过签到按钮的人,还是会显示签到按钮,需要你手动去点击签到。这点有待观察,小伙伴们也可以多多反馈。
所以说腾讯做产品还是挺讲究用户体验的,你不想老是去点签到按钮,就给你默认自动领取,无感操作。也避免了有些小伙伴就算是打开了WorkBuddy,也会忘记点签到按钮的问题。
了解这个细节之后,我们再来看目前市面上的一些WorkBuddy的自动签到领积分Skill,一般叫什么WorkBuddy积分助手,在WorkBuddy自家的SkillHub里面就可以搜索安装。
这类Skill的作用就是你安装了之后,发送一句提示词设置好每天签到的任务。Skill就会创建一个WorkBuddy的定时任务,比如每天早上9点自动执行一下签到。
但这个定时任务,是只有你的WorkBuddy电脑客户端处于打开的状态下,才能执行成功的。假设你今天没开电脑,也没打开过WorkBuddy,那即便你设置了每天早上9点自动签到。
这个签到任务也无法正常执行,而是过期了就算过期了。这是因为WorkBuddy的自动化触发器运行在本地客户端进程内,不是云端调度,任务到点由本机的电脑进程触发并执行。
说到云端调度,那有小伙伴就会说了,WorkBuddy也支持云端跑任务啊。那我在云端的工作模式上,设置一个每天早上9点定时自动签到的任务,不就不用开电脑开WorkBuddy了么,因为云端沙箱是一直在线的啊。
这其实是一种误解,WorkBuddy的云端沙箱就相当于一个虚拟机,一台虚拟的电脑。在有任务的时候会唤醒它,开始干活。在没有任务的时候,过一段时间,就会进入休眠的状态。
所以云端沙箱并非像一般的云服务器一样,是7×24小时在线的。你在WorkBuddy的云端工作模式上设定的定时任务,实际是设置成了另外的Cron调度任务,到点了去唤醒沙箱起来干活的。
这个有点类似于OpenClaw小龙虾的心跳机制,目前体验比较差的一点是,虽然WorkBuddy的云端定时任务会按到点时间去唤醒沙箱,但很多时候是唤醒失败的,估计是bug问题,希望腾讯后期能够修复吧。
解释了这么多,还是回到Skill的问题,这类WorkBuddy的自动签到领积分Skill,到底有没有用呢?你只要把老马前面讲的逻辑串起来,其实就会发现这是脱了裤子放屁的操作。
我既然已经每天去打开WorkBuddy的电脑客户端了,那默认就自动签到了,而定时任务运行不运行,有啥区别呢?
况且,我如果习惯是每天早上10点打开WorkBuddy,定时任务是每天早上9点,那早就过期了,就没能运行成功。
因此,这类签到Skill用于实现自动签到领积分的方法,对于每天经常打开WorkBuddy的小伙伴来说,等于脱了裤子放屁。对于不是每天经常打开的,更是一点作用都没有。
02 终极方案:金山文档脚本
讲到这里,原理就很清晰了,有聪明的小伙伴就又会回想到去云端设置定时任务,实现不开电脑不开WorkBuddy自动签到的方法。前面已经说了,老马经过几天的测试下来,这条路行不通,原因是沙箱无法每次正常唤醒。
如果沙箱能够每次正常唤醒的话,这个方法是可行的。因为接下来老马会介绍一个自动签到的脚本,这个脚本是会去获取我们WorkBuddy账号对应的refresh_token(令牌)。
有了令牌,就可以无需登录WorkBuddy的账号,让脚本通过接口去实现自动签到领积分。而这个脚本,是可以使用沙箱运行起来的。就算沙箱不是一直在线,只要每天通过云端定时任务去成功唤醒它。
让它起床干活,然后跑一遍上面说的脚本,就能够完成一次自动签到领积分的操作。从而真正实现你不开电脑不开WorkBuddy,自动签到在云端沙箱里面完成。
那既然WorkBuddy的云端沙箱这么不靠谱,有没有别的办法来部署这个自动签到脚本呢?答案是有的,一是买一台云服务器,二是使用GitHub Actions。
云服务器除了要会购买之后,还得会使用和管理。GitHub Actions则需要Github账号,以及相应的配置。因此这两种方式对于普通的小白用户来说,门槛还是太高。
所以前面老马花了那么多的篇幅来给大家介绍清楚,WorkBuddy的正常签到和自动签到的原理与方法,底层逻辑都算是解释到位了。
目的就是接下来要教大家用最简单的方式,去实现不开电脑不开WorkBuddy不开云端沙箱不需要云服务器和GitHub Actions,7×24小时x365天自动签到领积分。
好了,前面的原理介绍结束,下面是实操环节。只要你仔细看清楚每一步的操作细节,跟着老马去一步步设置,基本上都能成功搞定。
03 实操:四步部署自动签到
第一步 · 获取 refresh_token
第一步,首先打开WorkBuddy的电脑客户端,一定要电脑客户端,不能是WorkBuddy的小程序或者APP。因为等下我们要去获取你的WorkBuddy账号,对应的refresh_token(令牌)。
新建一个任务,模型选择GLM-5.3-Flash,工作空间可建可不建,在对话框中输入以下提示词:

帮我提取 WorkBuddy 的 refreshToken,按以下步骤:
1. 读取客户端登录态文件:
macOS: ~/Library/Application Support/CodeBuddyExtension/Data/Public/auth/workbuddy-desktop.info
Windows: %LOCALAPPDATA%\CodeBuddyExtension\Data\Public\auth\workbuddy-desktop.info
2. 只提取其中 auth.refreshToken 字段的值
3. 输出要求(重要):
– 完整输出,禁止截断、省略号、折行,它是一个约 700 字符的长字符串
– 只输出 token 本身,不要加解释、引号或代码块装饰
4. 如果文件不存在,在我电脑的用户数据目录里搜索文件名含
workbuddy 或内容含 refreshToken 的 .info/.json 文件再试
5. 如果你说无权限读取,直接告诉我文件的实际位置,让我手动打开复制
然后提交给WorkBuddy去获取refresh_token(令牌),速度很快,它就给我们回复了一长串看起来像代码的东西,这个就是refresh_token(令牌):

我们全选复制一下这一整串的refresh_token(令牌),切记不要遗漏或者复制缺失了,接着进入第二个步骤。
第二步 · 金山文档建表存令牌
第二步,使用电脑浏览器打开金山文档的官网kdocs.cn,不需要去点击立即下载,下载客户端使用。我们只需要点免费使用即可,免费使用就是在线使用金山文档网页版的意思:

点击免费使用后,需要我们微信扫码打开一下金山文档的微信小程序。在微信小程序上面登录一下账号即可。
成功登录金山文档的网页版之后,我们在左上角点击新建,在office文档中选择表格进行创建即可:

这个时候又会跳转到一个新建表格的页面,其它功能你都不用管,直接看常见创建方式中的空白表格,点击一下直接创建一个空白的Excel表格文档:

创建成功后,跳转到的网页就是我们非常熟悉的Excel表格编辑界面。你如果使用过office或者wps去操作过Excel表格文件,这个界面再熟悉不过了。
来了,细节来了。表格横向是按数字1、2、3、4……去排序行数的,纵向是按A、B、C、D……去排序列数的,这个理解起来没难度吧。
然后B1这个格子,指的就是横向第1行,纵向第2列,你可以用鼠标稍微把这个格子的边框放大一点。接着双击这个格子,粘贴刚才复制好的refresh_token(令牌),粘贴后内容是默认自动保存的:

这样子我们就搞定了令牌的输入与保存,补充说明一下B2这个格子,以后脚本自动签到成功后的提示消息,就会自动更新显示在B2格子里面,无需你做任何操作。
第三步 · 部署脚本代码
第三步,我们在表格的顶部菜单,找到效率点开,里面有一个高级开发。再点开,就能看到AirScript脚本编辑器,继续点击打开它:

打开AirScript脚本编辑器后,左侧列表中有一个+号按钮。点击一下就能创建一个新的脚本文件,默认创建的是未命名的脚本,我们直接输入WorkBuddy自动签到,作为该脚本的名称:

这时有聪明的小伙伴就反应过来了,右边的编辑框,应该就是输入自动签到脚本代码的地方。恭喜你答对了,所以接下来,你就需要把下面的脚本代码全部复制一下,粘贴到右侧的编辑框里面即可:

…javascript
/**
* WorkBuddy「Buddy 加油站」每日自动签到 —— 金山文档 AirScript 版
*
* 使用方法(一次性配置,约 3 分钟):
* 1. 打开 https://www.kdocs.cn 微信扫码登录,新建一个空白表格
* 2. 在 B1 单元格填入 refresh_token(获取方法见文末)
* 3. 点「效率」→「高级开发」→「AirScript 脚本编辑器」→ 创建脚本 → 文档共享脚本
* 4. 点「服务」→「添加服务」→ 添加「网络API」
* 5. 粘贴本代码,点「运行」试跑一次,B2 会显示结果
* 6. 回到表格,「效率」→「高级开发」→「定时任务」→ 创建任务:
* 选择本脚本,触发时间自选(如每天 09:00)。
* 脚本幂等:无论定时跑多少次,当天只会真正签一次,重复执行自动跳过。
*
* 表格约定:
* B1 = refresh_token(脚本每次运行自动续期并回写,长期有效)
* B2 = 最近一次执行结果
*
* 令牌获取:电脑登录 WorkBuddy 客户端后,打开文件
* ~/Library/Application Support/CodeBuddyExtension/Data/Public/auth/workbuddy-desktop.info
* (Windows 在 %APPDATA%\CodeBuddyExtension\Data\Public\auth\ 下,用记事本打开)
* 找到 “refreshToken”: “eyJ…” 那串,复制引号里的内容填到 B1。
* 注意:整个文档不要分享给任何人,令牌等于账号钥匙。
*
* 接口说明(逆向自 WorkBuddy 桌面端 v5.5.x,已实测):
* 刷新 POST /v2/plugin/auth/token/refresh 头: X-Refresh-Token / X-Domain / X-Auth-Refresh-Source: plugin
* 签到 POST /v2/billing/meter/daily-checkin 认证: Bearer;code=10001 表示今日已签(幂等)
*/
var API = “https://copilot.tencent.com”;
function postJSON(url, headers) {
var resp = HTTP.post(url, “{}”, {
headers: headers,
timeout: 15000
});
return resp.json();
}
function main() {
var rt = Application.Range(“B1”).Text;
if (!rt) {
Application.Range(“B2”).Value2 = “失败:B1 没有 refresh_token”;
return;
}
// 1. 刷新令牌(refreshToken 可复用、双令牌都续期,链条可长期运行)
var r;
try {
r = postJSON(API + “/v2/plugin/auth/token/refresh”, {
“Content-Type”: “application/json”,
“X-Refresh-Token”: rt,
“X-Auth-Refresh-Source”: “plugin”,
“X-Domain”: “copilot.tencent.com”
});
} catch (e) {
Application.Range(“B2”).Value2 = “刷新请求异常:” + e.message;
return;
}
if (r.code !== 0 || !r.data) {
Application.Range(“B2”).Value2 = “刷新失败 code=” + r.code + “ ” + r.msg + “(需重新取令牌填入 B1)”;
return;
}
var at = r.data.accessToken;
var newRt = r.data.refreshToken;
// 回写新令牌,实现自续期(旧令牌仍可用作兜底,不怕写失败)
// 注意:AirScript 2.0 中写入单元格要用 Value2 属性或 Value(null, 内容),不能直接 .Value =
Application.Range(“B1”).Value2 = newRt;
// 2. 执行签到(幂等:今天已签会返回 10001)
var msg;
try {
var c = postJSON(API + “/v2/billing/meter/daily-checkin”, {
“Content-Type”: “application/json”,
“Authorization”: “Bearer ” + at
});
if (c.code === 0) {
msg = “签到成功 +” + ((c.data && c.data.credit) || 100) + “ 积分”;
} else if (c.code === 10001) {
msg = “今日已签(幂等跳过)”;
} else {
msg = “签到异常 code=” + c.code + “ ” + c.msg;
}
} catch (e) {
msg = “签到请求异常:” + e.message;
}
// 3. 查询连签状态,拼进结果
var extra = “”;
try {
var s = postJSON(API + “/v2/billing/meter/checkin-activity-status”, {
“Content-Type”: “application/json”,
“Authorization”: “Bearer ” + at
});
if (s.code === 0 && s.data) {
extra = “|连签” + s.data.streak_days + “天,本期累计” + s.data.total_credits + “分”;
}
} catch (e2) { /* 状态查询失败不影响主流程 */ }
var now = new Date();
var line = (now.getMonth() + 1) + “月” + now.getDate() + “日 ” +
(“0” + now.getHours()).slice(-2) + “:” + (“0” + now.getMinutes()).slice(-2) +
“ ” + msg + extra;
Application.Range(“B2”).Value2 = line;
}
main();
粘贴完毕之后,你再看一下右侧编辑上面还有一些按钮,其中有一个长得像磁盘一样的,就是保存脚本代码的按钮,你点击一下保存:

保存完毕之后,在保存按钮的右边,你能看到一个正方形的按钮,这个是服务授权的按钮。因为我们的脚本是要去访问网络,才能正常自动签到的。
因此,你需要点击这个正方形按钮,选择添加服务,再添加上网络API这个服务:

最后,你再看看那个长得像播放器按钮的三角形图标,这个是调试按钮。我们已经把脚本代码部署上去了,那究竟能不能成功跑通,就可以点击一下调试按钮调试一下:

如上图所示,第一次运行脚本代码的时候,会提示我们授权网络访问,直接点允许即可。允许之后,脚本代码成功运行,下面的日志就会显示结果:

关掉AirScript脚本编辑器的窗口,我们回到表格的编辑界面,看一下B2那个格子里面,是否显示自动签到成功。结果报错了,原因是refresh_token(令牌)失效了,需要去WorkBuddy重新获取新的令牌:

出现令牌失效可能还有一个原因,那就是老马之前测试的时候,已经获取过一次了。所以没办法,老马复制了一下B2的报错信息,重新发给WorkBuddy去获取了最新的refresh_token(令牌):

把新获取到令牌复制一下,重新回到刚才的表格编辑页面,删除掉原来B1格子里面的旧令牌,粘贴上新令牌。然后,再次打开AirScript脚本编辑器,点击三角形按钮运行一下调试,这次就提示签到成功了:

至此,我们的令牌和脚本代码就算是都部署成功了。至于令牌什么时候会失效,后面老马会补充说明,把不同的情况介绍清楚。
第四步 · 创建定时任务
第四步,部署完令牌和脚本代码,我们就需要去创建一个定时任务。就是定时让金山文档的AirScript脚本编辑器去运行脚本代码,脚本代码通过输入B1里面的refresh_token(令牌)。
实现自动签到,成功后,把提示输出填写在B2的格子里,整个自动化的过程就是这么简单。那么创建定时任务,我们也同样回到表格的编辑页面,还点击顶部菜单效率,打开高级开发,里面就有定时任务:

点击定时任务后,在左侧弹出来的页面中,点击创建任务,设置每天9点,跳过周末就没必要勾选了,周末咱也可以领鸡蛋的。
重点是下面的AirScript脚本,记得下拉选择刚才上面我们创建的脚本文件,最后确认就创建完成了:

04 令牌失效与运行监控的四件事
到这里,你就相当于成功部署了一个7×24小时x365天的云端在线机器人。以后不需要你开机开电脑,不需要你打开WorkBuddy的电脑客户端,哪怕你忘了,你不想,你懒得,不管你咋样都行。
它都能到点自动帮你签到领取每天的100个WorkBuddy免费积分,它都能帮你不错过任何一个鸡蛋的领取。除了以下情况:
1、refresh_token(令牌)的有效期一般是60天,每次脚本自动去签到的时候,都会刷新一下。正常情况下是不会失效,因为每次签到刷新后,都是最新的refresh_token(令牌)。
只有两种情况下会失效,一是你在WorkBuddy的电脑客户端上,退出了自己的账号。退出后,refresh_token(令牌)就得重新去获取,按照上面老马提供的提示词去操作就行。
二是如果脚本自动签到没有完成过一次,而你又多次地手动通过提示词去获取最新的令牌,那么之前的令牌就会失效,这个逻辑得搞清楚。
如果令牌失效了,每次你手动通过提示词去获取最新令牌后,都要记得去替换掉金山文档表格的B1格子里面的旧令牌,养成一个习惯。
2、如果WorkBuddy官方下架了Buddy加油站每天签到领积分的活动,这个不好说的,哪天会下架也说不定,那本文的方法自动失效,切勿纠结。
3、如何在没有打开WorkBuddy电脑客户端的情况下,判断自动签到脚本在正常运行中?关键点就是看每天有没有获取到平台的奖励积分。
老马这里介绍一个查看的方法,首先你电脑浏览器打开WorkBuddy的官网,地址是workbuddy.cn,使用你的账号登录后,鼠标移动到右上角的头像,就能看到个人中心,点击进入个人中心:

在个人中心页面的套餐与用量往下滑动,找到平台奖励积分,点击查看全部:

在弹出的窗口中,默认显示是10条/页记录,你可以点击切换显示100条。然后往下滑动,找到最近几天的官方活动发放记录。就可以清楚地看出来,最近几天自动签到脚本有没有正常在运行,正常在帮你领鸡蛋:

如上图所示,虽然它列表中没有显示具体是哪天签到获取的积分,而是显示积分到期的时间。一般来说,WorkBuddy签到送的积分,有效期是30天。所以你可以根据到期时间,去判断送的100积分具体是哪一天签到领取的。
4、有些小伙伴有多个WorkBuddy账号的,能不能通过老马本文中介绍的方法,挨个给每个账号也配置上自动签到脚本领取积分。
理论上是可行的,因为无非就是在金山文档上多创建几个表格文档,多搞几次AirScript编辑器里面脚本代码,多设置几次定时任务。
但实际上老马没有时间去测试,大家可以自行去测试看看。这里面唯一可能存在的卡点问题是,如果你在同一部电脑上的WorkBuddy客户端,切换多个账号去获取refresh_token(令牌),会不会产生冲突。
这个是需要测试之后才知道的,按道理每个账号的refresh_token(令牌)是不一样,这跟身份证一样,也不要随意把令牌分享给其它人。
当然,如果你是多台电脑设备上的WorkBuddy客户端,登录着不同的WorkBuddy账号,那去配置多个账号的自动签到领取积分,是一点问题都没有的。
作者:马佳彬 公众号:马佳彬
本文由 @马佳彬 原创发布于人人都是产品经理。未经作者许可,禁止转载
题图来自 Unsplash,基于CC0协议
- 目前还没评论,等你发挥!

起点课堂会员权益



