Overview
A web-based UI for managing and interacting with AI coding agents.
Controller is a web-based UI for managing and interacting with AI coding agents. It provides a chat-like interface to send prompts to coding agents (Anita, Codex, Claude), stream their responses in real time, and organize work into projects and sessions.
Features
- Multi-provider support — plug in different AI coding agents (Anita, Codex, Claude) and switch between them per session.
- Project management — register local project directories and manage them from a sidebar.
- Session management — create, resume, and archive coding sessions within each project. Sessions persist their event history to disk.
- Real-time streaming — agent output (text, reasoning, tool calls, tool results) is streamed to the browser over SSE.
- Model selection — choose which model to use for each session.
- Slash-command skills — type
/<skill-name>in the chat input to activate an installed skill for Anita, Codex, or Claude. The orchestrator is the only source of truth for slash commands; it prepends theSKILL.mdbody at send time and turns off the agent CLIs' own slash-command paths so the two never compete. - API key management — configure provider API keys through a settings dialog; keys are passed as environment variables to the agent process.
- Responsive UI — dark-themed interface with a collapsible sidebar that works on desktop and mobile.
- Desktop shell — optional Electron wrapper that runs the same UI and backend as the browser app.
- Conductor and Superset support — projects authored against
conductor.jsonor.superset/config.jsonare detected and run automatically; native.controller/setup.sh/run.shtake precedence when both exist. See Controller scripts for the native format and the migration path.