Skip to content

Commit 3387acd

Browse files
committed
docs: clarify client connection checks
1 parent 2cbac00 commit 3387acd

9 files changed

Lines changed: 50 additions & 25 deletions

File tree

README.md

Lines changed: 26 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -110,10 +110,12 @@ for example `https://codex-pooler.example.com`.
110110

111111
![Codex Pooler OpenCode integration](.github/assets/codex-pooler-opencode.png)
112112

113-
OpenCode talks to Codex Pooler through the OpenAI-compatible `/v1` surface. The
114-
provider uses the Pool API key, and the optional remote MCP entry uses an
115-
operator-owned MCP token. MCP is not required for OpenCode to use Codex Pooler;
116-
it only gives an operator MCP host read-only metadata tools. Its websocket
113+
OpenCode talks to Codex Pooler through the OpenAI-compatible `/v1` surface. Keep
114+
the provider id as `openai` for this setup so OpenCode continues to use its
115+
OpenAI provider-family behavior. The provider uses the Pool API key, and the
116+
optional remote MCP entry uses an operator-owned MCP token. MCP is not required
117+
for OpenCode to use Codex Pooler; it only gives an operator MCP host read-only
118+
metadata tools. Its websocket
117119
support is the narrow Responses websocket route at `GET /v1/responses`, not
118120
OpenAI Realtime SDK compatibility.
119121

@@ -414,12 +416,12 @@ hermes -z 'Reply with exactly: hermes openai api ok' --ignore-rules
414416
```
415417

416418
Hermes can also be made to use its `openai-codex` provider against Codex
417-
Pooler. This is less direct because Hermes treats `openai-codex` as an OAuth
418-
provider by default; add a Pool API key credential ahead of any existing
419+
Pooler, but this alternate path is less direct because Hermes treats `openai-codex` as an
420+
OAuth provider by default; add a Pool API key credential ahead of any existing
419421
device-code credential and keep the entry's `base_url` on `/v1`. Use this only
420422
when you specifically need Hermes' `openai-codex` credential-pool behavior; the
421-
`openai-api` configuration above is the preferred setup. This variant stores
422-
the key in `auth.json` because Hermes credential pools live there.
423+
`openai-api` configuration above is the preferred setup. This variant stores the
424+
key in `auth.json` because Hermes credential pools live there.
423425

424426
```bash
425427
HERMES_CODEX_BASE_URL=http://localhost:4000/v1
@@ -688,8 +690,8 @@ do not set `"permission": "ask"`, which is not a valid config shape.
688690
Check the headless tool path from an isolated directory:
689691
690692
```bash
691-
mkdir -p /tmp/codex-pooler-kilo-smoke
692-
cd /tmp/codex-pooler-kilo-smoke
693+
mkdir -p /tmp/codex-pooler-kilo-check
694+
cd /tmp/codex-pooler-kilo-check
693695

694696
export CODEX_POOLER_API_KEY=<pool-api-key>
695697
kilo run \
@@ -720,13 +722,24 @@ model: openai/gpt-5.5
720722
openai-api-base: http://localhost:4000/v1
721723
```
722724
723-
Smoke-test from a repository:
725+
Check Aider from a repository with a real file edit:
724726
725727
```bash
726728
export OPENAI_API_KEY="$CODEX_POOLER_API_KEY"
727-
aider --model openai/gpt-5.5 --message 'Reply with exactly: aider ok'
729+
aider --model openai/gpt-5.5 \
730+
--openai-api-base http://localhost:4000/v1 \
731+
--message 'Create a file named aider-ok.txt containing exactly: aider ok. After the file exists, reply with exactly: aider ok' \
732+
--yes-always \
733+
--no-auto-commits \
734+
--no-git \
735+
--no-browser \
736+
--no-gui \
737+
--no-analytics
728738
```
729739

