Oh My Pi 接入 Models Hub:models.yml 自定义供应商
编辑 Oh My Pi 的 ~/.omp/agent/models.yml,添加 Models Hub 作为自定义供应商,支持 OpenAI 与 Anthropic 两种协议,附验证步骤与常见报错排查。
Oh My Pi(命令行叫 omp)是一款终端 AI 编程 Agent,内置 LSP、子代理和浏览器工具,通过 ~/.omp/agent/models.yml 添加自定义模型供应商。把 Models Hub 配置进去后,omp 里的对话与代码修改都会用 Models Hub 的额度调用你指定的模型。本文只讲接入,不讲 Oh My Pi 本身的用法。
三样东西
接入只需要:Models Hub 的 API Key、接入地址 https://modelsok.com/v1、一个模型名。没有一键配置,Oh My Pi 不在 Models Hub CLI 的支持范围内。
准备
- 已安装 Oh My Pi(
omp命令可用)。可以用bun install -g @oh-my-pi/pi-coding-agent,也支持 curl、Homebrew、Nix、PowerShell 等方式,详见 omp.sh。 - 一个 Models Hub API Key。在控制台的 令牌页 创建,令牌所在分组要能访问你打算用的模型。
推荐模型
| 用途 | 模型名 | 定价 | 实时状态 |
|---|---|---|---|
| 日常编码首选 | claude-sonnet-4-6 | 查看价格 | 可用率与延迟 |
| 更强推理与长任务 | gpt-5.6-luna | 查看价格 | 可用率与延迟 |
| 便宜快速的小改动 | gpt-5.4-mini | 查看价格 | 可用率与延迟 |
模型名以 模型定价页 为准。
配置步骤
第一步:设置环境变量
export MODELSOK_API_KEY="你的 Models Hub API Key"第二步:编辑 models.yml
创建或编辑 ~/.omp/agent/models.yml:
providers:
modelsok:
baseUrl: https://modelsok.com/v1
api: openai-completions
apiKey: MODELSOK_API_KEY
authHeader: true
models:
- id: claude-sonnet-4-6
name: Claude Sonnet 4.6
contextWindow: 200000
maxTokens: 128000
- id: gpt-5.4-mini
name: GPT-5.4 Mini
contextWindow: 128000
maxTokens: 16384字段要点
| 字段 | 说明 |
|---|---|
baseUrl | 接入地址,以 /v1 结尾 |
api | 协议类型,OpenAI 兼容协议写 openai-completions;Oh My Pi 也支持 anthropic-messages 等其它协议 |
apiKey | 填环境变量名(不带 $),Oh My Pi 会先找同名环境变量,找不到才把这个值当字面密钥 |
authHeader: true | 把解析出的密钥以 Authorization: Bearer <key> 发送 |
models[].id | 必须与 Models Hub 控制台的模型名完全一致 |
推理模型可能需要 compat 覆盖
如果某个推理模型返回的字段名(如推理内容字段、max_tokens 参数名)与标准 OpenAI 格式不同,可以在模型条目下加 compat 块覆盖,字段说明见 官方 docs/models.md。日常使用一般不需要这一步,先按上面的最小配置跑通再按需调整。
验证
进入项目目录,带参数启动:
cd /path/to/your-project
omp --model modelsok/claude-sonnet-4-6也可以先正常启动 omp,再按 Ctrl+P 或输入 /model 切换到 modelsok 下的模型。发一句测试消息,能正常回复即接通。再打开 Models Hub 控制台的 用量日志,几秒内会出现一条对应模型名的请求。
常见报错
| 现象 | 原因 | 处理 |
|---|---|---|
| 启动后提示找不到 provider | ~/.omp/agent/models.yml 路径或 YAML 缩进有误 | 检查文件路径,确认缩进用空格而不是 Tab |
401 Unauthorized | MODELSOK_API_KEY 没有导出到当前 shell,或 apiKey 字段拼错了变量名 | 检查环境变量,重开终端后再试 |
| 模型不存在 | models[].id 与 Models Hub 控制台不一致 | 对照 定价页 核对名字 |
| 推理模型工具调用报错 | 推理内容字段名与上游不一致 | 参考官方文档在 compat 块里覆盖对应字段名 |
omp models modelsok 看不到模型 | 配置没保存或格式有误 | 重新检查 YAML 语法,重启 omp |
更多排查见 故障排查。
常见问题
计费方式? 按请求实际消耗的输入与输出 token 计费,价格在各模型的定价页,用量日志里能看到每一条请求的明细。
和直接用官方 API 有什么区别? Oh My Pi 通过 openai-completions 协议把请求发给 Models Hub 网关,你不需要单独申请对应厂商的账号,一个 Key 能用所有模型。
怎么切换模型? 启动时用 --model modelsok/<model-id> 指定,或在会话里按 Ctrl+P 循环切换、输入 /model 打开选择器。
相关
- CLI 一键配置:Claude Code、Codex、Gemini CLI 与 OpenClaw 支持一键写入配置
- 模型定价 与 模型状态页
- Pi 接入、OpenCode 接入