Skip to content

接入 Oh My Pi ​

Oh My Pi(omp)是 Pi 的 Fork/发行版(can1357/oh-my-pi),CLI 为 omp,在 Pi 极简内核上叠加 31 工具、LSP、DAP 调试器与 Rust 加速。与 Pi 共用同一在问模型与 openai-responses 协议,仅配置格式不同(Pi 为 JSON,Oh My Pi 为 YAML)。

omp 和 pi 是一个吗? ​

不是同一个,但同源。 pi = Mario Zechner 原版(@earendil-works/pi-coding-agent,命令 pi,配置在 ~/.pi/agent/);omp = Oh My Pi 发行版(@oh-my-pi/pi-coding-agent,命令 omp,配置在 ~/.omp/agent/)。向导里两者分开展示,模型与 baseUrl 完全复用,按你本地装的是 pi 还是 omp 选择即可。

安装 ​

任选其一:

bash
# 官方脚本(macOS / Linux)
curl -fsSL https://omp.sh/install | sh

# Homebrew
brew install can1357/tap/omp

# Bun(推荐)/ npm
bun install -g @oh-my-pi/pi-coding-agent
# npm install -g --ignore-scripts @oh-my-pi/pi-coding-agent

Windows PowerShell:

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

配置步骤 ​

1. 写入模型配置到 ~/.omp/agent/models.yml ​

文件不存在则创建,写入以下内容(apiKey 填你的在问 API Key):

yaml
providers:
  zaiwenai:
    baseUrl: https://oneapi.zaiwenai.com/v1
    api: openai-responses
    apiKey: "你的在问APIKEY"
    models:
      - id: gpt-5.6-terra
        name: GPT-5.6-Terra
        reasoning: true
        input: [text, image]
        contextWindow: 262144
        maxTokens: 128000
      - id: gpt-5.6-luna
        name: GPT-5.6-Luna
        reasoning: true
        input: [text, image]
        contextWindow: 262144
        maxTokens: 128000

如果该文件中已有其他自定义供应商(如 Ollama),请先备份,再手动合并 providers 节点。兼容旧版 models.yaml / models.json 会自动迁移为 models.yml。

也可用以下辅助命令自动备份并写入。macOS、Linux 或 WSL:

bash
OMP_DIR="$HOME/.omp/agent"
mkdir -p "$OMP_DIR"
MODELS_PATH="$OMP_DIR/models.yml"
[ ! -f "$MODELS_PATH" ] || cp "$MODELS_PATH" "$MODELS_PATH.bak"
printf '%s\n' 'providers:
  zaiwenai:
    baseUrl: https://oneapi.zaiwenai.com/v1
    api: openai-responses
    apiKey: "你的在问APIKEY"
    models:
      - id: gpt-5.6-terra
        name: GPT-5.6-Terra
        reasoning: true
        input: [text, image]
        contextWindow: 262144
        maxTokens: 128000
      - id: gpt-5.6-luna
        name: GPT-5.6-Luna
        reasoning: true
        input: [text, image]
        contextWindow: 262144
        maxTokens: 128000' > "$MODELS_PATH"

Windows PowerShell:

powershell
$ompDir = Join-Path $HOME ".omp\agent"
New-Item -ItemType Directory -Force -Path $ompDir | Out-Null
$modelsPath = Join-Path $ompDir "models.yml"
if (Test-Path $modelsPath) { Copy-Item $modelsPath "$modelsPath.bak" -Force }
@'
providers:
  zaiwenai:
    baseUrl: https://oneapi.zaiwenai.com/v1
    api: openai-responses
    apiKey: "你的在问APIKEY"
    models:
      - id: gpt-5.6-terra
        name: GPT-5.6-Terra
        reasoning: true
        input: [text, image]
        contextWindow: 262144
        maxTokens: 128000
      - id: gpt-5.6-luna
        name: GPT-5.6-Luna
        reasoning: true
        input: [text, image]
        contextWindow: 262144
        maxTokens: 128000
'@ | Set-Content -Encoding utf8 $modelsPath

提示:apiKey 也可不写字面量,改为环境变量名(如 ZAIWENAI_API_KEY)并在 shell / .env 中导出,omp 会优先解析环境变量。

2. 验证 ​

在项目目录启动 omp,执行 /model 应能看到 zaiwenai / GPT-5.6-Terra:

bash
cd /path/to/project
omp
# /model -> 选择 zaiwenai / GPT-5.6-Terra

或查看已加载的 provider 和模型:

bash
omp models zaiwenai
# 需要机器可读输出时:omp models zaiwenai --json

配置说明

  • api = "openai-responses":在问平台提供 OpenAI Responses 协议(/v1/responses),与 Pi/Codex 的 wire_api = "responses" 一致,能正确下发 reasoning.effort
  • contextWindow = 262144:与 Pi 一致,配置为 256K。低于 OpenAI 短上下文计费阈值(272K),避免按长上下文倍率整体计费;也让自动压缩更早触发
  • 与 Pi 的差异:Pi 的模型在 ~/.pi/agent/models.json(JSON),Oh My Pi 在 ~/.omp/agent/models.yml(YAML);Pi 的凭据在 auth.json,Oh My Pi 的凭据可直接写在 models.yml 的 apiKey 或走环境变量 / agent.db
  • 辅助命令会在覆盖前将已有文件备份为 .bak