Repository navigation
Command Code Proxy v1.1.0 — 控制台与 Messages 断流用量恢复
Command Code Proxy v1.1.0
控制台版本升级为 1.1.0;模拟的上游 CLI 协议版本保持 command-code@1.81.0,不通过伪造版本头处理断流。
本次重点
- Messages 在收到文本、thinking、工具参数或上游 usage 时更新内存快照,异常结束仍保留安全用量;EOF 前无换行的完整 NDJSON 尾事件也参与处理。
- 工具参数兼容
event.input ?? event.args,同时覆盖流式、非流式与计量路径,保留input优先级。 - 缺失或无效零输出 usage 使用语义 UTF-8 总字节数除以 4 后向上取整,SSE 与请求日志保留
output_tokens_estimated。上游正输出计数优先,已知输入/缓存不因零输出被清空;空流仍为零。 - Messages 默认上游读空闲时限从 30 秒改为 180 秒,显式
CC_STREAM_IDLE_MS优先;Chat / Responses 默认仍为 30 秒。上游返回 200 后首字前也约每 10 秒发送 SSE 心跳,下游心跳不延长上游空闲时限。 - SSE 开始后的错误保留错误语义,不透明重放请求。累计用量在请求结束/断连后记录一次,不是逐秒持久化扣款;进程突然退出时没有新增恢复保证。
业务基线:7b9cbbc6c0197af5ae3f3903fd6a990158e7270a。发行提交仅同步包版本和中英文说明,不改业务逻辑。
自 v1.0.0 以来的控制台能力
- 独立管理与推理监听、多账号与出口 key、账号分组隔离、用量日志、限额及账单展示。
- 可选原生 Provider Responses 入口,与原有 CLI Chat / Messages / Responses 入口分开;失败不自动回退,不将 Chat 强制转换为 Responses。
- 按账号代理、可见出口 IP、额度不足冷却、缓存计数口径与 CLI 1.81.0 协议修复。
升级与回退
- Node.js 要求为 24 或更高;管理端默认
127.0.0.1:3050,推理端默认127.0.0.1:3051。客户端使用控制台签发的出口 key,而不是上游凭据。 - 升级前在服务器备份 SQLite。迁移 v4 为请求日志增加估算来源,旧行默认 0,不改写历史用量、费用或凭据。此前的分组和用量日志迁移也包含在本版。
- v4 新列带默认值,前一版控制台可继续写原列;这不代表可以退回不具备分组隔离的旧版本。镜像回退不要覆盖升级后产生的真实账单和账号数据。
- 估算不是模型 tokenizer,不代表未收到的上游输出。与 Sub2API 联用时推荐 v0.2.17-hk.1,以便接收错误帧 usage 与估算标记。
验证与交付边界
业务基线的 Quality CI 全部通过:162 项后端测试、7 个前端测试文件、lint 与构建。包含模拟 EOF/RST、idle、客户端断开、首字前心跳、真实 usage 优先、空流、分块不影响估算、legacy args 与 SQLite v3→v4 迁移。
10 月 16 日既有 HK 部署与数据保全证据见工作区发布记录。未执行真实 Claude Code 付费推理或生产断流注入。本次 GitHub 发行不重新部署;版本标签会按既有工作流构建 GHCR 镜像,实际可用性以工作流结果为准。
本次发行验收
- 发行提交:
a44ecba3278922ebaa592f4ed8fed01a778cd4f5;默认分支master与v1.1.0标签对应同一提交。 - 本次 Quality 和 Docker 发布 均已成功完成,镜像覆盖 Linux amd64/arm64。
- 工作区登记与链接检查、包版本一致性、
git diff --check通过;未重新部署生产。