feat: wire native Codex UI as /console entry, keep classic console at /console-classic
ci / test (push) Successful in 45m25s

- Vendor codex-ui-stack host/ as cloud/codex-ui-host/ (original/ not vendored, 650MB)
- Bridge emulates 7 methods missing in codex 0.164.0-alpha.9, exposes 29
  experimental-protocol methods (150 -> 179), Linux binary candidates,
  read-only POST /__codex_git
- GET /console 302s to the UI host (:8095) when reachable, else falls back
  to the classic React console; GET /console-classic always serves it
- Alignment tables: docs/codex-native-ui-alignment.md
- Tests: test_console 7, new test_codex_ui_host 4, handler method pin 247 -> 249
This commit is contained in:
host committed 2026-11-06 19:03:35 +00:00
1 parent 41f3985248
commit 3e0ff898e0
20 files changed
+3018 -24

No files matched your search

+29
View File
@@ -0,0 +1,29 @@
#!/usr/bin/env bash
# Start the Codex native UI host — the only entry point for the UI host.
#
# scripts/run-codex-ui.sh UI on :8095
# UI_PORT=9000 scripts/run-codex-ui.sh custom port
#
# Env (all optional, no secrets in this file):
# CODEX_APP_SERVER_BIN codex binary for the app-server bridge
# (default /opt/hatch-image/bin/codex)
# CODEX_UI_ORIGINAL_ROOT vendored original/ webview directory
# (default ~/workspace/user/downloads/codex-ui-stack/original;
# original/ is never committed — see docs/codex-native-ui-alignment.md §4)
# UI_PORT port to listen on (default 8095)
# BUMIAN_API_KEY real-relay key, only when relay-config.json points
# at the real relay (see host/relay-config.README.md)
set -euo pipefail
REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
UI_PORT="${UI_PORT:-8095}"
export CODEX_APP_SERVER_BIN="${CODEX_APP_SERVER_BIN:-/opt/hatch-image/bin/codex}"
export CODEX_UI_ORIGINAL_ROOT="${CODEX_UI_ORIGINAL_ROOT:-$HOME/workspace/user/downloads/codex-ui-stack/original}"
export CODEX_WEB_PORT="$UI_PORT"
echo "[codex-ui] UI http://127.0.0.1:${UI_PORT}/"
echo "[codex-ui] codex ${CODEX_APP_SERVER_BIN}"
echo "[codex-ui] root ${CODEX_UI_ORIGINAL_ROOT}"
exec node "$REPO_ROOT/cloud/codex-ui-host/host/web-server.mjs" --port "${UI_PORT}"