Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Lightweight distributed LLM gateway w/ web UI for model mgmt & routing. Supports vibe programming, prompt opt., & optimized OpenAI API/Anthropic calls

License

NotificationsYou must be signed in to change notification settings

sxueck/llm-gateway

Repository files navigation

一个轻量级 LLM 网关管理系统,提供直观的 Web UI 界面,用于管理多个 LLM 提供商、虚拟密钥、路由配置和模型管理

imageimage

更多截图请见服务截图

特性

  • 提供商管理: 支持 20+ 主流 LLM 提供商,包括 OpenAI、Anthropic、Google、DeepSeek 等
  • 虚拟密钥: 创建和管理虚拟 API 密钥,支持速率限制和访问控制
  • 路由配置: 支持负载均衡和故障转移策略,提高服务可用性
  • 模型管理: 统一管理所有提供商的模型,支持批量导入和自定义配置
  • 多端点支持: 提供/v1/chat/completions/v1/responses/v1/messages 等多个兼容端点
  • Prompt 管理: 为虚拟模型配置 prompt 处理规则,支持替换、前置添加、系统消息等操作
  • LiteLLM 预设集成: 自动从 LiteLLM 官方库获取模型配置,支持搜索和一键应用
  • 健康监控: 公开免登录健康检查页面,实时展示模型可用率、延迟分位数(P50/P95)和错误分布
  • 用户认证: 基于 JWT 的安全认证机制
  • 实时监控: 仪表盘展示系统状态和配置信息
  • 中转站支持: 隔离 Codex 等上游强制注入的提示词,使得下游应用对 Prompt 遵循更规范

快速开始

前置要求

  • Node.js v20 或更高版本
  • npm / cnpm
  • Docker (可选,用于容器化部署)

安装

# 克隆仓库git clone https://github.com/sxueck/llm-gateway.gitcd llm-gateway# 安装后端依赖pnpm install# 安装前端依赖cd webpnpm installcd ..

配置

创建.env 文件并配置环境变量:

cp .env.example .env

编辑.env 文件:

PORT=3000NODE_ENV=developmentDB_PATH=./data/gateway.dbLOG_LEVEL=infoJWT_SECRET=your-secret-key-change-this-in-production

重要: 生产环境请务必修改JWT_SECRET 为一个强随机字符串(至少 32 字符)。

启动服务

npm run start:all

此命令将自动:

  1. 分别启动前后端服务
  2. 初始化数据库

使用 Docker Compose 方式启动

请参考Docker 部署指南

快速使用

  1. 添加供应商,这个供应商指的是类似 DeepSeek 这样的 AI 服务商,并填入供应商密钥
  2. 添加模型,模型指的是供应商提供的 AI 模型,例如 DeepSeek 的deepseek-chat
  3. 创建虚拟密钥,虚拟密钥用于访问 LLM Gateway 的 API
  4. (可选) 为虚拟模型配置 Prompt 管理规则,实现 prompt 的动态修改和增强
  5. 在应用中使用虚拟密钥访问 LLM Gateway 的 API

健康监控

LLM Gateway 提供公开的健康监控页面,无需登录即可访问,实时展示各模型的可用性和性能指标。

启用持久监控

  • 在“系统设置 -> 监控设置”中开启“启用持久监控”
  • 首次开启时系统会自动创建一个“监控专用虚拟密钥”,具备访问全部模型的能力,仅用于健康检查,且默认禁用请求体/响应体日志
  • 只有当“持久监控”为开启状态时,以下能力才会生效:
    • 后端健康检查调度器运行(周期性对目标执行健康检查)
    • 公开监控页面与相关免鉴权 API 可访问
  • 可随时关闭“持久监控”,系统将停止调度器并关闭公开访问(公开端点返回 404)

访问健康监控页面

访问http://your-gateway-url/status 即可查看健康监控页面。

功能特性

  • 实时状态监控: 显示所有配置的模型目标的当前状态(健康/降级/宕机)
  • 可用率统计: 展示 1小时 和 24小时 的可用率
  • 延迟指标: P50 和 P95 延迟统计
  • 错误追踪: 记录并展示错误类型和错误信息
  • 自动刷新: 默认每 60 秒自动刷新数据
  • 详细历史: 点击目标可查看详细的检查历史记录

API 端点

健康监控提供以下公开 API 端点(免鉴权):

  • GET /public/health/summary - 获取所有目标的汇总信息
  • GET /public/health/targets - 获取目标清单
  • GET /public/health/detail?target_id=xxx - 获取单个目标的详细信息
  • GET /public/health/runs?target_id=xxx&window=24h&page=1&page_size=50 - 获取检查历史记录

配置健康检查目标

健康检查目标通过数据库配置,可以为任何模型或虚拟模型设置健康检查:

-- 示例:为模型添加健康检查INSERT INTO health_targets (id, name, type, target_id, enabled, check_interval_seconds, check_prompt)VALUES ('target-1','DeepSeek Chat','model','model-id-here',1,300,'Say "OK"');

主要配置参数:

  • check_interval_seconds: 检查频率(秒),默认 300 秒(5分钟)
  • check_prompt: 健康检查使用的提示词,默认为 "Say 'OK'"
  • check_config: JSON 配置,可设置超时、重试等参数

限流保护

健康监控 API 默认启用限流保护,每个 IP 每分钟最多 60 个请求,超过限制将返回 429 错误。

开发指南

开发环境设置

# 安装后端依赖pnpm install# 安装前端依赖cd web&& pnpm install&&cd ..# 直接启动前后端npm run start:all

贡献

欢迎提交 Issue 和 Pull Request!

许可证

MIT License - 详见LICENSE 文件

致谢

About

Lightweight distributed LLM gateway w/ web UI for model mgmt & routing. Supports vibe programming, prompt opt., & optimized OpenAI API/Anthropic calls

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors2

  •  
  •  

Languages


[8]ページ先頭

©2009-2025 Movatter.jp