WorkBuddy 自动签到教程:不开电脑,每天 100 积分照样到账
- 免费干货
- 10热度
- 0评论

WorkBuddy 的签到是个很讲原则的东西:每天 100 积分,只看一个条件——你开没开机。
假期出去玩几天,回来打开客户端,签到日历断成一截。它不会补,也不听解释。
对了,注册入口先放在这儿(含邀请性质):https://www.workbuddy.cn/events/invite?inviteCode=om6x7io29vnl 。官方活动页的条款是「好友注册即享 2,000 积分 新用户福利」,10 月 31 日截止,以页面为准。
这 100 积分,先算笔账
先说这 100 积分能干什么。整理一份会议纪要,消耗差不多就是 100 积分,刚好一天的签到量(这是流传教程作者实测的口径,我对照了自己 9 月写的 WorkBuddy 积分体系,对得上:国内版积分本来就是按任务链路扣的)。
这个折算不用猜:官网充值页明码标价,1,000 积分卖 50 块,还注明不可退款。一年满签 36500 积分,折下来 1,825 块——听听就好,积分不能提现,但它确实实打实抵任务消耗。

问题是:人不在电脑前,怎么让它照签?
三条老路,撑不过一个假期
常见路子我盘了一遍,都撑不过一个假期。
客户端开机自启加自动签到,前提是开机;WorkBuddy 自己的云端沙箱定时唤醒,稳定性看运气;租台云服务器挂客户端,最便宜的一个月几十块,比签到攒的东西还贵,倒挂。
真正的思路一句话就能说清:签到这个动作,本质不是「点按钮」,是带着你的合法令牌调一次官方接口。那把令牌搬到一个永远在线、不要钱的环境里,让它每天替你发一次请求,就行了。
金山文档的 AirScript 脚本,正好白送这个环境。
第一步:取出账号的「门禁卡」
必须用 Windows 或 Mac 的电脑客户端,小程序和手机 App 拿不到。打开 WorkBuddy,新建一个对话,把下面这段话原样发给它:
帮我提取 WorkBuddy 的 refreshToken。
读取客户端登录态文件,Windows 路径%LOCALAPPDATA%\CodeBuddyExtension\Data\Public\auth\workbuddy-desktop.info,macOS 路径~/Library/Application Support/CodeBuddyExtension/Data/Public/auth/workbuddy-desktop.info。
只提取 auth.refreshToken 字段,完整输出约 700 字符,不要截断、不要加引号或代码块。
几秒钟后它会回一长串字符,700 个字符上下,一个都不能少。顺手说个细节:WorkBuddy 自己在返回结果时会提醒你——这串东西属于敏感凭据,能长期刷新你的登录态,别张贴到公开场合,不用了建议尽快让它失效。
连它自己都这么提醒,你就知道该多小心。

第二步:金山文档里放把钥匙
浏览器打开 kdocs.cn,微信扫码登录,网页版就够。新建一张空白表格:B1 粘贴刚才那串令牌;B2 空着,留给脚本写日志——哪天想起来了瞄一眼,就知道签没签成功。
这张表就是你的凭据箱,别共享给任何人,包括截图的时候。
第三步:把脚本装进表格
在表格里点「效率」→「高级开发」→「AirScript 脚本编辑器」,点左侧加号新建脚本。这里有个坑:必须选「文档共享脚本」,选成「我的脚本」,后面定时任务找不到它。
新建后把编辑区默认内容全删,粘进这段(流传版本逐行核对过,35 行):
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;
}
var 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"
});
if (r.code !== 0 || !r.data) {
Application.Range("B2").Value2 = "刷新失败:" + r.msg;
return;
}
var at = r.data.accessToken;
Application.Range("B1").Value2 = r.data.refreshToken;
var c = postJSON(API + "/v2/billing/meter/daily-checkin", {
"Content-Type": "application/json",
"Authorization": "Bearer " + at
});
var msg = c.code === 0 ? "签到成功 +100 积分"
: (c.code === 10001 ? "今日已签(自动跳过)"
: "签到异常 code=" + c.code);
var now = new Date();
Application.Range("B2").Value2 = (now.getMonth()+1) + "月"
+ now.getDate() + "日 " + msg;
}
main();
粘完先点保存,再点「服务授权」→「添加服务」→把「网络 API」加上——不加这个,脚本的 HTTP.post 发不出去请求。然后点调试按钮跑一次,弹授权窗点允许。
回表格看 B2,显示「签到成功 +100 积分」,这条链路就通了。

这段脚本有三个设计值得点名,尤其是第二个:
一,先刷新再签到。用 refreshToken 换一次性的 accessToken,拿去调签到接口,不把长期凭据裸奔。
二,新令牌回写 B1。官方每次刷新会轮换 refreshToken,旧的随时可能作废——脚本把新令牌写回 B1,下次接着用。这是它能一个月不看的自愈设计,也是它跟「一次性脚本」的区别。
三,code 10001 判成「今日已签」。你哪天手动签过了,它不会重复提交。
第四步:定个闹钟
表格里「效率」→「高级开发」→「定时任务」→创建任务:每天上午 9 点,「跳过周末」不勾(积分天天都有),绑定刚才那个共享脚本。
从这一步起,电脑关一个月、送修、扔柜子里,它每天到点替你领。

三个坑提前说
我把这套流程能核验的都核验了一遍,坑和丑话都放这儿。
一,接口域名别照抄了事。我拿假令牌敲了一下 copilot.tencent.com 的刷新接口,端点是活的——它回「token format error」,说明门真在那儿,只是不认假卡。但流传教程里也有写成 codebuddy.cn 的版本,客户端版本不同域名会变。脚本报 404,先打开 auth 文件看里面记的 domain 字段,照那个改。
二,提示令牌失效别慌。大概率是你后来在别处取过新令牌,旧的被顶掉了。重做第一步,换掉 B1 里的内容就行。
三,别买二手「代签脚本」「8 块 8 五千积分」。令牌交出去,等于对方能以你的身份刷新登录态——你的对话、你写的文档,人家后台都看得见。省 8 块 8,卖的是你全部记录。
丑话也说在前面:这是非官方路子,接口一改就失效,官方条款上灰色地带始终存在。介意这些的,就老老实实点客户端左下角的「Buddy 加油站」手动签,一天也就十秒钟。
写在最后
这方案说穿了不值钱:把「人肉点按钮」换成「云端代发请求」,五分钟配置。
但那个念头值钱——任何「每天必须我亲手做一次」的小事,都值得先问一句:能不能交给一个永远在线的环境。
开头那笔账再算一遍:一天 100 积分,一年 36500——按官方充值价折,是 1,825 块。你的会议纪要、周报、文档初稿,都能少花点积分。
这笔账,怎么算都不亏。
这类小路子我隔三差五就拆一个,关注别错过。
要是你也有自己的自动签到方案,评论区聊聊,顺手点个赞、点个在看。
几个常见问题
WorkBuddy 签到在哪领?
电脑客户端左下角「Buddy 加油站」,每天 100 积分。
refreshToken 是什么?
客户端登录态里的长期令牌,谁拿到谁能以你的身份刷新登录态,等同钥匙。
脚本报 404 怎么办?
接口域名与客户端版本有关,打开 auth 文件看 domain 字段,替换脚本里的两处域名。
手机能配吗?
取令牌必须电脑客户端;金山文档侧网页版就行,配脚本建议在电脑上一次配完。