Repository navigation
Releases: dude1wudv/commandcode-proxy
Release list
Command Code Proxy v1.1.1 — 正式合并上游与 413 诊断
Command Code Proxy v1.1.1
上游同步
正式合并 MAXeaglet/commandcode-proxy 972828a,补齐此前逐项移植后尚未登记的 Git 合并关系。上游当前仍是单文件代理,不能用它整体替换本仓库的控制台。
会话内容派生、CPU 逻辑线程数、预请求 User-Agent: cli、工具名原样透传、tool_choice: none、finish reason 归一化、用户图片、并行工具图片顺序及 Responses 零输出失败等行为,此前已由 03bc82b 移植;本版保留等价实现,不将其重复描述为新增能力。
本版增量
- 将上游 413 诊断迁入控制台实际使用的 JSON 请求体入口及 CLI 兼容入口:同时显示配置上限和请求体积。可靠
Content-Length显示声明值;chunked、无效或小于已接收量的长度按接收体积下界标+。只处理字节数,不记录正文。 - 沿用既有的 Responses 局部原始请求引用释放,并同步上游相关说明;这不等于所有中间件引用已回收,不承诺固定内存降幅。
- 同步公开配置项以及设备指纹、内存与错误处理说明。保留控制台的
server.mjs启动方式与现有 Quality CI,不恢复已淘汰的单文件启动器、独立测试夹具或 Node 22/Bun 运行时声明。
保留与升级边界
- 控制台版本为
1.1.1,CLI 协议保持command-code@1.81.0,不降回上游1.53.1,不伪装成未实现的 npm 最新协议。 - 管理/推理分离、客户端出口 key、分组隔离、限额、账号代理与冷却、可选原生 Provider Responses 及其不回退契约保持。
- Messages 的 180 秒默认上游空闲宽限、首字前心跳、错误 usage 与估算来源保持;Chat / Responses 默认仍为 30 秒,显式
CC_STREAM_IDLE_MS优先。 - 不引入上游零输出清空已知输入/缓存的行为,不虚构缓存命中,不回写或补扣历史用量。
- 控制台默认请求体上限仍为 8MB、在途上限为 4;不套用上游独立模式的 100MB 默认值。Node.js 要求仍为 24 或更高。
- 本版没有数据库迁移,SQLite 版本维持 1、2、3、4。部署前在服务器做一致性备份,只更新 Command Code 目标服务。应用回退不覆盖生产数据库。
验证与发布
新增回归覆盖控制台声明体积、chunked 下界、无效/小报长度、恰好达到上限,以及三个 CLI 兼容接口的 413 与不派发上游行为。新增场景先复现控制台入口 4 项失败,适配后 node --test tests/*.test.mjs 全量 168 项通过,0 失败、0 跳过;包括原有协议、分组、原生入口和断流计量覆盖。语法、包版本一致性及差异检查通过。
发布以固定提交推送 GitHub,再由 HK 拉取构建和切换;完整生产验收以工作区运维记录为准。健康检查不替代真实模型推理或生产故障注入,本版不以自动发起付费推理作为验收手段。
已通过固定提交 Quality CI,含后端 168 项测试、前端测试、lint、构建和受跟踪 dist 一致性检查。
最终交付与部署验收
- 默认分支 Quality 与 GHCR Linux amd64/arm64 镜像发布 均已成功完成。
- HK 于 2026-10-16 22:06:41 UTC-7 上线
fbc0832c21efe636d042209dec2a1dab41de80d0,版本1.1.1,healthy、重启 0。SQLite 无新迁移,凭据、静态配置与历史用量保全,其他 18 个容器未变,Caddy 未 reload。 - 固定的工作区验收记录。本次未主动发起真实付费推理或生产故障注入。
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通过;未重新部署生产。