GitHub Actions 的自带定时功能很不稳定,实测大概率不会自动触发,使用 cron-job.org(免费服务)来触发签到。
| 功能 | 说明 |
|---|---|
| 🎯 精准积分 | 获取真实积分数据 + 每日变化量 |
| 🎁 兑换提示 | 显示当前可兑换选项及差额 |
| 📱 tg推送 | Markdown 富文本报告:每个账号一个可折叠 <details> 卡片,点开展开详情(sendRichMessage 免费,失败自动降级旧版格式) |
本项目支持以下环境变量配置:
| 变量名 | 必填 | 说明 |
|---|---|---|
GLADOS_COOKIE |
✅ 是 | GLaDOS 的 Cookie。多个账号一行一个,每行末尾可用 #策略 单独设置兑换(见下文) |
TELEGRAM_BOT_TOKEN |
❌ 否 | Telegram 机器人的 Token(例如 123456:ABC-DEF1234...) |
TELEGRAM_CHAT_ID |
❌ 否 | 接收推送的 Telegram Chat ID |
GLADOS_COOKIE 中一行一个账号,每行末尾可以用 # 追加该账号的兑换策略:
# 以 # 开头的行是注释,可用来标记账号,会被忽略
gld:sess=账号A的长串; gld:sess.sig=短串A#plan200
gld:sess=账号B的长串; gld:sess.sig=短串B#off
gld:sess=账号C的长串; gld:sess.sig=短串C
- 账号 A:积分够 200 时自动兑换 plan200
- 账号 B:只签到,永不兑换
- 账号 C:行尾未设置策略,只签到不兑换
支持的策略值:plan100 / plan200 / plan500 / off(off 也可写成 false、0、no、关闭)。以 # 开头的行视为注释,写错策略名会告警并跳过兑换,不影响签到。
点击页面右上角的 Fork 按钮,将项目复制到你的账号下。
打开浏览器,登录:https://glados.cloud 按 F12 打开开发者工具 找到: Chrome:Application → Cookies Firefox:存储 → Cookies 选择 glados.cloud 复制完整 Cookie 内容
gld:sess=xxxxxx; gld:sess.sig=yyyyyy
gld:sess 和 gld:sess.sig 两个都要,只填 gld:sess 会返回 No permission
将两个值按以下格式组合,注意格式必须完全正确:
gld:sess=你的长字符串; gld:sess.sig=你的短字符串
正确示例:
gld:sess=eyJ1c2VySWQiOjEyMzQ1Njc4OTB9; gld:sess.sig=abcdef123456
⚠️ 站点签发 Cookie 已从koa:sess改为gld:sess,且服务端已废弃旧的 koa 格式: 填koa:sess=...; koa:sess.sig=...会在所有域名返回code:-2 没有权限,无法签到。 两者不是同一种凭证(koa 是 JWT 明文,gld 是gld_<40位hex>的库内查询串),无法本地转换。 请重新登录 glados.cloud,从 DevTools → Application → Cookies 复制新的gld:sess+gld:sess.sig。 脚本检测到旧格式时会打印告警,报错信息里也会提示鉴权失败,方便定位。
常见错误:
- ❌ 缺少分号
; - ❌ 缺少空格(分号后需要一个空格)
- ❌ 值两边多了引号
- ❌ 复制了多余的空格或换行
- 进入你 Fork 的仓库
- 点击 Settings(设置)
- 左侧菜单找到 Secrets and variables → Actions
- 点击右上角 New repository secret
添加以下三个 Secret:
| Name | Value | 必需 |
|---|---|---|
GLADOS_COOKIE |
第二步组合的 Cookie | ✅ 是 |
TELEGRAM_BOT_TOKEN |
Telegram 机器人的 Token(例如 123456:ABC-DEF1234...) |
❌ 否 |
TELEGRAM_CHAT_ID |
接收推送的 Telegram Chat ID | ❌ 否 |
- 进入你 Fork 仓库的 Actions 标签页
- 如果看到黄色提示,点击 I understand my workflows, go ahead and enable them
- 点击左侧的 GLaDOS Checkin
- 点击右侧 Run workflow 按钮手动测试一次
- 访问 https://github.com/settings/tokens
- 点击 Generate new token → Generate new token (classic)
- 按如下配置:
| 选项 | 值 |
|---|---|
| Name | glados-cron(任意名称) |
| Expiration | 选择 90 天或更久 |
| 勾选权限 | ✅ workflow(在 repo 下方) |
- 点击底部 Generate token
- 立即复制生成的 token(格式类似
ghp_1234567890abcdef...,只显示一次!)
💡 Token 示例:
ghp_NXLTUqT51BFfilsaZNlaVstacNnkZc4PYCNa
- 访问 https://cron-job.org 注册账号(免费)
- 注册后登录,点击 Create Cronjob 创建任务
按照以下配置填写:
基本信息:
| 选项 | 填写 |
|---|---|
| Title | GLaDOS 签到 |
| URL | [https://api.github.com/repos/你的用户名/glados-checkin/actions/workflows/checkin.yml/dispatches |
⚠️ 重要:把你的用户名改成你的 GitHub 用户名!`
执行时间:选择每天 07:00(Asia/Shanghai 时区)
高级配置(点击 Advanced 展开):
| 选项 | 值 |
|---|---|
| Request method | POST |
| Time zone | Asia/Shanghai |
请求头(Headers):点击 "+ 添加" 添加三行:
| Key | Value |
|---|---|
Accept |
application/vnd.github.v3+json |
Authorization |
token 你复制的GitHub_Token |
Content-Type |
application/json |
⚠️ 注意:Authorization 的值是token+ 空格 + 你的 Token,例如:token ghp_NXLTUqT51BFfilsaZNlaVstacNnkZc4PYCNa
请求体(Request body):选择 Raw Body,填入:
{ "ref": "main" }配置完成后点击 Save 保存。
- 在任务列表点击 Test run 测试
- 成功会显示 204 No Content ✅
- 到 GitHub 仓库的 Actions 页面查看,应该有新的运行记录
| 错误 | 现象 | 原因 | 解决方法 |
|---|---|---|---|
| 401 Unauthorized | 认证失败 | Authorization 格式错误 | 必须是 token ghp_xxx,注意 token 后有空格 |
| 422 Unprocessable Entity | 请求无法处理 | Body 缺少 ref 参数 | 改为 {"ref": "main"} |
| Accept 被截断 | 配置错误 | 输入框显示不全 | 完整值:application/vnd.github.v3+json |
| Token 有空格 | 认证失败 | Token 被意外截断 | Token 是连续字符串,中间不能有空格 |
| 权限不足 | 403 错误 | Token 无 workflow 权限 | 重新生成 Token,勾选 workflow 权限 |
💡 小贴士:遇到 401/422 错误时,先检查上面三行 Headers 是否完全正确!
🎉 完成! 以后每天 7:00 会自动签到,注意有可能有延迟。
| 文件 | 说明 |
|---|---|
| checkin.py | 核心签到脚本 |
.github/workflows/checkin.yml |
GitHub Actions 配置 |
| requirements.txt | Python 依赖 |
images/ |
教程截图 |
MIT
🔧 本项目经过 2026-05-07 验证可用!



