Repository navigation
MaxLLM v0.2.0
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 立即退出
限流时间精确解析(分层)
- 正则/结构化层:直接读上游的 reset 时间、Retry-After、配额字段
- 学习层:累积上游限流文本的表达方式,越用越准
- 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