字节笔记本

2026年2月22日

LMRouter:开源一体化 AI API 路由平台

LMRouter 是一个开源的一体化 AI API 路由平台,为开发者提供统一的方式连接各种顶级模型提供商。作为 OpenRouter 的开源替代方案,LMRouter 不仅支持语言模型,还涵盖图像、音频、视频等多种模态服务。

项目简介

LMRouter 由社区驱动开发,目前在 GitHub 上已获得 287 stars26 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 start

CLI 方式运行

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 — 边缘计算支持

项目链接

参与贡献

LMRouter 秉承「由社区建设,为社区服务」的理念。无论是修复 bug、添加功能、改进文档还是分享反馈,每一份贡献都让项目更加强大。

贡献步骤:

  1. Fork 仓库
  2. 创建功能分支 (git checkout -b feature/my-feature)
  3. 构建并验证更改
  4. 提交 Pull Request

新手可以从标记为 good first issue 的 issue 开始。

分享: