Skip to content

MaxLLM v0.2.0

Choose a tag to compare

@oliveagle oliveagle released this 04 Nov 06:52
· 190 commits to main since this release

MaxLLM v0.2.0 — oliveagle fork 发布

以 one-api 渠道池为供给、OpenAI Responses 契约为出口的 Pingora 网关。本版本在
upstream v0.1.0(2026-04)之上再叠加 57 个提交,把「多渠道统一入口 + 7x24 稳定供给」
所需的完整链路一次交付(NAS 线上版本同源)。

新增能力

OpenAI Responses API 契约

  • endpoint_type = "responses":Responses ↔ chat completions 双向翻译,任何 chat 型上游都能吃
  • 原生 Responses 中继(native_responses),opencode 类上游按字节透传
  • SSE 桥接:非流式客户端把上游 SSE 折叠成单个 JSON 对象;流式客户端补齐
    sequence_number、正确结束事件、response.failed 错误语义
  • 工具调用、推理(reasoning)、图片附件、并行 tool_calls、tool_choice 在两种契约间无损互转

opencode.ai ("zen") 线格式归一化

  • 会话头 x-opencode-session 缺失/空白时注入;tool_choice: "any" → "required"
  • tool_call arguments 对象强制字符串化、孤儿/前向引用 tool 消息清理、缺失 tool 结果补齐
  • reasoning / reasoning_text 方言镜像到 reasoning_content;UA 安全注入与指纹窄化

韧性(Resilience)

  • 3 态熔断器(Closed / Open / HalfOpen)+ 配额冷却期,状态持久化到 SQLite
  • session-sticky 路由:会话钉住 provider,保住上游上下文
  • 请求级 HTTP failover:按路由预算跨 fallback 链切换;DNS 解析失败同样计入熔断并换家
  • 每 provider 可配连接超时;优雅退出排空上限 30s,SIGTERM 立即退出

限流时间精确解析(分层)

  1. 正则/结构化层:直接读上游的 reset 时间、Retry-After、配额字段
  2. 学习层:累积上游限流文本的表达方式,越用越准
  3. laya 决策层:仍不确定时交给 laya 决策模型判定

据此精确计算恢复时间点,而不是盲目重试浪费时间。

auto 哨兵模型(自动轮替)

  • 客户端发 model=auto → 网关在 [auto_model] 池内轮替所有模型与 provider
  • session-sticky 优先,无绑定才 round-robin;请求体 model 改写为命中渠道自己的模型
  • 池子写在网关自己的配置里,不依赖 one-api 的渠道表
  • failover 在池内重选(跳过已尝试/熔断条目)

可观测

  • Prometheus 指标(熔断状态、亲和命中、延迟分位、token 吞吐、failover 事件)
  • JSONL 审计录制(请求/响应体)、SQLite 管理存储与虚拟密钥

文档

  • README.md:配置、auto 池、opencode 转换、韧性策略
  • RESPONSES_CONTRACT.md:Responses 契约与事件语义

产物

maxllm-server-linux-x86_64-musl —— musl 静态构建(static-pie,glibc 无关),可直接丢到
Debian/Alpine 等任意 Linux 上运行(NAS 部署即用此产物)。

scp maxllm-server-linux-x86_64-musl <host>:/path/maxllm-server
./maxllm-server --config maxllm.toml