haidercode.ai — this is a scripted design emulation of the Haider TUI
Design exploration · interactive

Haider Code حيدر — Desert Dawn, live.

A working emulation of the TUI: type a task, run slash commands, fork the session tree, switch model or provider mid-session, and watch the context meter climb into an auto-compaction. Three renderings of one identity — pick below.

haider — launcher

Screens

Launcher — opening without --session: the shahada centerpiece, provider/model/device line, recent sessions, and a multi-line input that starts a new session. Session — live transcript with tool cards, state badge, token + context meter; its first open is intercepted by a persisted provider/model/effort/ workflow confirmation gate. Workflows (/workflows) — AI-authored DAG templates: describe a workflow and the authoring model designs its nodes, gates, and conditional edges (including ↺ back-edges). Tree (/tree) — every branch and node; ⏎ jumps, f forks. Sessions (/sessions) — attach or start sessions across the mesh.

Try

Open billing-service and send use a subagent to cover the webhook tests — it appears in the subagents tree under the input with a callsign from the honour-roll (Muhammad ﷺ, Fatima (a), Ali (a) …, drawn in order), the glyph tracking state (○ idle → ◐ running → ⚒ tool), flips to an amber ? when it needs you; click its row to watch the live transcript and answer; scroll up mid-history and the originating ❯ prompt pins to the top · /tree shows the main line with fork markers — ⏎ opens a fork, f forks at any node (even inside a fork), esc walks back up · /fork branches from the current point · /model ⏎ pick gpt-5.6, meter re-scales to 400k · /theme ⏎ arrow through dawn · ivory · dark · run the prod migrate job → permission menu · the migrate job crashed unreliably → effect_outcome_unknown recovery · /hooks + /update → trust and update menus (every card is a typed menu — type [n] ⏎, click, or answer by id over RPC; one agent can set up another) · voice is on by default, so the ◉ talk button under the input (or /say hello there) speaks a turn — the assistant reply is tagged ♪ speaking; /voice ⏎ re-picks STT/TTS providers or switches to gpt-realtime duplex · custom tool: ship a preview env runs all three dispatch modes (fire-and-forget · await · deferred callback → WAITING(dependency) until it calls back) · /tools registers your own · answer any card by typing [n] ⏎ · /aura (or the ◉ Aura row on the launcher) opens a voice session — an orchestrator with a glowing status orb that spawns and steers sessions across devices but never codes; text-drive it (“spin up billing-service on workstation and run its tests”), ◉ hold to talk, hot-swap the engine gpt-realtime-2 ⇄ STT·LLM·TTS, or mute audio output · /accounts (or the ⚿ Accounts row) manages provider credentials — OpenAI/Anthropic via OAuth (ChatGPT / Claude Max) or API key, HuggingFace and any custom OpenAI-compatible endpoint (local vLLM / Ollama), several accounts per provider with global aliases; click one to make it active, or type a slash command and watch the ghost completion/login ghosts openai then oauth, Tab accepts each; /account completes a stored alias (auth is harness-owned — the ADE just reads this list) · a subagent has its own state machine and is messageable like the main agent — message it and it runs a turn, it can spawn its own subagents, and a child still running keeps the whole session WAITING; closing one lets it leave the tree after 5s · /peers (or the ⇄ Peers row) shows the reachability ladder — this device is its own enrolled peer (offline-capable), hetzner-1 is a sponsored node SSH-launched through it (hosts sessions), and ci-runner-7 is a shell target (exec-only, never a session host); + SSH target bootstraps Haider over the tunnel and attaches a node · plan todo pins a live todo checklist above the input (☐ listed → ■ processing → ✓ completed, deps gate later items) that unpins into the transcript when done · send more messages mid-turn — default steer delivers at the next safe boundary, /queue turn holds them (⧗ panel) and consumes them at turn end with no idle between · esc mid-turn → ⏸ IDLE (i), decaying to IDLE after 30s or when you type · a blocking card (permission · recovery) replaces the composer — ↑↓ / digit / click, transcript stays above; /hooks and /update are full-screen startup gates instead (harness-level, not session) · do a bulk sweep, watch for rate limit → account rotation (oauth first) then a weekly-cap card with the Codex weekly-reset lever or wait-and- auto-resume · ⌃G token panel · the prompt doubles as a shell — ls, cd .., mkdir experiments, pwd run instantly and cd moves where the agent works while the session stays global · the TUI boots with a STARTING checklist, then the launcher, then a 3s grace before IDLE — input typed early is queued, never dropped · sessions park in WAITING while subagents run · state persists across reloads, /reset restores the seeds · /back (or /clear) returns to the main screen.