Releases · HM2899/grokcli-2api · GitHub
Skip to content
This repository was archived by the owner on Oct 8, 2026. It is now read-only.

Releases: HM2899/grokcli-2api

v2.0.4 容器内热更新 · API Key · 注册资源/日志

Choose a tag to compare

@HM2899 HM2899 released this 21 Jul 03:29

Highlights

  • 容器内版本与热更新:管理台对照 GitHub Release;挂载 docker.sock 后在容器内 docker pull + compose force-recreate,无需宿主机 watcher(仍可用 request_file 兼容旧部署)
  • API Key 新建可见:列表最新在前、创建后乐观插入;stats 失败不拖垮列表;NULL note 安全扫描
  • 注册优化:默认并发更保守、Redis 镜像节流、stop 立即释放 receiver/client;前端 ~140ms 轮询、稳态 batch-only
  • 继承 v2.0.3:TempMail.lol、empty model output 模型封禁、邮件 Key 槽位防污染

镜像(GHCR,路径全小写)

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

容器内热更新(compose)

volumes:
  - /var/run/docker.sock:/var/run/docker.sock
  - ./:/compose
environment:
  GROK2API_HOT_UPDATE_MODE: docker
  GROK2API_COMPOSE_DIR: /compose
  GROK2API_DOCKER_SERVICE: grokcli-2api

镜像内含静态 docker 客户端与 scripts/g2a-hot-update-incontainer.sh。

版本钉

  • grok2api/app.py APP_VERSION=2.0.4
  • internal/buildinfo.Version=2.0.4
  • git tag v2.0.4

v2.0.3 TempMail.lol · reg log latency · empty-output failover

Choose a tag to compare

@HM2899 HM2899 released this 20 Jul 12:58

Highlights

  • TempMail.lol 协议注册:免费层 Key/域名默认可空;独立槽位 tempmail_api_key / tempmail_domain,与其它邮箱服务互不覆盖;删除后保存不恢复旧值
  • 注册日志低延迟:管理台进度约 180ms 轮询;优先单次 batch(内嵌 log_lines);Go→sidecar 超时 900ms
  • empty model output 治理:开流最长 15s 空流探测并换号 failover;账号+模型写入 模型封禁(GROK2API_EMPTY_OUTPUT_BLOCK_SEC,默认 600s)
  • 邮件 Key 防污染:切换邮箱服务时 sanitize,避免 YYDS AC-* 污染 MoeMail mk_* 槽
  • 管理台清理:去掉冷却「叠加×N」展示;用量页移除「按上游账号」

镜像(GHCR,路径全小写)

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

main 推送另打 edge / 2.0.3 raw tag;v2.0.3 推送触发 semver + latest。

升级

见 README「从 1.x / 旧版升级到 2.0.3」与 docs/UPGRADE.md。

版本钉

  • grok2api/app.py APP_VERSION=2.0.3
  • internal/buildinfo.Version=2.0.3
  • git tag v2.0.3

v2.0.2 quota persist · probe re-enter · multimodal · sort

Choose a tag to compare

@HM2899 HM2899 released this 20 Jul 09:31

Highlights

  • 额度持久化:账号类型(Free/SuperGrok)与 token/美元用量写入 PostgreSQL account_pool.last_quota;失败探测 merge 不覆盖真数据;error 壳不落库
  • 测活回池:新注册账号测活成功保持 轮询中;额度二次探测误报 exhausted 时自动 ClearAccountCooldown
  • 自动额度刷新:降并发、轮询补缺、同账号冷却,减轻代理 Too many open connections 扫库污染
  • 多模态保留:OpenAI image_url / Anthropic base64 → Responses input_image;历史压缩不把图压成纯文本
  • Hermes / Codex shell:terminal 保留 command;Codex shell 仍投影 cmd
  • 号池排序:默认按加入时间(create_time)稳定排序;排序仅在「全部」可用;修复 oldest 被误归一成 newest
  • 文档:README + docs/UPGRADE.md 补充 1.x → 2.0.2 迁移速览

从 1.x 升级

# 备份
docker exec grokcli-2api-postgres pg_dump -U grok2api -d grok2api \
  > ~/grok2api-backup-$(date +%F-%H%M%S).sql

# 拉镜像(必须全小写)
docker pull ghcr.io/hm2899/grokcli-2api:2.0.2
# compose image 改为 :2.0.2 或 :latest 后
docker compose up -d

