字
字节笔记本
2026年2月22日
LMRouter:开源一体化 AI API 路由平台
LMRouter 是一个开源的一体化 AI API 路由平台,为开发者提供统一的方式连接各种顶级模型提供商。作为 OpenRouter 的开源替代方案,LMRouter 不仅支持语言模型,还涵盖图像、音频、视频等多种模态服务。
项目简介
LMRouter 由社区驱动开发,目前在 GitHub 上已获得 287 stars 和 26 forks。项目采用 TypeScript 编写(占比 99.6%),基于 MIT 协议开源。
该项目的核心价值在于:一个 API Key 即可解锁任何提供商、任何模型、任何服务。开发者无需在多个平台注册账户或管理不同的 API 密钥,通过单一接口即可访问完整的 AI 生态系统。
核心特性
多模态服务支持
- 语言模型:Chat Completions、Responses API、Anthropic Messages
- 图像生成:图像生成和编辑功能
- 音频处理:语音转文本和音频模型
- 视频生成:即将推出
- 嵌入向量:语义搜索和 RAG 应用
- 网络搜索:Jina、Exa 等搜索 API(即将推出)
- 代码执行:支持 e2b 等解释器(即将推出)
API 兼容性
LMRouter 提供与现有 API 的即插即用兼容性:
OpenAI API 端点:
/openai/v1/chat/completions— 聊天补全/openai/v1/images/generations— 图像生成/openai/v1/images/edits— 图像编辑/openai/v1/embeddings— 嵌入向量/openai/v1/responses— Responses API/openai/v1/audio/speech— 语音合成/openai/v1/audio/transcriptions— 语音转录/openai/v1/audio/translations— 语音翻译/openai/v1/models— 模型列表
Anthropic API 端点:
/anthropic/v1/messages— Messages API/anthropic/v1/models— 模型列表
多提供商支持
内置支持主流 AI 提供商:
- OpenAI 兼容:OpenAI、Google、Perplexity、Fireworks、Groq、Cerebras 等
- Anthropic 兼容:Anthropic、Amazon Bedrock 等
- Fireworks:FLUX.1 [schnell] FP8、FLUX.1 Kontext Pro/Max
- Google:Imagen、Gemini 图像生成等
多运行时部署
基于 Hono 框架构建,支持多种部署环境:
- Node.js:标准服务器部署
- Cloudflare Workers:轻量级边缘部署
安装指南
前置要求
- Node.js(建议最新 LTS 版本)
- pnpm 包管理器
本地开发部署
bash
# 克隆仓库
git clone https://github.com/LMRouter/lmrouter
cd lmrouter
# 安装依赖
pnpm i
# 复制配置文件
cp config/config.example.yaml config/config.yaml编辑 config/config.yaml 配置你自己的提供商和模型设置。
bash
# 开发模式运行
pnpm dev
# 生产模式运行
pnpm build
pnpm startCLI 方式运行
bash
pnpx @lmrouter/cli /path/to/config.yaml使用示例
基本配置
yaml
# config/config.yaml
providers:
openai:
apiKey: your-openai-api-key
anthropic:
apiKey: your-anthropic-api-key
fireworks:
apiKey: your-fireworks-api-key
models:
gpt-4:
provider: openai
model: gpt-4
claude-3:
provider: anthropic
model: claude-3-opus-20240229调用示例
使用 OpenAI SDK 调用 LMRouter:
typescript
import OpenAI from 'openai';
const client = new OpenAI({
baseURL: 'https://lmrouter.com/openai/v1',
apiKey: 'your-lmrouter-api-key',
});
const response = await client.chat.completions.create({
model: 'gpt-4',
messages: [{ role: 'user', content: 'Hello!' }],
});技术栈
- Hono — 轻量级 Web 框架
- TypeScript — 类型安全
- Drizzle ORM — 数据库操作
- Cloudflare Workers — 边缘计算支持
项目链接
- GitHub 仓库:https://github.com/LMRouter/lmrouter
- 官方服务:https://lmrouter.com
- 官方文档:https://docs.lmrouter.com/
- 路线图:https://github.com/orgs/LMRouter/projects/1
参与贡献
LMRouter 秉承「由社区建设,为社区服务」的理念。无论是修复 bug、添加功能、改进文档还是分享反馈,每一份贡献都让项目更加强大。
贡献步骤:
- Fork 仓库
- 创建功能分支 (
git checkout -b feature/my-feature) - 构建并验证更改
- 提交 Pull Request
新手可以从标记为 good first issue 的 issue 开始。
分享: