A tiny, dependency-free Web UI that wraps your local Codex CLI. Streaming. Resumable. Sanity-saving.
It started with a simple `codex` command. It ended in tears.
Lines overwriting lines. Output looking like ASCII art gone wrong. The "Terminal Terror."
"I squinted at my screen. My terminal squinted back. We both knew this relationship wasn't working."
We built Codex WebUI in a 7-hour caffeine-fueled marathon to fix what was broken. No clouds. No drama. Just clean output.
No node_modules bloat. No build steps. Just a single-file Node.js server and vanilla JS. Easy to audit, impossible to break.
Your data stays on your machine. Sessions stored in ~/.codex/. No telemetry. No cloud sync. Privacy by default.
Uses native ES Modules and HTTP/SSE. We trade complex frameworks for raw, understandable code you can hack yourself.
Everything you need to stop fighting your tools and start shipping code.
Real-time character-by-character output. Watch the AI think, just like in the movies, but readable.
Picks up exactly where you left off from your rollout-*.jsonl files. Never lose context.
Visual interface to peek at or purge the AI's long-term memory facts. Keep it smart.
Binds to 127.0.0.1. CORS locked. Optional Token Auth. Your machine is your castle.
index.html + vanilla JS
server.js (Native)
Child Process
Server-Sent Events stream. Returns JSON deltas for real-time output.
Sends prompt to current session. {"message": "string"}
Resumes from rollout file. {"rollout": "path/to/file.jsonl"}
Purges long-term memory file. Irreversible.