Skip to content

Releases: HM2899/grokcli-2api

v1.9.90 Claude Code tool parse + package layout

Choose a tag to compare

@HM2899 HM2899 released this 15 Jul 16:01

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:latest

Inherit

  • v1.9.89 使用明细思考强度英文标签
  • free-usage 硬冷却踢号 / 负载分散轮换 / CPA 会话粘性

v1.9.87 Token 过期移出轮询 · SSO 续期自愈 · 状态统计

Choose a tag to compare

@HM2899 HM2899 released this 15 Jul 12:58

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 会话粘性

Choose a tag to compare

@HM2899 HM2899 released this 15 Jul 08:06

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:latest

Local 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.py

See scripts/README.md and README「本版本重点」.

v1.9.82 Update both-complete 路径纠偏 · 注册自动入库 sub2api

Choose a tag to compare

@HM2899 HM2899 released this 15 Jul 06:54

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:latest

Upgrade

重启即可。若要「注册后自动进 sub2api」:系统设置启用 sub2api、填 URL/登录/分组,并勾选「注册成功后自动入库 sub2api」。

v1.9.81 Update 偶发失效修复 · 注册 SSO 入库 · 设置扩展

Choose a tag to compare

@HM2899 HM2899 released this 15 Jul 06:32

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
  • 注册账号持久化 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:latest

Upgrade

升级后重启即可;系统设置 / sub2api 配置会落库。新注册账号自动带 SSO;旧账号若当时未保存 SSO 不会自动补全。

v1.9.80 Update 路径纠偏 · 注册日志秒级刷新 · Watchdog

Choose a tag to compare

@HM2899 HM2899 released this 15 Jul 05:00

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:latest

Upgrade

docker compose pull
docker compose up -d

Notes

  • 管理台前端已更新 core.8a5df2f912.js;浏览器请硬刷新
  • 全量回归:scripts/_test_task_status_terminal.py ALL PASS

v1.9.79 注册机自愈恢复 · 全局并发保护

Choose a tag to compare

@HM2899 HM2899 released this 14 Jul 19:00

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}/resume
    • POST /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=3

Docker

docker pull ghcr.io/hm2899/grokcli-2api:1.9.79
docker pull ghcr.io/hm2899/grokcli-2api:latest

v1.9.78 导出注册 SSO

Choose a tag to compare

@HM2899 HM2899 released this 14 Jul 17:44

Highlights

  • 导出注册 SSO:从注册会话一键导出 cookie(管理台 + API)
  • 支持格式:纯 SSO / sso=… / 邮箱+SSO / 邮箱:密码:SSO / JSON
  • 支持 batch_idstatus 过滤与文件下载
  • 继承 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=imported

Docker

docker pull ghcr.io/hm2899/grokcli-2api:1.9.78
docker pull ghcr.io/hm2899/grokcli-2api:latest

Note

SSO 来自注册会话内存;进程重启后若会话被清空则需重新注册再导出。账号库本身只存 OIDC token,不存 SSO。

v1.9.77 注册机 device-flow 限流重试

Choose a tag to compare

@HM2899 HM2899 released this 14 Jul 16:55

Highlights

  • 注册机:SSO→token 的 OIDC Device Flow 全局节流(默认间隔 1.2sGROK2API_SSO_DEVICE_GAP_SEC
  • 限流自动重试device/code / verify / approve 遇到 xAI 429 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:latest

Env (optional)

GROK2API_SSO_DEVICE_GAP_SEC=1.2
GROK2API_SSO_DEVICE_RETRIES=3

v1.9.76 Update→Edit · 防假断流 · Codex 思考链不泄漏

Choose a tag to compare

@HM2899 HM2899 released this 14 Jul 16:44

Highlights

  • Claude Code 工具:Grok 出站 Update / StrReplace 全路径 remap 为 Editpath/oldString 归一化为 file_path/old_string;残缺编辑不下发
  • 防假断流:soft-disconnect 假阳性不再丢中间 tool/text 帧;DISCONNECT_HITS 默认 5、SPAN 2.5s
  • Codex:停止把 reasoningoutput_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:latest

Paths touched

  • anthropic_compat.py / openai_responses.py / app.py — tool remap + stream reliability + reasoning isolation
  • scripts/_test_task_status_terminal.py — remap / soft-disconnect / Codex leak regressions
  • grok_build_adapter.py + turnstile solver — local Proxyless-only captcha