Migration Guides

从 LiteLLM 迁移

将 LiteLLM SDK 或代理迁移到 BitRouter —— 本地二进制、托管云,或两者并用。

从 LiteLLM 迁移到 BitRouter

LiteLLM 是用于统一访问 100+ LLM 提供商的 Python SDK 与自托管代理。BitRouter 从另一个角度解决同一问题:一个面向 Agent 的代理,提供单一 OpenAI 兼容接口 —— 既可作为本地二进制运行(BYOK,无需基础设施),也可通过托管端点支持 Agent 自主支付。本指南面向工作负载已从后端服务转向 Agent 运行时、希望使用更精简、Agent 优先接口的团队。

为什么要迁移?

LiteLLM ProxyBitRouter
运行时PythonRust(单一静态二进制)
生产依赖Postgres + Redis + Docker/K8s
部署模式仅自托管本地二进制托管(cloud.bitrouter.ai)—— OpenAI 兼容端点相同
Agent 身份与支付x402 / MPP 自主支付(云模式)
设计重心一体化 LLM 网关:管理 UI、虚拟密钥、预算,再附加 Agent 网关Agent 优先代理:MCP / ACP / 技能、Agent 防火墙、Agent 支付即核心接口
Agent 协议面MCP、A2A、Skills、CLI —— 附加在横向网关之上MCP、ACP、Skills、CLI —— 即产品本身,而非附加
许可证MIT(SDK)/ 付费企业版全栈 Apache 2.0

两个值得强调的差异

1. 云端与本地共享同一接口

LiteLLM 的代理需要你自己运维。BitRouter 的托管云与本地二进制对外暴露同一个 OpenAI 兼容端点 —— 开发期可在本地启动,生产期切换到 cloud.bitrouter.ai(反之亦然),客户端代码不需要修改。CLI、向导和 Agent Skills 在两种模式下都能使用;在设置 TUI 中按一个键即可切换。两种流程详见快速开始

当你希望 Agent 按请求付费、而你无需为其分配密钥时,这一点尤其重要 —— 云模式支持 x402 / MPP 自主支付,LiteLLM 中没有对应能力。

2. Agent 原生,而非一体化

LiteLLM 已在其横向 LLM 网关之上推出 MCP、A2A、Skills 与 CLI —— 同时还附带虚拟密钥、团队预算、消费仪表板、管理 UI 一整套。BitRouter 反其道而行:Agent 原语产品,团队管理那一套保持极简。BitRouter 接口暴露的能力:

  • MCP 网关 —— 代理 MCP 服务器,让 Agent 跨主机发现工具。
  • ACP 网关 —— 一等支持 Claude Code、Codex、OpenCode 等使用的 Agent Client Protocol。
  • Guardrails —— 代理跳点上的 Agent 防火墙:原位检查、脱敏或拦截。
  • Observability —— 内置消费与请求追踪,无需外部收集器。
  • Agent Skills 网关(即将推出)—— 按技能而非模型名称安装与路由能力。
  • Headless CLI —— TUI 向导与可脚本化命令,用于配置与运维。
  • Agent 身份与支付 —— x402 / MPP,让 Agent 无需你为其分配密钥即可按请求付费。LiteLLM 中没有对应能力。

如果你依赖 LiteLLM 的团队管理 UI、虚拟密钥与按用户预算,LiteLLM 仍是更合适的选择。如果你在构建 Agent —— 尤其是需要自主支付的 Agent —— BitRouter 是更合适的选择。

迁移路径

从 LiteLLM Python SDK 迁移

LiteLLM 作为库的用法,可以在标准 OpenAI SDK 上换成 BitRouter 的 base URL:

from litellm import completion

response = completion(
    model="openai/gpt-4o",
    messages=[{"role": "user", "content": "你好"}],
    api_key="sk-...",
)
import openai

# 本地:`bitrouter`(通过环境变量 BYOK)—— 见 /docs/guides/overview/quickstart
# 云端:base_url="https://cloud.bitrouter.ai/v1",api_key=$BITROUTER_API_KEY
client = openai.OpenAI(
    base_url="http://localhost:8787/v1",
    api_key="not-used-in-local-byok",
)

response = client.chat.completions.create(
    model="openai/gpt-4o",
    messages=[{"role": "user", "content": "你好"}],
)

你以前用 litellm.Router 配置的回退与提供商选择,现在迁移到 BitRouter 的路由预设模型回退规则 —— 一次声明,而非每次调用都写。

从 LiteLLM Proxy 迁移

代理迁移把 Python 进程 + Postgres + Redis 替换成一个二进制。安装并启动:

docker run -d -p 5432:5432 -e POSTGRES_PASSWORD=pass postgres
docker run -d -p 6379:6379 redis
pip install 'litellm[proxy]'
litellm --config config.yaml --port 8000
# 安装方式(curl、npm、brew 或 cargo —— 详见快速开始)
curl -fsSL https://bitrouter.ai/install.sh | sh

# 设置提供商密钥;BitRouter 启动时自动识别
export OPENAI_API_KEY=sk-...
export ANTHROPIC_API_KEY=sk-ant-...

# 交互式向导(云或本地);默认本地监听 :8787
bitrouter

如果你想完全跳过本地代理,可以直接让客户端指向 https://cloud.bitrouter.ai/v1,使用 BitRouter API 密钥 —— 无二进制,无基础设施,端点形态完全一致。

功能映射

LiteLLM 概念BitRouter 等价物文档
config.yaml 中的 model_list提供商密钥 + 路由预设Presets
router_settings(重试、回退)模型回退规则Model fallback
routing_strategy(least-busy、latency)提供商选择Provider selection
cache(Redis/DynamoDB 后端)代理内未内置 —— 如需,请在应用 / 边缘层处理
虚拟密钥 + 预算 + 管理 UIWorkspace 密钥(云);环境变量密钥(本地)BYOKWorkspaces
Guardrails / PII / 内容过滤代理跳点上的 Agent 防火墙Guardrails
Callbacks(Langfuse、Datadog 等)内置消费与请求日志;导出钩子规划中Observability
MCP GatewayMCP 网关MCP
A2A Agent GatewayACP 网关ACP
Skills Gateway / /skills 端点Skills 网关 + agentskills.io 注册表Agent Skills
LiteLLM Proxy CLIbitrouter CLI / TUIHeadless CLI
—(无对应)Agent 自主支付(x402 / MPP)Payment

BitRouter 有意未提供的能力

为了让预期更准确:BitRouter 没有内置可与 LiteLLM Enterprise 对齐的团队/用户预算管理 UI、API 化的虚拟密钥生成或消费分析仪表板。云模式下的 Workspace 密钥隔离与本地模式下的环境变量密钥能覆盖常见需求,但如果你的迁移依赖于在代理内部按用户配额执行的虚拟密钥,请提前规划这一缺口,或在这些工作负载上继续使用 LiteLLM。

迁移清单

迁移前

  • 列出你实际使用的提供商与模型(其余可跳过)
  • 记录所有自定义 callback / 中间件 —— 看看是否有 guardrail 规则能覆盖
  • 决定使用云、本地或两者(它们共享端点)

迁移

  • 安装 BitRouter CLI(快速开始
  • 导出提供商密钥,或在云端控制台粘贴(sealed-box 加密)
  • 将客户端 base_url 更新为 http://localhost:8787/v1(本地)或 https://cloud.bitrouter.ai/v1(云)
  • 发送示例请求进行验证
  • 如本地方案足够,停用 Postgres / Redis

下一步

获取帮助

How is this guide?

Last updated on

On this page