默认

使用 BitRouter Cloud 快速开始 — 无需管理 API 密钥

BitRouter Cloud 是访问 200+ LLM Agent 运行时的最快方式。无需管理提供商 API 密钥 — BitRouter 为你处理提供商访问。通过链上钱包按 Token 付费。

安装 & 启动

curl -fsSL https://install.bitrouter.ai | sh
npm install -g bitrouter
brew install bitrouter/tap/bitrouter

然后启动代理:

bitrouter

首次启动且无配置时,BitRouter 会自动启动交互式设置向导。

选择提供商

向导会提供两个选项:

? Choose a provider mode:
  > Default (BitRouter Cloud)
    Bring Your Own Key

选择 Default 并按 Enter。这将配置 BitRouter 通过 BitRouter Cloud 路由所有请求。

如果你想使用自己的 OpenAI、Anthropic 或 Google API 密钥,请选择 Bring Your Own Key。详见手动指南

创建你的钱包

向导会生成一个本地 Ed25519 密钥对 — 你的钱包就是你的身份。无需浏览器注册,无需供应商审批。

bitrouter account --generate-key

这会在 ~/.bitrouter/keys/ 目录下创建主密钥对,并显示你的 Solana 和 EVM 地址。你掌控自己的密钥 — BitRouter 绝不会持有它们。

了解更多关于钱包身份和多链支持的信息,请参阅 Agent 身份与支付 指南。

为钱包充值

向你的嵌入式钱包存入稳定币以资助 Agent 操作。

bitrouter swig create-wallet

支持的网络:

  • Solana (USDC)
  • Tempo (USDC)

通过 Stripe 的法币充值即将与人类控制台一起推出。

授权你的 Agent

派生一个 Agent 授权,让你的 Agent 在你定义的边界内从你的钱包中支出,链上强制执行:

bitrouter swig derive-agent \
  --label "my-coding-agent" \
  --per-tx-cap 5000000 \
  --cumulative-cap 50000000 \
  --expires-at 1735689600

了解更多关于 Agent 授权、权限参数和高级配置的信息,请参阅 Agent 身份与支付 指南。

验证

向导会写入配置、启动 API 服务器并运行健康检查:

✓ Configuration saved to ~/.bitrouter/bitrouter.yaml
✓ API server listening on 127.0.0.1:8787
✓ Health check passed

你可以随时通过 bitrouter init 重新运行向导。


发起你的第一个请求

以下示例使用 Chat Completions 端点。工具(MCP)和 Agent(ACP)支持即将推出。

基本示例

curl -X POST "https://api.bitrouter.ai/v1/chat/completions" \
  -H "Authorization: Bearer <your-jwt>" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "moonshotai:kimi-k2.5",
    "messages": [
      {"role": "user", "content": "Hello! What can you help me with?"}
    ],
    "max_tokens": 200
  }'

使用 bitrouter keygen --exp 30d --scope api --name default 生成 JWT。详见 Agent 身份与支付

代码示例

const response = await fetch('https://api.bitrouter.ai/v1/chat/completions', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer <your-jwt>',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    model: 'anthropic:claude-sonnet-4',
    messages: [
      { role: 'user', content: 'Explain how BitRouter works' }
    ],
    max_tokens: 300
  })
});

const data = await response.json();
console.log(data.choices[0].message.content);
import requests

response = requests.post(
    'https://api.bitrouter.ai/v1/chat/completions',
    headers={
        'Authorization': 'Bearer <your-jwt>',
        'Content-Type': 'application/json'
    },
    json={
        'model': 'moonshotai:kimi-k2.5',
        'messages': [
            {'role': 'user', 'content': 'What is quantum computing?'}
        ],
        'max_tokens': 300
    }
)

result = response.json()
print(result['choices'][0]['message']['content'])

流式输出

如需实时逐 Token 响应,在请求中添加 stream: true。响应使用 Server-Sent Events 格式:

