{{ message }}
This repository was archived by the owner on Oct 8, 2026. It is now read-only.
Repository navigation
Releases: HM2899/grokcli-2api
Releases · HM2899/grokcli-2api
Release list
v2.0.4 容器内热更新 · API Key · 注册资源/日志
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.pyAPP_VERSION=2.0.4internal/buildinfo.Version=2.0.4- git tag
v2.0.4
v2.0.3 TempMail.lol · reg log latency · empty-output failover
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-*污染 MoeMailmk_*槽 - 管理台清理:去掉冷却「叠加×N」展示;用量页移除「按上游账号」
镜像(GHCR,路径全小写)
docker pull ghcr.io/hm2899/grokcli-2api:2.0.3
docker pull ghcr.io/hm2899/grokcli-2api:latestmain 推送另打 edge / 2.0.3 raw tag;v2.0.3 推送触发 semver + latest。
升级
见 README「从 1.x / 旧版升级到 2.0.3」与 docs/UPGRADE.md。
版本钉
grok2api/app.pyAPP_VERSION=2.0.3internal/buildinfo.Version=2.0.3- git tag
v2.0.3
v2.0.2 quota persist · probe re-enter · multimodal · sort
Highlights
- 额度持久化:账号类型(Free/SuperGrok)与 token/美元用量写入 PostgreSQL
account_pool.last_quota;失败探测 merge 不覆盖真数据;error 壳不落库 - 测活回池:新注册账号测活成功保持 轮询中;额度二次探测误报 exhausted 时自动
ClearAccountCooldown - 自动额度刷新:降并发、轮询补缺、同账号冷却,减轻代理
Too many open connections扫库污染 - 多模态保留:OpenAI
image_url/ Anthropic base64 → Responsesinput_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.2ghcr.io/hm2899/grokcli-2api:latestghcr.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
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/healthImages
ghcr.io/hm2899/grokcli-2api:2.0.1ghcr.io/hm2899/grokcli-2api:latestghcr.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
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:latestUpgrade notes
- Runtime remains hybrid (PostgreSQL + Redis). Prefer
docker compose pull && docker compose up -d. - Local bind-mount of
./binoverrides image binary — rebuild hostbin/grok2apior remove the mount after upgrade. - Do not force-push
mainor rewrite thepythonbranch.
Full changelog
Commits on main for tag v2.0.0.
v1.9.91 corrected package
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
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」。