# 硬刷管理台 Ctrl+F5;检查 /health 与账号/Key/额度回填
curl -fsS http://127.0.0.1:3000/health || curl -fsS http://127.0.0.1:40081/health

完整步骤见 README 与 docs/UPGRADE.md。

Images

  • ghcr.io/hm2899/grokcli-2api:2.0.2
  • ghcr.io/hm2899/grokcli-2api:latest
  • ghcr.io/hm2899/grokcli-2api:edge (main)

镜像由 docker-publish.yml 在 push v2.0.2 tag 时自动构建(linux/amd64 + arm64)。

v2.0.1 Docker auto-migrate + schema_migrations fix

Choose a tag to compare

@HM2899 HM2899 released this 18 Jul 14:49

Highlights

  • Docker entrypoint auto-migrate:启动前执行 grok2api-migrate up,修复空库 schema_migrations does not exist (SQLSTATE 42P01)
  • 合约不变:Go 应用进程仍只校验 checksum,不在启动时改 schema
  • 开关:GROK2API_AUTO_MIGRATE=0 可关闭入口自动迁移;GROK2API_MIGRATE_WAIT_SEC 控制等待 Postgres 重试秒数
  • 文档:补充备份 → migrate → verify → restart 运维恢复步骤(README / docs/UPGRADE.md)

Upgrade / recovery

# 新部署:直接 compose up,入口会自动 migrate
docker compose up -d --build

# 已部署旧镜像 / 手动恢复:
docker exec grokcli-2api-postgres pg_dump -U grok2api -d grok2api \
  > /root/grok2api-before-migration-$(date +%F-%H%M%S).sql
docker exec grokcli-2api /app/bin/grok2api-migrate -dir /app/migrations up
docker exec grokcli-2api /app/bin/grok2api-migrate -dir /app/migrations verify
docker restart grokcli-2api
curl -fsS http://127.0.0.1:3000/health || curl -fsS http://127.0.0.1:40081/health

Images

  • ghcr.io/hm2899/grokcli-2api:2.0.1
  • ghcr.io/hm2899/grokcli-2api:latest
  • ghcr.io/hm2899/grokcli-2api:edge (main)

迁移 SQL 使用 CREATE TABLE IF NOT EXISTS / ADD COLUMN IF NOT EXISTS,兼容旧库,不会清空已有账号和 API Key。

v2.0.0 Go main runtime + admin pool reliability

Choose a tag to compare

@HM2899 HM2899 released this 18 Jul 13:36

Highlights

  • Go 主进程正式版:公开 API / 管理台默认 Go;Python 仅 sidecar(注册机 / SSO / 过盾)
  • 流式 tool 可靠性:tool 帧原子写出;软断/写失败 force-finish,减少 Tool use interrupted
  • 管理台状态对齐:额度 / 模型测试写回 account_pool 后刷新轮询状态;状态筛选与顶部统计同源
  • 冷却统计修正:冷却不再按失败次数叠乘到多天;free-usage 只冷却不写模型封禁
  • 筛选少号修复:状态 chips 与「有 SSO」叠加时不再悄悄少号;chips 显示全库计数
  • 分支策略:main = Go 2.x;python = 纯 Python 快照(次要分支,本版本未覆盖)

Images (lowercase path required)

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

Upgrade notes

  • Runtime remains hybrid (PostgreSQL + Redis). Prefer docker compose pull && docker compose up -d.
  • Local bind-mount of ./bin overrides image binary — rebuild host bin/grok2api or remove the mount after upgrade.
  • Do not force-push main or rewrite the python branch.

Full changelog

Commits on main for tag v2.0.0.

v1.9.91 corrected package

Choose a tag to compare

@HM2899 HM2899 released this 16 Jul 03:38

v1.9.91(纠正后强制推送)

本 tag 已强制覆盖错误包,指向当前完整代码:

本包包含

  • Go migration 性能:全部模型探测并发 / 多波次异步 / 严格 sweep
  • 账号列表:禁用与模型封禁状态、按状态筛选、SSO 识别修正
  • 导出 / sub2api 修复
  • 管理台:状态 chips、模型同步、任务日志、TTFT 首字延迟
  • 模型封禁按 until 生效;仅 build-free 被封时 grok-4.5 仍可用且不踢出号池

下载

校验

git ls-remote https://github.com/HM2899/grokcli-2api.git refs/tags/v1.9.91
# 期望指向提交 7801bd2(annotated tag object 不同,^{} 解包后为 7801bd2)

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」。