Skip to content

Command Code Proxy v1.1.0 — 控制台与 Messages 断流用量恢复

Choose a tag to compare

@dude1wudv dude1wudv released this 17 Oct 04:41

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 通过;未重新部署生产。