Muka AI Gateway 是本站发布的 AI 基础设施工具:一个面向 OpenAI / Anthropic 兼容 API 的高可用反向代理。它用于降低本地模型输出格式不稳定、推理服务高峰期 4xx/5xx、短暂断线等问题对 AI 工具调用循环的影响。核心目标不是改变模型回答,而是让一次请求尽可能得到客户端可接受的、协议完整的响应。

核心能力

  • 错误自动隐藏与重试:上游返回 4xx / 5xx 时默认不把错误状态暴露给请求方,而是释放当前并发槽并自动退避、重新排队、无限重试;可通过 forwarding.passthrough-status 配置需要直接返回客户端的错误码,避免无效凭据等永久错误造成无限等待。
  • 流式响应修复:对 SSE 流做增量修正,不缓存整个流式回答;异常中断时按协议补充终止状态(finish_reason[DONE]message_stop 等)。
  • Anthropic 思考自动续接:当流式响应只输出 reasoning/thinking、没有正文或结构化工具调用时,代理自动构造下一轮请求,并把多轮上游 SSE 合并为一次客户端响应(默认最多 3 次,可通过 forwarding.max-continuations 调整)。
  • 多上游与统一配置:标准 config.yaml 统一配置监听、多上游、真实 key、强制 Host、协议和 TUI;客户端使用 upstreams.client-key,可在 TUI 中即时切换上游;--api-base 可不依赖配置文件快速启动单上游。
  • 回环免鉴权:无论 server.listen 配置为何值,程序始终确保同一端口可通过 127.0.0.1 访问;回环连接无需客户端 Key,其他来源仍必须鉴权。
  • 上游代理:可通过 forwarding.upstream-proxy 使用 HTTP、HTTPS、SOCKS5/SOCKS5h 代理连接上游,支持代理 URL 基本认证。
  • 并发控制:用并发工作槽限制上游突发请求,避免超过服务的 burst/concurrency 限制。
  • 实时 TUI:查看队列、重试、Token 速度、TTFT、当前及最近对话内容。

协议支持

协议非流式流式仅思考无正文修正异常流封闭
OpenAI Chat Completions默认启用,改为 finish_reason: "length"补充 finish_reason / [DONE]
OpenAI Responses API默认启用,改为 response.incomplete补充 output item 生命周期和终止事件
Anthropic Messages默认流式自动续接并合并;非流式或达到上限时改为 pause_turn补充 text block / message_delta / message_stop
Generic HTTP/JSON/SSE透传透传仅隐藏底层传输错误并结束响应体

协议自动识别主要依据请求路径(/chat/completions/responses/messages)、Anthropic 请求头、请求 JSON 形状与 SSE 事件结构,也可用 forwarding.protocol 强制指定。

快速开始

# 使用配置文件启动
muka-ai-gateway --config config.yaml

# 或不依赖配置文件,快速启动一个鉴权透传的单上游
muka-ai-gateway --api-base https://api.example.com

客户端将 API Base 指向网关监听地址,使用 upstreams.client-key 作为密钥即可。

开源协议

MIT License