@@ -33,6 +33,8 @@ applies to Codex CLI subprocesses and MCP HTTP/OAuth flows.
3333
3434``` bash
3535./examples/run_all.sh
36+ ./examples/run_all.sh --ssh-host example.internal
37+ ./examples/run_all.sh --ssh-host builder@example.internal --ssh-port 2222
3638```
3739
3840Run the same CLI-backed example set against local Codex OSS + Ollama:
@@ -52,6 +54,27 @@ Run the same CLI-backed example set against local Codex OSS + Ollama:
5254The runner checks that the requested Ollama model is installed before starting
5355the examples.
5456
57+ SSH routing is explicit and flag-driven. When you pass ` --ssh-host ` , the
58+ CLI/app-server examples switch to ` execution_surface: :ssh_exec ` while keeping
59+ their existing local default when you omit the flag.
60+
61+ Supported SSH flags for CLI/app-server examples:
62+
63+ - ` --ssh-host <host> ` or ` --ssh-host <user>@<host> `
64+ - ` --ssh-user <user> `
65+ - ` --ssh-port <port> `
66+ - ` --ssh-identity-file <path> `
67+
68+ ` --ssh-host ` is mutually exclusive with ` --ollama ` , because ` --ollama ` is the
69+ local OSS route and ` --ssh-host ` is remote subprocess placement.
70+
71+ ` ./examples/run_all.sh --ssh-host ... ` applies only to examples that actually
72+ run through the Codex CLI execution surface. It does not apply to the direct
73+ Realtime/Voice examples, and it intentionally skips
74+ ` examples/live_oauth_login.exs ` because that example demonstrates local OAuth
75+ session storage and local browser/device login flow rather than subprocess
76+ placement.
77+
5578` gpt-oss:20b ` remains the default validated Codex/Ollama example model, but
5679the runner also accepts other installed Ollama models such as ` llama3.2 ` .
5780Those non-default models may trigger upstream fallback metadata warnings and
@@ -91,6 +114,21 @@ Prereqs:
91114
92115The ` live_*.exs ` scripts hit the live Codex CLI (no OPENAI_API_KEY needed if you are authenticated via ` codex login ` ).
93116
117+ Default local usage stays unchanged:
118+
119+ ``` bash
120+ mix run examples/live_cli_demo.exs " What is the capital of France?"
121+ mix run examples/live_app_server_basic.exs " Reply with exactly ok and nothing else."
122+ ```
123+
124+ SSH usage for CLI/app-server examples is explicit:
125+
126+ ``` bash
127+ mix run examples/live_cli_demo.exs -- --ssh-host example.internal " What is the capital of France?"
128+ mix run examples/live_app_server_basic.exs -- --ssh-host builder@example.internal --ssh-port 2222 " Reply with exactly ok and nothing else."
129+ mix run examples/live_cli_session.exs -- --ssh-host example.internal " Summarize this repository in three bullets."
130+ ```
131+
94132- ` examples/live_cli_demo.exs ` — minimal Q&A against the live CLI
95133- ` examples/live_cli_passthrough.exs ` — direct wrappers for ` completion ` , ` features ` , ` login status ` , and arbitrary raw ` codex ` argv
96134- ` examples/live_cli_session.exs ` — PTY-backed root ` codex ` prompt mode via ` Codex.CLI.interactive/2 `
@@ -123,6 +161,11 @@ The `live_*.exs` scripts hit the live Codex CLI (no OPENAI_API_KEY needed if you
123161- ` examples/live_options_config_overrides.exs ` — options-level global config overrides, precedence, runtime validation, and reserved-provider notes
124162- ` examples/live_parity_and_status.exs ` — quick pointers to parity docs/fixtures and CLI availability
125163
164+ ` examples/live_oauth_login.exs ` remains local-only for its primary flow. The
165+ OAuth session storage, browser launch, and device-code UX are local host
166+ concerns, not ` execution_surface ` concerns, so ` --ssh-host ` is not documented
167+ for that script.
168+
126169## Realtime Voice Examples (OpenAI Agents SDK)
127170
128171These examples use the OpenAI Realtime API directly (not via Codex CLI). They demonstrate real-time bidirectional voice interactions:
0 commit comments