Skip to content

Jasmyn-X/glm-coding-grabber

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 

Repository files navigation

GLM Coding Plan 抢购助手

一个 Tampermonkey 油猴脚本,帮你定时自动抢购智谱 GLM Coding Plan。每天放量秒空、按钮一变灰就抢不到的痛点,本脚本通过服务器时间对齐 + DOM 变更监听 + 可点瞬间自动触发来解决。

⚠️ 声明:本工具仅用于辅助个人购买,模拟的是人类点击行为(速度更快),不绕过任何价格、库存或风控机制。使用前请阅读 bigmodel.cn 服务条款,自负其责。请勿用于黄牛、转售或大规模并发。


特性

  • 服务器时间对齐:抓取目标站 HTTP Date 响应头,自动校准本地时钟偏移,避免电脑慢半秒错过开抢
  • 🎯 双策略找按钮:CSS 选择器 + 文字关键词("立即购买/开通/抢购/领取"等),多档套餐时按关键词锁定目标档位
  • 🚀 冲刺模式:T-3 秒进入冲刺,MutationObserver 监听 DOM 变更 + 120ms 轮询双保险,按钮变可点的那一帧立即触发
  • 🔁 失败自动重试:上限 80 次,可调
  • 🔊 成功提醒:三声蜂鸣 + 系统通知 + 浏览器标题闪烁,提示你立即扫码支付
  • 💾 状态持久化:配置保存在 Tampermonkey 存储,T-0 强制 reload 选项重载后自动恢复冲刺态
  • 🎛 可视化面板:可拖拽的悬浮控制台,含倒计时、状态、实时日志、测试按钮

安装

1. 装 Tampermonkey 浏览器扩展

Chrome / Edge / Firefox 应用商店搜 Tampermonkey 安装。

Chrome 需额外开启:地址栏 chrome://extensions/ → 找到 Tampermonkey 详情 → 打开 "允许访问文件网址"。

2. 加载脚本

任选一种:

  • 方式 A:点 Tampermonkey 图标 → 创建新脚本 → 把 glm-coding-grabber.user.js 全文复制粘贴覆盖默认模板 → Ctrl+S 保存
  • 方式 B:把 .user.js 文件直接拖进 Tampermonkey 管理面板
  • 方式 C:浏览器打开 GitHub Raw 链接,Tampermonkey 会自动识别并提示安装

使用

第一次跑(先验证选择器能找到按钮)

  1. 用 Chrome 登录智谱账号
  2. 打开 https://www.bigmodel.cn/glm-coding
  3. 右下角出现黑色面板
  4. "测试找按钮" → 看日志:
    • 找到候选并被红框圈出 ✅ → 直接进入下一步
    • 找不到 ❌ → 见下方"调优"章节
  5. "测铃" → 听到三声"嘀-嘟-嘀"说明音频和系统通知权限正常

抢购流程

  1. 提前 5-10 分钟打开 GLM Coding 页面,保持登录态
  2. "开抢时间" 改成实际放量时间(务必到官方公告/官方群确认精确秒数)
  3. "套餐关键词" 填想抢的档位名(如 ProMax包年),单档套餐留空
  4. "武装" → 黄色倒计时开始跳秒
  5. 不要切到别的浏览器标签太久(部分浏览器会限制后台标签的 JS 执行速度)
  6. T-3 秒自动进入冲刺,按钮可点的瞬间自动点击
  7. 三声蜂鸣 + 系统通知 + 标题变 "⚡ 抢到了!" → 立即用手机扫码支付

调优:找不到按钮怎么办

智谱页面用了 React,按钮 class 是哈希过的,文字关键词通常够用。如果"测试找按钮"找不到:

  1. F12 打开 DevTools
  2. 右键页面上的"立即购买"按钮 → 检查
  3. 在 Elements 面板找一个稳定的 class,比如 class="purchase-btn ant-btn-primary"
  4. .purchase-btn 粘到面板的 "按钮 CSS 选择器" 框(一行一个)
  5. 再点"测试找按钮"验证

抢购成功率提升技巧

项目 建议
网络 有线 > Wi-Fi > 4G;RTT 每减 50ms 都是胜算
浏览器 关掉无关标签和扩展,避免主线程被抢占
登录态 开抢前 1 分钟手动点一下"我的账户"确认 cookie 未过期
多保险 开 2-3 个标签页一起武装,万一一个卡住还有备份
时钟校准 不靠脚本:Windows 设置 → 时间和语言 → 同步时间
时间确认 官方公告/官方群核实精确秒数(10:00:00 vs 10:00:30 差距巨大)

配置项

面板里可改,也可直接编辑脚本 DEFAULTS 对象:

字段 默认值 含义
targetTime "10:00:00" 开抢时间(本地 HH:MM:SS)
planKeyword "" 套餐过滤关键词
buttonSelectors [] 手工 CSS 选择器列表
buttonTexts 内置列表 按钮文字关键词
sprintBeforeMs 3000 T-N 毫秒进入冲刺
reloadAtT0 false T-0 强制重载页面
retryIntervalMs 120 冲刺轮询间隔
maxRetries 80 最大重试次数

工作原理

T-30min  →  打开页面,手动武装
T-?      →  fetch /favicon.ico HEAD 取 7 次样本,按 RTT 排序取低延迟均值,算 server-local 偏移
T-3s     →  startSprint(): MutationObserver(class/disabled/style 变更) + setInterval(120ms) 双轮询
T-0      →  按钮 disabled 解除瞬间 → MutationObserver 触发 attempt() → findButtons() → isClickable() → click()
T+0      →  三声 OscillatorNode 蜂鸣 + GM_notification + document.title 闪烁
T+0~4s   →  继续冲刺以处理"确认开通"/"立即支付"等弹窗
扫码     →  人工完成

FAQ

Q: 这算外挂吗?会封号吗? A: 脚本只是模拟你自己手快点击,不调用任何私有 API,不伪造任何数据。但智谱条款里可能禁止自动化访问,封号风险自负。建议同一个号别开十几个标签页疯狂武装。

Q: 为什么我倒计时正常但没自动点? A: 八成是按钮没找到。开抢前先点"测试找按钮"验证;找不到就按"调优"章节补 CSS 选择器。也可能是套餐关键词没匹配到——留空试试。

Q: 用 Playwright/Selenium 不是更快吗? A: 不见得。脚本内嵌在已登录的浏览器里,省掉 cookie 同步、二次登录、扫码会话保持的麻烦。Playwright 需要本地跑 Python/Node 进程,对扫码支付不友好。

Q: 移动端能用吗? A: 不能,Tampermonkey 主要在桌面浏览器。手机抢购请用浏览器自带的网页(智谱有 App 但本脚本不针对 App)。


License

MIT — 用之前请读上面那个"声明"。

About

Tampermonkey userscript: 智谱 GLM Coding Plan 定时自动抢购助手 (服务器时间对齐 + DOM 监听 + 自动点击)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors