概览
运行时优化
BitRouter 从成本、性能和安全三个维度优化你的 LLM 运行时——只需一个开源 Rust 代理在本地运行,零基础设施依赖。高级功能将在 BitRouter Cloud 上提供(即将推出)。
成本优化
智能路由
- 基于优先级的服务提供商选择和轮询负载均衡
- 通过
provider:model_id语法直接指定提供商路由 - 在 5xx 错误或超时时自动故障转移——对 Agent 完全透明
费用追踪与预算控制
- 按请求计算成本,提供细粒度 Token 分解(缓存读取、缓存写入、推理 Token)
- 按账户、模型和提供商持久化费用日志
- 通过 JWT 声明进行预算控制——按会话或按账户限制,以微美元为单位,支持时间窗口或轮次窗口
- 模型白名单限制 Token 可访问的模型(支持 glob 模式)
性能优化
异步 Rust 运行时
- 基于 Tokio 的异步 I/O,路由开销低于 10ms
- 零基础设施依赖——无需 Postgres、Redis 或 Docker
- 原生流式支持,提供细粒度流事件(TextDelta、ToolCall、Finish)
- 跨提供商共享连接池
可观测性与指标
BitRouter 跟踪通过代理的每个请求。所有可观测性通过 ObserveCallback trait 流转,在每个请求完成后触发。
每个请求事件包含:
| 字段 | 描述 |
|---|---|
route | 虚拟模型名称(如 default、fast) |
provider | 处理请求的上游提供商 |
model | 上游模型 ID |
account_id | 调用者账户(来自 JWT) |
latency_ms | 端到端请求延迟 |
input_tokens | 输入 token 数 |
output_tokens | 输出 token 数 |
success | 请求是否成功 |
error_type | 失败时的错误类别(如 Transport、Provider、AccessDenied) |
BitRouter 收集内存中的按路由指标,包含按端点细分:
- 请求计数 — 每个路由和端点的总请求数和错误数
- 错误率 — 错误数 / 总请求数
- 延迟百分位 — p50 和 p99(有界采样,每路由最多 10k 样本)
- 平均 token 使用 — 平均输入和输出 token(仅非流式请求)
- 最后使用 — 最近请求的时间戳
通过管理 API 查询指标:
curl http://localhost:8787/admin/metrics指标仅保存在内存中,进程重启后重置。
支出追踪
BitRouter 使用提供商的 token 定价为每个请求计算成本,并将支出日志持久化到配置的数据库。
使用细粒度 token 定价按请求计算成本(每百万 token):
| Token 类别 | 描述 |
|---|---|
input_tokens.no_cache | 非缓存输入 token |
input_tokens.cache_read | 缓存读取输入 token |
input_tokens.cache_write | 缓存写入输入 token |
output_tokens.text | 文本输出 token |
output_tokens.reasoning | 推理输出 token |
支出日志存储在配置的数据库中(sqlite://、postgres:// 或 mysql://)。表通过迁移自动创建。
对于流式请求,指标中仅记录流开始时间延迟和请求/错误计数。token 使用在流完成前不可用。
安全优化
运行时防护栏
BitRouter 内置代理层防火墙,检查代理与 LLM 提供商之间流动的内容。它透明地包装模型路由器 — 你的代理和提供商无需任何更改。
护栏默认启用。流量在两个方向上被检查:
- Upgoing — 从代理到 LLM 提供商的出站流量(用户 → 模型)
- Downgoing — 从 LLM 提供商返回代理的入站流量(模型 → 用户)
内置模式
| 模式 ID | 方向 | 检测内容 |
|---|---|---|
api_keys | 出站 | OpenAI、Anthropic、AWS、GCP、GitHub、Stripe 的 API 密钥 |
private_keys | 出站 | PEM 编码的私钥(RSA、EC、Ed25519 等) |
credentials | 出站 | 内联密码、Basic Auth 头、数据库连接字符串 |
pii_emails | 出站 | 电子邮件地址 |
pii_phone_numbers | 出站 | 电话号码 |
ip_addresses | 出站 | IPv4 地址(非本地回环) |
suspicious_commands | 入站 | 危险 shell 命令(rm -rf /、curl | sh、fork 炸弹等) |
操作
每个模式可以分配三种操作之一:
| 操作 | 行为 |
|---|---|
warn | 记录警告但允许内容通过(默认) |
redact | 替换匹配内容后转发 |
block | 拒绝整个请求并返回错误 |
配置
guardrails:
enabled: true
disabled_patterns:
- ip_addresses
upgoing:
api_keys: redact
private_keys: block
credentials: block
pii_emails: warn
downgoing:
suspicious_commands: block
custom_patterns:
- name: internal_token
regex: "myapp_[A-Za-z0-9]{32}"
direction: upgoing # upgoing | downgoing | both
custom_upgoing:
internal_token: redact
block_message:
include_details: true
include_help_link: true认证与 Agent 身份
- Web3 JWT 认证,支持 Solana(Ed25519)和 EVM(secp256k1)验证——零服务端状态
- 作用域 Token(管理员 vs API)、模型白名单、预算声明
- ACP Agent Cards 绑定 CAIP-10 钱包地址,提供发现端点
高级运行时优化功能——包括分析仪表盘、团队级策略控制和托管防护栏管理——即将在 BitRouter Cloud 上推出。
完整源代码请访问 BitRouter GitHub 仓库。
How is this guide?
Last updated on