mirror of
https://github.com/OLmatter/glm-coding-helper.git
synced 2026-10-06 12:03:13 +08:00
fix(v23.17): 405 冷却 0=不冷却 现可生效(之前 \&\& 守卫会落到 20000 默认值)
两处 (CFG.RISK_CONTROL_COOLDOWN_MS || 20000) 改成 if (cd > 0) 显式判断。 现在配置为 0 真的能关闭冷却机制,脚本立即重试。
This commit is contained in:
@@ -2,6 +2,7 @@
|
||||
|
||||
## 2026-07-29
|
||||
|
||||
- 发布用户脚本 v23.17:fix 405 冷却"0 = 不冷却"配置项失效 bug。原代码 `(CFG.RISK_CONTROL_COOLDOWN_MS || 20000)` 用了 `||` 守卫,0 会被当 falsy 走 fallback 20000。等同于用户设 0 想关闭冷却,结果还是冷却 20 秒。改成 `if (cd > 0) riskCooldownUntil = Date.now() + cd;`,0 真的不冷却、不设置 cooldownUntil、脚本立即重试。
|
||||
- 发布用户脚本 v23.16:状态栏提示中文化。`isAirplanePayDialog` 路径下 `AUTO_CLOSE_INVALID` 未开启时的英文提示改为「⚠️ 自动关闭无效弹窗未开启,请手动确认后关闭此支付/限流弹窗」。
|
||||
- 发布用户脚本 v23.15:风控冷却状态栏提示加可配置入口。状态栏显示「🛑 风控冷却中(剩 Xs),可在配置面板「405 风控冷却」调整」,告诉用户冷却时间在哪改。
|
||||
- 发布用户脚本 v23.14:修复 v23.13 405 风控冷却优先级 bug。v23.13 在小飞机弹窗(`hasAirplaneInDialog`)警告前会拦截所有 fallback,导致 405 风控时状态栏继续显示"小飞机警告"而不是"风控冷却中(剩 Xs)",用户看不到冷却提示以为脚本卡死。修:①`checkPayDialog` 情况 D 守卫 `PS.result !== 'risk_control'`,让 405 走关闭 + 冷却路径。②WAITING 阶段(isAirplanePayDialog 路径)小飞机警告加 risk_control 守卫。③WAITING 阶段关弹窗分支(1495 那段)补 risk_control 时设 `riskCooldownUntil`(之前只有 1530 路径有)。④reason 三元加 risk_control 分支显示"🛑 风控拦截(405),关闭弹窗并冷却"。
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
// ==UserScript==
|
||||
// @name 智谱 GLM Coding Plan 抢购助手 + 本地 OCR 自动验证码
|
||||
// @namespace http://tampermonkey.net/
|
||||
// @version 23.16
|
||||
// @version 23.17
|
||||
// @description GLM Coding Rush / 智谱 GLM Coding Plan 抢购助手,一键抢购油猴脚本 / Tampermonkey userscript,配合本地 CPU/GPU OCR(PP-OCRv6)自动识别中文点选验证码并点击,支持多窗口并发、限流重试和支付页安全保护。订阅入口被风控拦截时手动点「特惠订阅」即可,验证码自动打。
|
||||
// @author mumumi
|
||||
// @include https://*bigmodel.cn/glm-coding*
|
||||
@@ -34,7 +34,7 @@
|
||||
// ==/UserScript==
|
||||
(function () {
|
||||
'use strict';
|
||||
const SCRIPT_VERSION = '23.16';
|
||||
const SCRIPT_VERSION = '23.17';
|
||||
const BOOT_BAR_ID = 'glm-helper-status-bar';
|
||||
const __glmHost = (() => { try { return location.hostname || ''; } catch { return ''; } })();
|
||||
const __inMiniMax = __glmHost === 'platform.minimaxi.com';
|
||||
@@ -646,6 +646,7 @@
|
||||
HOTKEY_AUTO_CLICK_SUB: 'F9',
|
||||
// 405 风控冷却(毫秒)。preview 接口返回 405 = 阿里云 WAF 速率风控,
|
||||
// 立即重试会越撞越多,关弹窗后进入冷却,让 WAF 阈值下降再恢复抢。
|
||||
// 0 = 不冷却(关闭整个 405 减速机制)。默认 20000ms(20秒)。
|
||||
RISK_CONTROL_COOLDOWN_MS: 20000,
|
||||
};
|
||||
function loadCfg() { try { const s = GM_getValue(STORAGE_KEY, null); return s ? { ...DEF, ...JSON.parse(s) } : { ...DEF }; } catch { return { ...DEF }; } }
|
||||
@@ -1487,9 +1488,10 @@
|
||||
}
|
||||
closeModal(rlw);
|
||||
const curName = `${TABS_MAP[tab]}·${PKGS_MAP[pkg]}`;
|
||||
// 405 风控时设冷却,避免立即重试越撞越多
|
||||
// 405 风控时设冷却。0 = 不冷却(直接重试);非 0 = 冷却对应毫秒。
|
||||
if (PS.result === 'risk_control') {
|
||||
riskCooldownUntil = Date.now() + (CFG.RISK_CONTROL_COOLDOWN_MS || 20000);
|
||||
const cd = CFG.RISK_CONTROL_COOLDOWN_MS;
|
||||
if (cd > 0) riskCooldownUntil = Date.now() + cd;
|
||||
}
|
||||
const nextIdx = qIdx + 1;
|
||||
const isLoop = nextIdx >= scanQueue.length;
|
||||
@@ -1536,9 +1538,10 @@
|
||||
: PS.result === 'risk_control'
|
||||
? `🛑 风控拦截(405),关闭弹窗并冷却`
|
||||
: `📉 ${TABS_MAP[taskTarget.tab]}·${PKGS_MAP[taskTarget.pkg]} 售罄`;
|
||||
// 405 风控时设冷却,避免立即重试越撞越多
|
||||
// 405 风控时设冷却。0 = 不冷却(直接重试);非 0 = 冷却对应毫秒。
|
||||
if (PS.result === 'risk_control') {
|
||||
riskCooldownUntil = Date.now() + (CFG.RISK_CONTROL_COOLDOWN_MS || 20000);
|
||||
const cd = CFG.RISK_CONTROL_COOLDOWN_MS;
|
||||
if (cd > 0) riskCooldownUntil = Date.now() + cd;
|
||||
}
|
||||
closePayDialog();
|
||||
lastCloseReason = reason;
|
||||
|
||||
Reference in New Issue
Block a user