编码智能体

Oh My Pi 接入指南

在 models.yml 中把 RealRelay.ai 添加为自定义提供商,将 Oh My Pi(omp)接入 RealRelay.ai:安装、添加提供商、设置默认模型并检查连接。

协议
OpenAI Chat Completions
基础地址
https://www.realrelay.ai/v1
官方文档
github.com
已对照工具官方文档核对
2026-10
实验性. 尚未在 RealRelay.ai 上端到端跑通。步骤依据该工具的官方文档;如果某一步失败,请带上错误信息联系支持。

概览

Oh My Pi 是一个终端编码智能体,命令为 omp。它脱胎于 Pi,但已是一个独立项目,有自己的配置文件。在 models.yml 中添加一个自定义提供商,即可接入 RealRelay.ai。该提供商使用 OpenAI Chat Completions API(/v1/chat/completions)。

  • 一个从控制台的 API 密钥页面获取的 API 密钥。

  • 末尾带 /v1 的基础地址。Oh My Pi 会在后面拼上 /chat/completions。

  • 一个与 GET /v1/models 列出的完全一致的模型 ID,例如 z-ai/glm-5.2。请选择支持工具调用的模型。

本配置依据 Oh My Pi 的文档编写,但尚未在 RealRelay.ai 上端到端跑通。Oh My Pi 发版频繁,如果某个字段的行为与描述不符,请查阅它的 models.yml 参考文档。如果你用的是 Pi 本身,请改看 Pi 接入指南;两者的配置格式不能互换。

安装

任选一种该项目官方提供的安装方式。

macOS · Linux
curl -fsSL https://omp.sh/install | sh
Homebrew
brew install can1357/tap/omp
Bun 1.3.14+
bun install -g @oh-my-pi/pi-coding-agent
Windows PowerShell
irm https://omp.sh/install.ps1 | iex

Bun 方式需要 Bun 1.3.14 或更高版本。没有 Bun 时,安装脚本会下载预编译的二进制文件并校验其校验和。如果安装后找不到 omp,请新开一个终端。

配置

  1. 1

    把密钥放进环境变量

    把 sk-*** 替换成你的密钥。

    ~/.zshrc · ~/.bashrc
    export REALRELAY_API_KEY="sk-***"

    启动 omp 之前,先运行 source ~/.zshrc,或者新开一个终端。

    Windows PowerShell
    [Environment]::SetEnvironmentVariable("REALRELAY_API_KEY", "sk-***", "User")

    启动 omp 之前,先关闭并重新打开终端。

  2. 2

    把 RealRelay.ai 添加到 models.yml

    新建 ~/.omp/agent/models.yml;如果文件已存在,就在 providers 下添加 realrelay 条目。

    ~/.omp/agent/models.yml
    1providers:2  realrelay:3    baseUrl: https://www.realrelay.ai/v14    api: openai-completions5    apiKey: REALRELAY_API_KEY6    compat:7      supportsDeveloperRole: false8    models:9      - id: z-ai/glm-5.210        name: z-ai/glm-5.211        contextWindow: 20000012        maxTokens: 32768
  3. 3

    设为默认模型

    把下面的内容添加到 ~/.omp/agent/config.yml。你也可以运行 omp setup,在默认模型那一步选择该模型。

    ~/.omp/agent/config.yml
    modelRoles:  default: realrelay/z-ai/glm-5.2
  • apiKey: REALRELAY_API_KEY 填的是变量的名称,不带 $。Oh My Pi 会先查找同名变量;如果没有设置,它会把这段文本本身当作密钥发送,结果是 401。

  • supportsDeveloperRole: false 让 Oh My Pi 使用标准的 system 角色发送指令,而不是较新的 developer 角色;RealRelay.ai 上的许多模型会拒绝后者。

  • contextWindow 和 maxTokens 告诉 Oh My Pi 该模型能接收多少、能返回多少。RealRelay.ai 不会报告这些信息,所以请按模型目录页设置。这里显示的值对 z-ai/glm-5.2 是安全的。

  • 提供商上的 compat 作用于它下面的所有模型;模型自己的 compat 会在此基础上合并。

  • 使用具名 profile(omp --profile)时,文件位于 ~/.omp/profiles/<name>/agent/ 下。omp config path 会打印当前使用的目录。

验证

  1. 1

    直接调用端点

    用你的密钥运行这条命令。如果返回的 JSON 包含 choices 数组,说明地址、密钥和模型都没问题。

    Terminal
    1curl -sS "https://www.realrelay.ai/v1/chat/completions" \2  -H "Authorization: Bearer sk-***" \3  -H "content-type: application/json" \4  -d '{"model": "z-ai/glm-5.2", "max_tokens": 16, "messages": [{"role": "user", "content": "Reply with OK"}]}'
  2. 2

    确认 Oh My Pi 识别到了模型

    omp models realrelay 应打印一张包含你的模型的表格。第二条命令会发送一条提示词,打印回答后退出。

    Terminal
    omp models realrelayomp --model realrelay/z-ai/glm-5.2 -p "Reply with OK"
  3. 3

    在项目中启动会话

    发一条简短消息。收到回复即说明整条链路畅通,该请求也会出现在控制台的用量日志中。

    Terminal
    cd /path/to/your/projectomp --model realrelay/z-ai/glm-5.2

模型

在会话中,/model 会打开模型中心。你可以在那里为当前会话选择模型,或者把它分配给 default 角色以长期使用。在命令行中,--model 的格式是提供商名称、斜杠,再加完整的模型 ID。

Oh My Pi 只提供你在提供商下列出的 RealRelay.ai 模型。每个模型加一个条目,各自设置限制。不设置限制时,它默认上下文为 128,000 token、输出为 32,768 token。

~/.omp/agent/models.yml → providers.realrelay.models
1      - id: z-ai/glm-5.22        name: z-ai/glm-5.23        contextWindow: 2000004        maxTokens: 327685      - id: deepseek/deepseek-v4-pro6        name: deepseek/deepseek-v4-pro7        contextWindow: 2000008        maxTokens: 32768

对于先思考再回答的模型,请把它标记为推理模型,并按从低到高的顺序列出它接受的推理强度级别。之后 Oh My Pi 会随你选择的级别发送 reasoning_effort。

~/.omp/agent/models.yml → providers.realrelay.models
1      - id: z-ai/glm-5.22        name: z-ai/glm-5.23        contextWindow: 2000004        maxTokens: 327685        reasoning: true6        thinking:7          mode: effort8          efforts: [low, medium, high]9        compat:10          supportsReasoningEffort: true

哪些模型适合智能体,请见选择模型。

故障排查

  • 401 或“Invalid token”。启动 omp 的终端里没有设置 REALRELAY_API_KEY,或者 models.yml 中的变量名拼错了。这两种情况下,变量名本身都会被当作密钥发送。

  • 提供商或模型不见了。models.yml 没有通过校验,Oh My Pi 退回到了内置模型。留意启动时的错误提示。自定义提供商需要 baseUrl、apiKey 和 api。

  • 404。baseUrl 缺少 /v1,或者已经以 /chat/completions 结尾。

  • 400 并提到 developer 角色。在提供商的 compat 下添加 supportsDeveloperRole: false。

  • 400 并提到 reasoning_effort。该模型不接受这个字段。请从它的条目中删掉推理设置。

  • 提示存在未知的 compat 键。该键拼错了,或当前版本不使用它。文件仍会加载;请修正或删掉该键。

  • 长会话中出现上下文报错。contextWindow 大于模型的真实上限。把它调低到模型目录页上的数值。