const response = await fetch('https://api.bitrouter.ai/v1/chat/completions', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer <your-jwt>',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    model: 'anthropic:claude-sonnet-4',
    messages: [{ role: 'user', content: 'Tell me a short story' }],
    stream: true,
    max_tokens: 500
  })
});

const reader = response.body.getReader();
const decoder = new TextDecoder();

while (true) {
  const { done, value } = await reader.read();
  if (done) break;

  const lines = decoder.decode(value).split('\n').filter(line => line.trim());
  for (const line of lines) {
    if (line.startsWith('data: ') && line.slice(6) !== '[DONE]') {
      const content = JSON.parse(line.slice(6)).choices[0]?.delta?.content;
      if (content) process.stdout.write(content);
    }
  }
}
import requests
import json

response = requests.post(
    'https://api.bitrouter.ai/v1/chat/completions',
    headers={
        'Authorization': 'Bearer <your-jwt>',
        'Content-Type': 'application/json'
    },
    json={
        'model': 'moonshotai:kimi-k2.5',
        'messages': [{'role': 'user', 'content': 'Tell me a story'}],
        'stream': True,
        'max_tokens': 500
    },
    stream=True
)

for line in response.iter_lines():
    if line:
        line = line.decode('utf-8')
        if line.startswith('data: '):
            data = line[6:]
            if data == '[DONE]':
                break
            content = json.loads(data)['choices'][0]['delta'].get('content', '')
            if content:
                print(content, end='', flush=True)

每条 SSE 消息包含一个 JSON 块,其中有 choices[0].delta.content。流以 data: [DONE] 结束。

BitRouter 还支持多模态 API。详见 API 参考

可用模型

BitRouter 提供 200+ LLM 用于 Agent 运行时。使用智能路由(如 moonshotai:kimi-k2.5)自动路由到最佳供应商,或直接指定供应商。

完整的模型列表、发现 API 和路由选项,请参阅 API 参考

请求参数

支持标准的 OpenAI 兼容参数:

{
  "model": "moonshotai:kimi-k2.5",       // 必填:模型标识符
  "messages": [                            // 必填:对话消息
    {"role": "system", "content": "You are a helpful assistant."},
    {"role": "user", "content": "Hello!"}
  ],
  "stream": false,                         // 可选:启用流式输出(默认:false)
  "max_tokens": 500,                       // 可选:最大生成 Token 数
  "temperature": 0.7,                      // 可选:采样温度(0.0-2.0)
  "top_p": 1.0,                            // 可选:核采样
  "frequency_penalty": 0.0,                // 可选:频率惩罚
  "presence_penalty": 0.0                  // 可选:存在惩罚
}

认证与安全

BitRouter 使用自签名 JWT 进行认证 — 无中心化认证服务器。通过 CLI 生成和管理令牌:

# 生成用于 API 访问的 JWT
bitrouter keygen --exp 30d --scope api --name default

# 列出已保存的令牌
bitrouter keys --list

使用环境变量安全存储密钥。切勿将密钥提交到版本控制或在客户端代码中暴露。如果密钥泄露,请立即撤销并生成替代密钥。

有关完整的认证管理详情,包括预算控制、模型白名单和令牌作用域,请参阅 Agent 身份与支付指南。

用量与计费

费用计算方式

按 Token 计费(输入 + 输出)。每个供应商设定自己的每 Token 价格。使用报价端点在提交前获取精确的价格预估。详见 API 参考

监控你的用量

通过 BitRouter TUI 追踪你的支出和用量:

bitrouter

TUI 显示你的当前余额、使用历史、按模型的支出和交易历史。

用于网页端用量监控的人类控制台即将推出。

为你的账户充值

通过稳定币转账为你的嵌入式钱包充值。

支持的网络:

  • Solana (USDC)
  • Tempo (USDC)

通过 Stripe 的法币充值即将与人类控制台一起推出。

故障排除

如果你遇到任何问题,请通过 DiscordTwitter/X 联系我们。我们的团队将很乐意帮助你调试和解决问题。

接下来做什么?

How is this guide?

Last updated on

On this page