Releases: HM2899/grokcli-2api
Releases · HM2899/grokcli-2api
Release list
v1.9.90 Claude Code tool parse + package layout
Highlights
- 修复 Claude Code
The model's tool call could not be parsed (retry also failed) - 空 schema 工具(EnterPlanMode / TaskList / ExitPlanMode 等)补
input: {} stop_reason=tool_use仅在实际发出 tool_use 内容块时返回- 丢弃不完整 tool arguments,不再下发
{"_raw":...}触发 malformed - 流式 / 非流式 Anthropic 兼容路径同一规则
Package layout
业务代码迁入 grok2api/:
grok2api/admin/— 管理台、API Key、设置、任务日志、用量grok2api/pool/— 账号池、认证、配额、模型健康、token 维护、会话粘性grok2api/protocol/— Anthropic / OpenAI Responses 协议兼容grok2api/upstream/— Grok 上游、OIDC、sub2api、代理grok2api/store/— Redis + PostgreSQL 适配
根目录与 store/* 保留兼容 shim,旧 import config / python app.py 仍可用。
Image
docker pull ghcr.io/hm2899/grokcli-2api:1.9.90
docker pull ghcr.io/hm2899/grokcli-2api:latestInherit
- v1.9.89 使用明细思考强度英文标签
- free-usage 硬冷却踢号 / 负载分散轮换 / CPA 会话粘性
v1.9.87 Token 过期移出轮询 · SSO 续期自愈 · 状态统计
Highlights
- Token 过期移出轮询:access token 过期 / 续期失败立刻
pool_status=expired,请求轮询硬排除;凭证保留 - 连续 2 次 RT 续期失败:第 1 次仅软过期;第 2 次有 SSO 则
sso_to_auth_json重转回池;无 SSO 则移出号池 - 续期成功回池:清失败计数;此前因无 SSO 被踢也会自动 re-enable(额度禁用除外)
- 首页状态统计:冷却 / 过期 / 禁用 / 轮询中直接数库内账号状态字段(
pool_status等),不再用墙钟推算 - 管理台:账号列表「过期」标签;概览展示过期数量
Images
docker pull ghcr.io/hm2899/grokcli-2api:1.9.87
docker pull ghcr.io/hm2899/grokcli-2api:latest镜像路径必须全小写。
v1.9.86 没额度直接冷却踢出 · 轮询负载分散 · CPA 会话粘性
Highlights
- 没额度直接冷却踢出:free-usage / 额度耗尽 / 429 rate-limit 命中后,账号立刻进入冷却池;
round_robin/least_used/random都不会再选到它。 - 冷却池硬排除:soft recovery 不再把冷却号拉回 live 链;粘账号冷却也不再注入。
- 轮询负载分散:pick 时 soft-mark(in-flight + soft last_used),多 worker 共享,避免并发扎堆同一账号。
- 会话粘性增强(CPA 思路):Claude Code
session_<uuid>、messages hash 兜底、model 隔离绑定、账号失效清绑定。 - 回池条件:仅测活成功或管理员解除(free-usage 冷却不会靠墙钟自动恢复)。
Images
docker pull ghcr.io/hm2899/grokcli-2api:1.9.86
docker pull ghcr.io/hm2899/grokcli-2api:latestLocal regressions
python3 scripts/_test_free_usage_hard_kick.py
python3 scripts/_test_strict_cooldown_rotation.py
python3 scripts/_test_rotation_load_spread.py
python3 scripts/_test_cpa_affinity_improvements.pySee scripts/README.md and README「本版本重点」.
v1.9.82 Update both-complete 路径纠偏 · 注册自动入库 sub2api
Highlights
- Update/Edit both-complete 路径纠偏(Claude Code → sub2api → grokcli-2api)
- 两边都是完整参数时,后到完整包为准(
path可覆盖错误file_path) - 不完整后到仍不能覆盖完整先到
- doubled JSON / 流式 merge / OpenAI Responses 镜像同步
- 回归覆盖 both-complete、doubled both-complete、incomplete 保护
- 两边都是完整参数时,后到完整包为准(
- 注册成功后自动入库 sub2api
- 设置项:
auto_push_on_register(系统设置 → sub2api) - 协议注册导入本地后立刻
push_account;失败只记结果,不拖垮注册
- 设置项:
- 继承 v1.9.81:注册 SSO 入库与备份、系统设置扩展、sub2api 账号容量、进度卡防连环 toast
Docker
docker pull ghcr.io/hm2899/grokcli-2api:1.9.82
docker pull ghcr.io/hm2899/grokcli-2api:latestUpgrade
重启即可。若要「注册后自动进 sub2api」:系统设置启用 sub2api、填 URL/登录/分组,并勾选「注册成功后自动入库 sub2api」。
v1.9.81 Update 偶发失效修复 · 注册 SSO 入库 · 设置扩展
Highlights
- Update 偶发
Error editing file修复(Claude Code → sub2api → grokcli-2api)- 后到完整 Update/Edit 参数覆盖先到的错误
file_path预览 - 完整包不被后续不完整
path别名覆盖 - 扩展别名:
target_file/target_path/old_text/new_text等 - OpenAI Responses 本地 merge 镜像同步;回归测试覆盖 doubled JSON / 流式 merge
- 后到完整 Update/Edit 参数覆盖先到的错误
- 注册账号持久化 SSO
- 导入时写入
sso/sso_cookie+ 密码到账号库 data/register_sso/文件备份- 账号列表显示 SSO 标记;导出 SSO 可走账号库(会话过期后仍可用)
- 导入时写入
- 系统设置扩展(热更新)
- Token 维护间隔 / 提前刷新窗口
- 模型健康探测间隔 / 自动踢出 / 探测模型列表
- 会话粘性 TTL
- 历史压缩阈值 / 保留轮数 / tool 结果上限
- OpenAI 每轮工具上限
- sub2api 推送账号容量
account_concurrency/priority/rate_multiplier可配置- 在线推送与导出格式均生效
- 注册进度 UI
- 已结束任务刷新不再连环 toast
- 不再伪造
running占位;活跃批次过滤更严
Docker
docker pull ghcr.io/hm2899/grokcli-2api:1.9.81
docker pull ghcr.io/hm2899/grokcli-2api:latestUpgrade
升级后重启即可;系统设置 / sub2api 配置会落库。新注册账号自动带 SSO;旧账号若当时未保存 SSO 不会自动补全。
v1.9.80 Update 路径纠偏 · 注册日志秒级刷新 · Watchdog
Highlights
- Claude Code → sub2api → grokcli-2api Update 读文件纠偏:
file_path规范键优先于path/filepath/file别名;流式 merge 先保留原始 key 再归一,避免打开错误路径 - OpenAI Responses / Anthropic 出口同步;
Update/StrReplace仍 remap 为Edit - 注册进度日志秒级刷新:多 worker 按 Redis
updated_at合并最新 session/batch;前端 trailing-edge 轮询(~1s)+ 并行拉取 - 等邮件阶段
on_tick心跳(waiting · Ns elapsed) - 大批量注册稳定:过盾排队心跳续期、运行中 Watchdog、Redis TTL 默认 72h
- MoeMail 创建 429/5xx 重试;device-flow 限流重试更强;probe 提前释放全局 inflight
Docker
docker pull ghcr.io/hm2899/grokcli-2api:1.9.80
# 或
docker pull ghcr.io/hm2899/grokcli-2api:latestUpgrade
docker compose pull
docker compose up -dNotes
- 管理台前端已更新
core.8a5df2f912.js;浏览器请硬刷新 - 全量回归:
scripts/_test_task_status_terminal.pyALL PASS
v1.9.79 注册机自愈恢复 · 全局并发保护
Highlights
- 注册机自愈:进程重启/发版后自动回收卡在
solving_turnstile/probing等状态的孤儿会话,并 resume 未完成批次 - 全局并发保护:
GROK2API_REG_GLOBAL_INFLIGHT限制跨批次同时注册数,避免多批×多线程冲垮本地过盾与 Device Flow - 本地 captcha resume 并发默认 3;过盾超时 / device-flow 失败时 soft-pause
- 启动默认只 auto-resume 最近 1 个未完成批次(
GROK2API_REG_AUTO_RESUME_MAX) - Admin API:
POST /admin/api/accounts/register-email/batches/{id}/resumePOST /admin/api/accounts/register-email/reclaim
- 继承 v1.9.78 导出注册 SSO、v1.9.77 device-flow 限流重试
Env
GROK2API_REG_GLOBAL_INFLIGHT=6
GROK2API_REG_LOCAL_CONCURRENCY=3
GROK2API_REG_AUTO_RESUME=1
GROK2API_REG_AUTO_RESUME_MAX=1
GROK2API_REG_STALE_SEC=120
GROK2API_REG_SOFT_PAUSE_SEC=8
GROK2API_SSO_DEVICE_GAP_SEC=1.2
GROK2API_SSO_DEVICE_RETRIES=3Docker
docker pull ghcr.io/hm2899/grokcli-2api:1.9.79
docker pull ghcr.io/hm2899/grokcli-2api:latestv1.9.78 导出注册 SSO
Highlights
- 导出注册 SSO:从注册会话一键导出 cookie(管理台 + API)
- 支持格式:纯 SSO /
sso=…/ 邮箱+SSO / 邮箱:密码:SSO / JSON - 支持
batch_id、status过滤与文件下载 - 继承 v1.9.77:Device Flow 限流节流与自动重试
API
POST /admin/api/accounts/register-email/export-sso
GET /admin/api/accounts/register-email/export-sso?format=sso&download=1&status=importedDocker
docker pull ghcr.io/hm2899/grokcli-2api:1.9.78
docker pull ghcr.io/hm2899/grokcli-2api:latestNote
SSO 来自注册会话内存;进程重启后若会话被清空则需重新注册再导出。账号库本身只存 OIDC token,不存 SSO。
v1.9.77 注册机 device-flow 限流重试
Highlights
- 注册机:SSO→token 的 OIDC Device Flow 全局节流(默认间隔
1.2s,GROK2API_SSO_DEVICE_GAP_SEC) - 限流自动重试:
device/code/ verify / approve 遇到 xAI429 slow_down/rate_limited时退避重试(默认 3 次,GROK2API_SSO_DEVICE_RETRIES) - 修并发注册「连着两个 SSO 已拿到但转换失败」
- 失败文案标明常见原因是 device-flow rate limit
- 继承 v1.9.76:Update→Edit、防假断流、Codex 思考链不泄漏
Docker
docker pull ghcr.io/hm2899/grokcli-2api:1.9.77
docker pull ghcr.io/hm2899/grokcli-2api:latestEnv (optional)
GROK2API_SSO_DEVICE_GAP_SEC=1.2
GROK2API_SSO_DEVICE_RETRIES=3v1.9.76 Update→Edit · 防假断流 · Codex 思考链不泄漏
Highlights
- Claude Code 工具:Grok 出站
Update/StrReplace全路径 remap 为Edit;path/oldString归一化为file_path/old_string;残缺编辑不下发 - 防假断流:soft-disconnect 假阳性不再丢中间 tool/text 帧;
DISCONNECT_HITS默认 5、SPAN2.5s - Codex:停止把
reasoning当output_text(修 v1.9.73 加速副作用导致的思考链泄漏);空响应走 empty_complete / failover - 本地 Camoufox 过盾仅 Proxyless(跳过 YesCaptcha M1 误报)
- 继承 early SSE / TTFT 明细 / sub2api 终态帧
Docker
docker pull ghcr.io/hm2899/grokcli-2api:1.9.76
docker pull ghcr.io/hm2899/grokcli-2api:latestPaths touched
anthropic_compat.py/openai_responses.py/app.py— tool remap + stream reliability + reasoning isolationscripts/_test_task_status_terminal.py— remap / soft-disconnect / Codex leak regressionsgrok_build_adapter.py+ turnstile solver — local Proxyless-only captcha