跳转到内容

本地 LLM Gateway

凌霄可作为 OpenAI/Anthropic 双格式 LLM 代理,提供虚拟密钥管理、per-key 限流和请求追踪。默认端口 62000。

Gateway 同时支持 OpenAI 和 Anthropic 两种 API 格式:

POST /llm/openai/v1/chat/completions
Authorization: Bearer <virtual-key>

兼容 OpenAI SDK 和所有 OpenAI 格式兼容服务(DeepSeek、Qwen、Moonshot 等)。

POST /llm/anthropic/v1/messages
x-api-key: <virtual-key>

兼容 Anthropic SDK 和 Claude 系列模型。

Gateway 使用虚拟密钥体系,与上游 Provider 的真实 API Key 隔离:

  • 根密钥:Gateway 主密钥,用于管理虚拟密钥
  • 虚拟密钥:按需生成,绑定限流策略和可用模型
  • 密钥管理:通过 WebUI Settings 面板或 API 管理
{
"key": "sk-lx-xxxxxxxx",
"name": "dev-team-key",
"rpm": 60,
"tpm": 200000,
"daily_token_budget": 1000000,
"allowed_models": ["gpt-4o", "claude-sonnet-4"],
"trace_enabled": true
}
策略说明
rpm每分钟请求数限制
tpm每分钟 Token 数限制
daily_token_budget每日 Token 预算

命中限流时返回 HTTP 429 + 错误体:

{
"error": {
"type": "rate_limit_exceeded",
"message": "RPM limit exceeded: 60/min",
"retry_after": 30
}
}

所有请求 trace 记录到 SQLite 的 llm_gateway_requests 表:

  • 请求时间戳和虚拟密钥
  • 上游 Provider 和模型
  • Token 用量(prompt/completion/total)
  • 延迟和状态码
  • 请求体和响应体(可配置)

~/.lingxiao/settings.json 中配置 LLM Gateway:

{
"llm_gateway": {
"enabled": true,
"port": 62000,
"provider": "openai",
"upstream": {
"openai_api_key": "sk-xxx",
"openai_base_url": "https://api.openai.com/v1",
"anthropic_api_key": "sk-ant-xxx"
},
"default_rpm": 60,
"default_tpm": 200000,
"default_daily_budget": 1000000,
"trace_enabled": true,
"log_body": false
}
}
端点族鉴权方式
/llm/openai/v1/**Gateway 虚拟密钥(Authorization: Bearerx-api-key
/llm/anthropic/v1/**Gateway 虚拟密钥(x-api-keyAuthorization: Bearer

LLM Gateway 端点不走 Server Token,归 llm_gateway 配置组独立管控。