Overview
The interface layer determines how users interact with, observe, and control coding agents. Each surface — web dashboard, IDE extension, or terminal — offers different trade-offs in accessibility, context depth, and workflow integration. xCoder's GUI Conductor (L1) supports multiple interfaces to match user preferences and task types.
Comparison Matrix
| Dimension | Web Dashboard | VS Code | CLI |
|---|---|---|---|
| Accessibility | Any device with a browser | Requires VS Code installation | Terminal only |
| Context Depth | Full (all tools, logs, metrics) | Deep (IDE context, inline diffs) | Minimal (text output) |
| Workflow Integration | Separate app / tab | In-editor (no context switch) | Scriptable / automatable |
| Setup Complexity | Low (sign in, connect repo) | Medium (install extension, configure) | Low (npm install, run command) |
| Multi-Agent View | Native | Limited | None |
| Real-time Streaming | SSE / WebSocket | Extension API | Stdout stream |
| Approval UX | Rich (diff viewer, accept/reject) | Inline (code lens, decorations) | Text prompt (y/n) |
| Mobile Support | Responsive | No | SSH apps |
| Automation Friendly | API only | Command palette | Native |
| xCoder Score | 9/10 | 7/10 | 6/10 |
Web Dashboard
A web dashboard is the primary interface for monitoring and controlling autonomous agents. It offers the richest visualization: real-time agent status, phase transition timelines, diff viewers, log streams, and observability metrics. The web is accessible from any device and supports multi-agent views natively. xCoder's dashboard is built on Next.js with server-sent events for live updates.
VS Code
VS Code extensions provide deep IDE integration with zero context switching. Agents can propose inline diffs, use language servers for syntax-aware edits, and access the integrated terminal. This is the preferred interface for interactive coding sessions where the developer wants tight coupling between their intent and the agent's actions. The trade-off is lock-in: the agent only works inside VS Code.
CLI
The command-line interface is the simplest and most automatable surface. It is ideal for CI/CD pipelines, scripting, and power users who prefer keyboard-driven workflows. CLI agents output structured text and accept stdin prompts for approvals. While limited in visualization, it is unbeatable for batch operations and headless execution.
xCoder's Decision
Hybrid: Web (Primary) + VS Code (Secondary) + CLI (Autopilot)
xc i, xc autopilot) remains the entry point for all users and the backbone of CI integration.Integration Notes
- Shared state — All interfaces synchronize through the same FlowEngine checkpoint store, so switching from CLI to web mid-session preserves context.
- Event streaming — Agent events are broadcast on a pub/sub channel consumed by web (SSE), VS Code (Extension API), and CLI (stdout) renderers.
- Approval routing — Approval requests are routed to whichever interface the user is currently active on, with fallback to email/Slack for async review.
- Mobile web — The dashboard is responsive, allowing lightweight monitoring and approval from mobile devices.
- Tauri future — We are evaluating a Tauri-based desktop app (M2 roadmap) that combines web richness with native performance and filesystem access.