Repository navigation
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。 - 固定的工作区验收记录。本次未主动发起真实付费推理或生产故障注入。