Corazon (Corazón) means “heart” in Spanish. This project is a web-first Codex workspace that aims to feel like a calm, persistent place to think, iterate, and ship — not just a chat box.
- Web UI for running Codex with streaming chat.
- Thread persistence, titles, and usage stats.
- Per-thread working directories and attachments.
- Dashboard UX for browsing and resuming threads.
- Node.js 22+
- A package manager (pnpm recommended). If you use pnpm, allow native builds for
better-sqlite3. - Codex CLI access (ChatGPT subscription or API key, per your Codex setup)
pnpm installpnpm devThe app runs at:
http://localhost:3000
pnpm build
pnpm previewPrepare a runtime root (seeds config/skills/rules/vendor imports and links auth):
npx corazon setup --runtime-root ./.corazonBuild and run with Docker Compose:
docker compose up --buildOr build and run with Docker directly:
docker build -t corazon .
docker run --rm -p 3000:3000 \
-v "$(pwd)/.corazon:/root/.corazon" \
corazonNotes:
- The runtime root (e.g.
./.corazon) should containconfig.toml,skills/,data/, andthreads/. - If you want a different runtime root, run
npx corazon setup --runtime-root /path/to/rootand mount it to/root/.corazon(or setCORAZON_ROOT_DIR). - Workflow local metadata is stored at
${WORKFLOW_LOCAL_DATA_DIR}(default:${CORAZON_ROOT_DIR}/workflow-data).
- SQLite database:
${CORAZON_ROOT_DIR}/data/codex.sqlite(default:~/.corazon/data/codex.sqlite) - Thread working directories:
${CORAZON_ROOT_DIR}/threads/{threadId}(default:~/.corazon/threads/{threadId}) - Attachments are stored under each thread’s
attachments/directory. - Workflow local metadata:
${WORKFLOW_LOCAL_DATA_DIR}(default:${CORAZON_ROOT_DIR}/workflow-data)
- Core features built with Codex SDK, Vercel AI, and Nuxt UI
- Thread persistence, titles, and usage stats
- Per-thread working directories and attachments
- Thread browsing/resume UX
- Login & OAuth
- Multi-user support
- Multi-project workspaces
- Isolated shell and code interpreter
