Oh My Pi

在 models.yml 中配置 OpenAI 兼容 Provider,将 Oh My Pi 接入 CoffeeRouter。

接入前准备

  • 在 CoffeeRouter 控制台创建可用令牌,并记录令牌允许使用的模型 ID。
  • 准备 CoffeeRouter OpenAI Compatible 地址 https://www.coffeerouter.ai/v1
  • 如果通过 Bun 安装,请使用 Bun 1.3.14 或更高版本。

配置步骤

1. 安装 Oh My Pi

macOS 或 Linux 使用官方安装脚本:

curl -fsSL https://omp.sh/install | sh

Windows PowerShell 使用:

irm https://omp.sh/install.ps1 | iex

也可以通过 Bun 安装:

bun install -g @oh-my-pi/pi-coding-agent

安装完成后运行:

omp --version

2. 设置 CoffeeRouter 令牌

macOS、Linux 或 WSL:

export COFFEEROUTER_API_KEY="sk-your-api-key"

Windows PowerShell:

$env:COFFEEROUTER_API_KEY = "sk-your-api-key"

OMP 会先把 models.yml 中的 apiKey 值作为环境变量名解析,因此配置中可以安全引用 COFFEEROUTER_API_KEY

3. 添加 CoffeeRouter 服务商

打开 ~/.omp/agent/models.yml;如果该文件不存在,可以创建它。添加以下配置,或将 coffeerouter 节点合并到已有的 providers 中:

providers:
    coffeerouter:
        baseUrl: https://www.coffeerouter.ai/v1
        apiKey: COFFEEROUTER_API_KEY
        api: openai-completions
        authHeader: true
        models:
            - id: your-model-id
              name: Your Model

your-model-id 替换为 CoffeeRouter 中显示的完整模型 ID。openai-completions 会调用 /v1/chat/completions,因此 baseUrl 必须保留末尾的 /v1,不要写成 /v1/v1

4. 选择 CoffeeRouter 模型

直接指定模型启动 OMP:

omp --model coffeerouter/your-model-id

也可以先运行 omp,然后在会话中使用 /model 选择 coffeerouter/your-model-id。官方当前推荐 --model--provider 属于旧式参数。

验证接入

启动模型后发送一条简单测试请求,例如让模型说明当前项目目录。若能正常流式返回,并且会话中的模型显示为 coffeerouter/your-model-id,即表示配置成功。

还可以运行以下命令确认模型已加载:

omp models

常见问题

为什么 Base URL 必须包含 /v1?

OMP 的 openai-completions 传输会在基础地址上调用 /chat/completions。CoffeeRouter 的 OpenAI Compatible 基础地址是 https://www.coffeerouter.ai/v1

为什么模型没有出现在 /model 中?

检查 models.yml 的 YAML 缩进、模型 idCOFFEEROUTER_API_KEY 环境变量。配置校验失败时,OMP 会继续加载内置模型,但自定义服务商不会正常出现。

为什么返回 401?

确认启动 OMP 的进程能读取 COFFEEROUTER_API_KEY,令牌未过期并有可用额度。authHeader: true 会以 Bearer 方式发送该令牌。

是否需要复制其他服务商的 compat 配置?

通常不需要。compat 用于特定端点的请求差异,应只在确认某个 CoffeeRouter 模型确实需要时添加,不要照搬其他服务商的模型专用参数。

安全提示

不要把令牌直接提交到 models.yml 或代码仓库。请使用环境变量,并避免分享配置截图和包含请求头的日志。建议为 OMP 创建独立令牌并设置模型、额度和 IP 限制。

官方资料