← Back to Plugins
Tools

Codex Pool OpenClaw

Codex-Pool By Codex-Pool 👁 8 views ▲ 0 votes

OpenClaw provider/plugin for Codex-Pool Codex-style requests

GitHub

Install

openclaw plugins install --link

Configuration Example

{
  "models": {
    "providers": {
      "codex-pool": {
        "baseUrl": "http://127.0.0.1:8091",
        "api": "openai-codex-responses",
        "apiKey": "cp_xxx",
        "models": [
          {
            "id": "gpt-5.4",
            "name": "gpt-5.4",
            "api": "openai-codex-responses",
            "reasoning": true,
            "input": ["text", "image"],
            "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 },
            "contextWindow": 272000,
            "maxTokens": 32768
          }
        ]
      }
    }
  },
  "agents": {
    "defaults": {
      "models": {
        "codex-pool/gpt-5.4": {}
      }
    }
  }
}

README

# Codex-Pool OpenClaw

面向 `OpenClaw` 的 `Codex-Pool` 自定义 provider/plugin。

当前目标:

- 保留 Codex 风格请求体与 SSE 语义
- 允许直接使用 `cp_...` key
- 避免内置 `openai-codex-responses` 对 JWT `accountId` 的硬依赖

## 官方接入路径

当前仓库已经支持走 OpenClaw 的官方插件 + provider auth 流程:

```bash
openclaw plugins install --link /Users/wangnov/Codex-Pool-OpenClaw
openclaw plugins enable codex-pool-openclaw
openclaw models auth login --provider codex-pool --set-default
```

这条路径会完成三件事:

- 让 OpenClaw 把本仓库识别为合法插件包
- 在运行时覆盖内置 `openai-codex-responses`,仅拦截 `cp_...` / 本地 Codex-Pool 请求
- 用 `models auth login` 把 `models.providers.codex-pool` 写进配置

注意:截至 `2026-03-09`,外部 provider 插件**不能**把自己注入 `openclaw onboard --auth-choice ...` 的内置认证选项列表;外部插件的官方模型接入路径是 `plugins install/enable + models auth login`。

## 当前能力

- 官方接入时固定使用合法配置值 `openai-codex-responses`
- 运行时仅对 `codex-pool` provider、`cp_...` key、或本地 loopback Codex 端点启用兼容层
- 默认请求路径为 `backend-api/codex/responses`
- 直接透传 `Authorization: Bearer cp_...`
- 仅在显式提供时附带 `chatgpt-account-id`
- 提供一个可直接用于 `NODE_OPTIONS=--import=...` 的 preload 入口(作为高级备用接法)
- 提供真正的 OpenClaw provider 插件入口:`./src/openclaw-plugin.js`

## 导出入口

- 包根入口:`codex-pool-openclaw`
- preload 入口:`codex-pool-openclaw/preload`

主要导出:

- `registerCodexPoolCodexProvider()`
- `registerCodexPoolCodexProviderInPiAi()`
- `createCodexPoolCodexProvider()`
- `streamCodexPoolCodexResponses()`

## `models auth login` 会写入什么

provider id 固定为:

- `codex-pool`

API id 固定为:

- `openai-codex-responses`

默认模型引用格式:

- `codex-pool/<model-id>`

认证向导会提示填写:

- Codex-Pool base URL
- `cp_...` API key
- 模型列表(逗号分隔)

然后自动写入:

- `models.providers.codex-pool`
- `agents.defaults.models`

## 写入后的配置示例

认证向导写出的 provider 结构大致如下:

```json
{
  "models": {
    "providers": {
      "codex-pool": {
        "baseUrl": "http://127.0.0.1:8091",
        "api": "openai-codex-responses",
        "apiKey": "cp_xxx",
        "models": [
          {
            "id": "gpt-5.4",
            "name": "gpt-5.4",
            "api": "openai-codex-responses",
            "reasoning": true,
            "input": ["text", "image"],
            "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 },
            "contextWindow": 272000,
            "maxTokens": 32768
          }
        ]
      }
    }
  },
  "agents": {
    "defaults": {
      "models": {
        "codex-pool/gpt-5.4": {}
      }
    }
  }
}
```

## 高级备用:preload 接法

如果你不想走插件安装流程,也可以直接 preload:

```bash
NODE_OPTIONS="--import=/Users/wangnov/Codex-Pool-OpenClaw/src/preload.js" openclaw gateway start
```

可选环境变量:

- `CODEX_POOL_OPENCLAW_API`:默认 `openai-codex-responses`
- `CODEX_POOL_OPENCLAW_SOURCE`:默认 `codex-pool-openclaw`
- `CODEX_POOL_OPENCLAW_PATH_MODE`:可选 `responses`

## 验证

运行测试:

```bash
npm test
```

当前覆盖:

- 认证头构造
- URL 与请求体
- SSE 最小流式语义
- 注册入口幂等性
- preload 自动注册
- OpenClaw 插件包 manifest / `openclaw.extensions`
- OpenClaw provider auth 输出

## 目前边界

- 这个仓库现在已经交付“可注册的自定义 API provider + OpenClaw 官方 provider 插件入口”
- 外部 provider 插件仍不能直接扩展 `openclaw onboard --auth-choice` 的内置选项
- 当前官方推荐接法是 `plugins install/enable + models auth login`
tools

Comments

Sign in to leave a comment

Loading comments...