PI / OMP 接入:一个 provider 里混用不同协议

PI 与 omp 在 agent 的 models.json 里声明 provider:baseUrl 按协议填 https://api.sagelib.com/openai/v1 或 https://api.sagelib.com/anthropic,密钥写 auth.json;api 可写在 provider 上,也可按模型覆盖。

更新于 2026-11-14 · SageLib 团队 · 标签:pi、omp、agent

结论要点

PI 与 omp 的配置方式一致,这里以 PI 为例(omp 手写同一份结构即可)。

第 1 步 · 写 models.json

~/.pi/agent/models.json:

{
  "providers": {
    "sagelib": {
      "name": "SageLib AI 边缘网关",
      "baseUrl": "https://api.sagelib.com/openai/v1",
      "api": "openai-completions",
      "models": [
        { "id": "claude-sonnet-5-5", "name": "Claude Sonnet 5.5", "contextWindow": 1000000 },
        { "id": "deepseek-v4.1-flash", "api": "openai-responses", "contextWindow": 1000000 }
      ]
    }
  }
}

第 2 步 · 写 auth.json

~/.pi/agent/auth.json:

{ "sagelib": { "type": "api_key", "key": "sk-你的网关令牌" } }

第 3 步 · 验证

跑 /model 选中配置的模型,发一句话;到控制台「用量日志」确认调用出现, 端点与协议要对得上(/chat/completions、/responses 或 /messages)。

更多客户端见 Agent 客户端接入。

参考来源

常见问题

provider 里的 baseUrl 为什么是 /openai/v1?

PI 的 openai-completions 协议不会自己补版本段,所以这里要写到 /openai/v1;用 Anthropic 协议时改填 /anthropic(它自己会拼 /v1/messages)。

能给同一个网关配多个 provider 吗?

可以,也可只配一个 provider、在单个模型上用 api 字段覆盖协议。

相关阅读

相关:全部文章 · 模型广场 · 帮助中心