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