740+
The check is only useful if the file exists with the expected content; a text
741+
reply alone does not prove Aider can edit through the configured model path.
742+
730743
For deployed instances, change `openai-api-base` to
731744
`https://codex-pooler.example.com/v1`.
732745

@@ -1305,7 +1318,7 @@ web app to one replica because backend
13051318
websocket continuity owns a live upstream websocket in an app pod. Owner-alive
13061319
cross-node forwarding is wired, but scaling web replicas still requires
13071320
clustering, owner-forwarding, and the explicit unsafe topology acknowledgement
1308-
until Kubernetes smoke evidence relaxes that guard.
1321+
until Kubernetes deployment validation relaxes that guard.
13091322

13101323
The Helm migration hook runs database migrations and imports the vendored OpenAI
13111324
pricing feed so request-log cost reporting has pricing snapshots after install

docs-site/src/content/docs/clients/aider.mdx

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,21 @@ model: openai/gpt-5.5
1919
openai-api-base: http://localhost:4000/v1
2020
```
2121
22-
Smoke-test from a repository:
22+
Check Aider from a repository with a real file edit:
2323
2424
```bash
2525
export OPENAI_API_KEY="$CODEX_POOLER_API_KEY"
26-
aider --model openai/gpt-5.5 --message 'Reply with exactly: aider ok'
26+
aider --model openai/gpt-5.5 \
27+
--openai-api-base https://codex-pooler.example.com/v1 \
28+
--message 'Create a file named aider-ok.txt containing exactly: aider ok. After the file exists, reply with exactly: aider ok' \
29+
--yes-always \
30+
--no-auto-commits \
31+
--no-git \
32+
--no-browser \
33+
--no-gui \
34+
--no-analytics
2735
```
2836

37+
The check is only useful if `aider-ok.txt` exists with the expected content; a text reply alone does not prove Aider can edit through the configured model path. For local setup, change `--openai-api-base` to `http://localhost:4000/v1`.
38+
2939
The Pool API key authenticates `/v1` model requests. Do not use an operator MCP token as the OpenAI API key.

docs-site/src/content/docs/clients/codex-cli.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ For a deployed instance, the Codex backend base URL is:
1313
https://codex-pooler.example.com/backend-api/codex
1414
```
1515

16-
For local setup and local smoke checks, use:
16+
For local setup and local connection checks, use:
1717

1818
```text
1919
http://localhost:4000/backend-api/codex

docs-site/src/content/docs/clients/hermes.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ That test should create normal `/v1` traffic using the Pool API key. The MCP ent
7575

7676
## Alternate `openai-codex` credential-pool path
7777

78-
Hermes can also use its `openai-codex` provider against Codex Pooler, but this path is less direct. Hermes treats `openai-codex` as an OAuth provider by default, so add a Pool API key credential ahead of any device-code credential and keep the credential `base_url` on `/v1`.
78+
Hermes can also use its `openai-codex` provider against Codex Pooler, but this alternate path is less direct. The preferred setup is the `openai-api` provider above with `api_mode: codex_responses`. Hermes treats `openai-codex` as an OAuth provider by default, so add a Pool API key credential ahead of any device-code credential and keep the credential `base_url` on `/v1`.
7979

8080
Keep endpoint and MCP token values in the environment:
8181

docs-site/src/content/docs/clients/kilo.mdx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -61,13 +61,13 @@ For local setup, change `baseURL` to `http://localhost:4000/v1`.
6161

6262
Kilo is a chat-completions client. It sends model requests to `POST /v1/chat/completions`, and Codex Pooler translates supported chat-completions requests into Codex Responses work internally. Do not point Kilo at `/backend-api/codex`, `/v1/responses`, or `/v1/chat/completions` as the configured base URL.
6363

64-
## Smoke check
64+
## Connection Check
6565

6666
Run a tool-using prompt from an isolated directory:
6767

