Bridge for codex app-server (stdio JSON-RPC) over either WebSocket (default) or HTTP+SSE.
GET /— WebSocket upgrade- client -> server:
{ "id": 1, "method": "...", "params": { ... } } - server -> client: JSON-RPC responses + Codex notifications (messages without an
id)
- client -> server:
POST /— JSON body:{ "method": "...", "params": { ... } }GET /events— SSE stream of Codex notifications (messages without anid)
PORT(default:8080)CODEX_HTTP_SECRET(optional) — if set, requiresx-codex-secretheader to match (disable with--no-auth)
npx codex-app-serverThis requires the codex executable to be on your PATH (or pass --binary <path>).
Options:
--protocol <ws|sse>— selects transport (default:ws)--no-auth— disablesCODEX_HTTP_SECRETchecks--port <n>— overridesPORT--binary <path>— overrides thecodexexecutable (default:codex)-- <codex args...>— overrides Codex args (default:app-server)
npm run buildcompilessrc/todist/.- Published installs (including
npm i -g codex-app-server) use the prebuiltdist/and do not requiretypescriptat install time.
MIT (see LICENSE).