Skip to content

v0.3.9 — Command Code CLI bridge (native Responses), cache-hit billing, client-abort accounting

Choose a tag to compare

@oliveagle oliveagle released this 08 Nov 11:21
· 107 commits to main since this release

v0.3.9

新增

  • Command Code CLI 桥接(新 crate crates/maxllm-commandcode):把厂商自有的
    cmd -p <query> --output-format json 客户端包成 OpenAI 服务,原生实现 Responses 契约
    (POST /v1/responses,流式 SSE 事件按 response.created → in_progress →
    output_item.added → content_part.added → output_text.delta → output_text.done →
    content_part.done → output_item.done → response.completed → data: [DONE] 顺序,
    每个事件带单调 sequence_number),并同时提供 Chat Completions。
    reasoning.effort 映射到 CLI 的 --effort。19 个单测,clippy -D warnings 通过。
  • commandcode.ai provider(native Responses 优先)与 open-design.ai provider
    (原生 Rust 实现),均已进 /v1/models 与独立路由。
  • prompt-cache 计费:/v1/responses 读取上游返回的缓存命中数,统一两套 usage 解析器;
    admin 按模型的 cache rate 给缓存命中计费(线上实测 MiniMax 命中率 98.5%,批量成本降到 1/4)。
  • 可观测性:stream 截断、用量与成本可见且可自纠正;client_aborted_total 与
    provider 故障分开统计;/health 不再把 half-open 熔断器算作 open;看板按 provider
    分别报 client abort 与截断。

修复

  • 未知模型自动改写:上游 404(vLLM 风格)或 failover 时,把 body 里的 model 改写成
    该 provider 的 default_model 后重试一次,避免整条 fallback 链集体 400。
  • 客户端中断不再记成 provider 故障:被下游中断的流按 client abort 记账,
    不再污染熔断器与截断率;fast-path 的中断抓取也不再产生幽灵 request_logs 行。
  • 熔断器不再每 60 秒抖动(stream demotion hold 升级);上游已消失的 provider 其
    resilience 状态会被清理;native Responses 路径的 tool_choice: "any" 修复。
  • 落盘的录制 body 在写盘前脱敏凭据与 PII;/health 半开探测不再误开熔断器。

运维 / 工具

  • scripts/:新增 openobserve_alerts.py、stream_outcomes.py(按“谁关的流”区分 200
    的归属)、redact_recordings.py、rotate_logs.py;pool_health.py 改为探测每个具名
    auto 池;check_responses_policy.py 校验「凡是能上 Responses 的上游都必须 native」。
  • docs/ops_review_20261108.md:生产网关运维评审(截断、用量核算、可观测性缺口)。

验证

  • CI(workflow_dispatch,ref v0.3.9):Check / Test / Clippy / Format /
    Responses policy / Build Release 全部通过。
  • 本地门禁:cargo fmt --all -- --check、cargo clippy --workspace --all-targets -- -D warnings、
    cargo test --workspace 全绿。

注:本仓库的 push 事件不触发 Actions,CI 需手动 gh workflow run CI --ref v0.3.9;
因此 v0.3.9 未发布 Docker 镜像(docker job 需要 push 事件)。