项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 1732
技术标签
使用教程
ℹ 本教程由 AI 依据该项目 README 整理,个别步骤可能需要按你的环境微调。
环境要求
- 已安装 Docker(自托管部署必需)
- 已安装 openssl,用于生成随机密钥
- 本地开发需安装 pnpm 与 Node.js 环境
- WSL2 用户需确保 Docker Desktop 已开启 WSL 集成
安装与启动步骤
-
1生成网关密钥
用 openssl 生成两个随机密钥并导出为环境变量,供后续容器启动时注入使用。
export LLM_GATEWAY_SECRET="$(openssl rand -base64 32 | tr -d '\n')" export GATEWAY_API_KEY_HASH_SECRET="$(openssl rand -base64 32 | tr -d '\n')" -
2运行一键启动脚本
README 推荐方式,脚本位于仓库 scripts 目录,会拉起一体化镜像所需的全部服务。
./scripts/run-unified-container.sh -
3或手动 docker run
不想用脚本时,先创建两个命名卷,再启动容器并把密钥通过 -e 传入,务必使用命名卷。
docker volume create llmgateway_postgres docker volume create llmgateway_redis docker run -d \ --name llmgateway \ --restart unless-stopped \ -p 3002:3002 \ -p 3003:3003 \ -p 3005:3005 \ -p 3006:3006 \ -p 3007:3007 \ -p 4001:4001 \ -p 4002:4002 \ -v llmgateway_postgres:/var/lib/postgresql/data \ -v llmgateway_redis:/var/lib/redis \ -e AUTH_SECRET="$LLM_GATEWAY_SECRET" \ -e GATEWAY_API_KEY_HASH_SECRET="$GATEWAY_API_KEY_HASH_SECRET" \ ghcr.io/theopenco/llmgateway-unified:latest -
4安装依赖并初始化
本地开发方式:pnpm i 安装依赖,pnpm run setup 会启动 Docker 服务、同步数据库结构并写入种子数据。
pnpm i && pnpm run setup -
5启动开发服务器
在仓库根目录执行,启动本地开发用服务,改代码后可直接调试。
pnpm dev -
6构建生产版本
部署到生产环境前执行构建,产出可运行的生产包。
pnpm build
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
LLM_GATEWAY_SECRET | 是 | 用 openssl 生成的随机密钥,作为容器 AUTH_SECRET 的取值来源 | $(openssl rand -base64 32 | tr -d '\n') |
GATEWAY_API_KEY_HASH_SECRET | 是 | 用于网关 API Key 哈希的密钥,需随机生成后注入容器 | $(openssl rand -base64 32 | tr -d '\n') |
AUTH_SECRET | 是 | 容器内认证密钥,docker run 时通过 -e 传入 | $LLM_GATEWAY_SECRET |
如何确认成功
执行 docker ps 确认 llmgateway 容器处于运行状态,再访问本机映射端口(如 http://localhost:3002)打开界面。
常见问题
Q:为什么不能把宿主机目录挂载到 /var/lib/postgresql/data?
A:PostgreSQL 在容器内初始化时需要为该目录设置权限,绑定挂载宿主机目录会因宿主机文件系统与属主差异而失败,请改用命名卷。
Q:不想自己部署服务器怎么办?
A:可以直接使用托管版本,访问 llmgateway.io 注册账号并获取 API Key 即可,无需任何安装配置。
Q:密钥应该怎么生成?
A:按 README 的方式执行 openssl rand -base64 32 | tr -d '\n' 生成随机字符串,两个密钥分别生成,不要复用同一个值。
Q:WSL2 下跑开发环境报错怎么办?
A:请确认 Docker Desktop 已启动,并已在设置中开启 WSL 集成,否则 pnpm run setup 无法拉起 Docker 服务。
注意事项
- 统一镜像必须使用 Docker 管理的卷,禁止把宿主机目录直接绑定挂载到 /var/lib/postgresql/data。
- 容器默认暴露 3002、3003、3005、3006、3007、4001、4002 端口,注意宿主机端口是否被占用。
- 本地开发依赖 pnpm,README 未给出 npm/yarn 的替代用法。
- README 中托管版本与自托管版本二选一,托管版只需在 llmgateway.io 注册获取 API Key。
核心亮点
- 统一 API 接口,切换或并行调用多家模型无需改业务代码
- 内置请求日志和用量统计,方便追踪成本和排查问题
- 支持自定义路由规则,可按价格或模型能力智能分发
不足之处
- 项目较新,文档和社区生态尚待完善
- 高级功能(如复杂策略、多租户)可能需自行扩展
适用场景
- 多模型灾备:主模型故障时自动切换备用模型
- 成本优化:按价格路由请求到最经济的模型
- 集中审计:统一记录所有 LLM 调用日志,满足合规要求
替代项目
LiteLLM、OpenRouter、Kong AI Gateway
下一篇:uccl
同类项目推荐
space
开源
一个框架管好机器学习全流程的存储,告别散乱文件
Unified storage framework for the entire machine learning lifecycle
wirken
开源
给企业智能体装上安全闸门,身份、审计、隔离一步到位
The enterprise gateway for autonomous agents. Identity management, per-channel isola···
gpt2giga
开源
改个地址,现有 LLM 客户端直接接 GigaChat
FastAPI proxy for OpenAI, Anthropic and Gemini compatible clients backed by the Giga···
endee
开源
一个节点扛住10亿条数据,检索照样快如闪电
Endee.io – A high-performance vector database, designed to handle up to 1B vectors ···
ChatMock
开源
用 Codex 引擎替换 OpenAI API,一行配置即享新能力
OpenAI & Ollama compatible API powered by Codex
popmon
开源
自动监控数据漂移,及时预警异常变化
Monitor the stability of a Pandas or Spark dataframe ⚙︎
airllm
开源
4GB 显卡跑 70B 大模型,显存不够也能玩转
AirLLM 2.8T LLM inference with single 4GB GPU
dagster-mflix-demo
开源
用 Dagster 跑通电影数据 ELT,快速上手现代数据栈
Sample ELT project using Dagster, data load tool and Snowflake
evidently
开源
一站式监控 ML 和 LLM,100+ 指标防模型退化
Evidently is an open-source ML and LLM observability framework. Evaluate, test, ···
