WorkBuddy「Buddy 加油站」无需服务器 云端每日自动签到
WorkBuddy「Buddy 加油站」无需服务器 云端每日自动签到
终极方案:金山文档脚本
一。获取refresh_token(令牌)
获取
workbuddy-desktop.info:我的路径在C:\Users\Administrator\AppData\Local\CodeBuddyExtension\Data\Public\auth\workbuddy-desktop.info
Windows:
%LOCALAPPDATA%\CodeBuddyExtension\Data\Public\auth\workbuddy-desktop.infomacOS:
~/Library/Application Support/CodeBuddyExtension/Data/Public/auth/workbuddy-desktop.infoLinux:
~/.config/CodeBuddyExtension/Data/Public/auth/workbuddy-desktop.info
这个文件中有一项是refreshToken 有了令牌,就可以无需登录WorkBuddy的账号,让脚本通过接口去实现自动签到领积分。而这个脚本,是可以使用沙箱运行起来的。就算沙箱不是一直在线,只要每天通过云端定时任务去成功唤醒它
二。部署自动签到脚本
第一步。使用电脑浏览器打开金山文档的官网kdocs.cn,不需要去点击立即下载,下载客户端使用。我们只需要点免费使用即可,免费使用就是在线使用金山文档网页版的意思:

第二步. 创建表格

第三步.将 refreshToken 放到 B1中

第四步。部署脚本代码

打开AirScript脚本编辑器后,左侧列表中有一个+号按钮。点击一下就能创建一个新的文档共享脚本文件,默认创建的是未命名的脚本,我们直接输入WorkBuddy自动签到,作为该脚本的名称
把下面的脚本代码全部复制一下,粘贴到右侧的编辑框里面即可:点击保存
/**
* 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这个服务:

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

第六步。添加计划任务


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

![[Windows] Adobe Flash Player 34.0.0.92及可用版修改方法](https://attach.52pojie.cn/forum/202101/13/204548lkzrb850kkv5eyyv.png)