6868
```bash
69-
mkdir -p /tmp/codex-pooler-kilo-smoke
70-
cd /tmp/codex-pooler-kilo-smoke
69+
mkdir -p /tmp/codex-pooler-kilo-check
70+
cd /tmp/codex-pooler-kilo-check
7171

7272
export CODEX_POOLER_API_KEY=<pool-api-key>
7373
kilo run \

docs-site/src/content/docs/clients/omp.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ modelRoles:
7171

7272
`startup.setupWizard: false` keeps OMP from opening the initial setup flow after the provider and roles are already configured.
7373

74-
## Smoke check
74+
## Connection Check
7575

7676
Run a one-shot prompt from the repository you want OMP to inspect:
7777

docs-site/src/content/docs/clients/opencode.mdx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ description: Configure OpenCode with Codex Pooler's narrow OpenAI-compatible /v1
55

66
![Codex Pooler OpenCode integration](/codex-pooler-opencode.png)
77

8-
OpenCode should use Codex Pooler through the narrow OpenAI-compatible `/v1` surface. The Pool API key authenticates model requests. A separate operator MCP token authenticates the optional remote MCP endpoint. MCP is not required for OpenCode to use Codex Pooler; it only gives an operator MCP host read-only metadata tools.
8+
OpenCode should use Codex Pooler through the narrow OpenAI-compatible `/v1` surface. Keep the provider id as `openai` for this setup so OpenCode continues to use its OpenAI provider-family behavior. The Pool API key authenticates model requests. A separate operator MCP token authenticates the optional remote MCP endpoint. MCP is not required for OpenCode to use Codex Pooler; it only gives an operator MCP host read-only metadata tools.
99

1010
OpenCode websocket support is the narrow Responses websocket route at `GET /v1/responses`, not OpenAI Realtime SDK compatibility.
1111

@@ -93,6 +93,8 @@ Use a dedicated operator MCP token for hosts that persist remote MCP headers. Do
9393

9494
## Compatibility notes
9595

96+
If you automate OpenCode from scripts, use OpenCode's own documented headless command shape for your installed version and verify both the final response and the expected file changes. The examples on this page focus on configuration, not a full automation workflow.
97+
9698
Codex Pooler provides narrow OpenAI-compatible `/v1` support for selected SDK routes. Supported OpenCode traffic should stay on `/v1/responses` or `/v1/chat/completions`, depending on the OpenAI provider path OpenCode uses.
9799

98100
`GET /v1/responses` is narrow Responses websocket compatibility, not `/v1/realtime` support. `/v1/realtime` and OpenAI Realtime SDK websocket or session routes are unsupported.

docs-site/src/content/docs/clients/pi.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ If you want plain `pi` or `pi -p ...` to start on Codex Pooler, add the defaults
6565
}
6666
```
6767

68-
## Smoke check
68+
## Connection Check
6969

7070
Run a one-shot prompt from the repository you want Pi to inspect:
7171

@@ -79,7 +79,7 @@ pi --provider codex-pooler \
7979
-p 'Reply with exactly: pi ok'
8080
```
8181

82-
`--no-session` keeps the check ephemeral. `--no-context-files` keeps the smoke independent from local project instructions. For normal interactive use, omit those flags if you want Pi to load `AGENTS.md`, skills, sessions, and project settings.
82+
`--no-session` keeps the check ephemeral. `--no-context-files` keeps it independent from local project instructions. For normal interactive use, omit those flags if you want Pi to load `AGENTS.md`, skills, sessions, and project settings.
8383

8484
## MCP boundary
8585

docs-site/src/content/docs/clients/windmill.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ windmill:
111111
This setting belongs to Windmill, not Codex Pooler. Use it only when the
112112
Codex Pooler base URL is intentionally private from Windmill's point of view.
113113

114-
## Smoke test through Windmill
114+
## Connection Check Through Windmill
115115

116116
After saving the resource and workspace AI settings, call Windmill's AI proxy
117117
route. Use a Windmill user token for the Windmill API request and let Windmill

0 commit comments

Comments
 (0)