A multi-agent infinite canvas IDE for running Claude Code, Codex, and Gemini in parallel.
- Infinite Canvas - Pan and zoom around a workspace filled with tiles
- Multiple Tile Types:
- Agent - Run AI coding agents (Claude, Codex, Gemini) with real-time output
- Terminal - Full PTY terminal with xterm.js and automatic error detection
- Editor - Monaco-powered code editor with syntax highlighting
- Browser - Embedded browser for previewing web apps
- Diff - Side-by-side diff viewer with inline comments
- Todo - Task list with agent handoff
- Inspect β NEW - Automated debugging with console/network capture and auto-fix
- Focus Mode - Zoom into a single tile for distraction-free work
- Toast Notifications - Real-time feedback for agent status
- Keyboard Shortcuts - Fast tile creation and navigation
- Canvas orchestrator - Chat-driven tool loop with automated debugging capabilities
- External agents (Hermes / OpenClaw / Pi / OpenClaude) - Same tool contract over HTTP as the built-in orchestrator; discovery hub docs/AGENT_ORCHESTRATOR_SYNC.md, bridge reference docs/CANVAS_AGENT_BRIDGE.md, executable skill
docs/skills/orca-external-orchestrator/SKILL.md(Paperclip-style BYOA)
Self-healing browser debugging with automatic console/network capture
The Inspect Module provides the orchestrator with comprehensive debugging capabilities:
- Automatic Capture: All console logs and network requests intercepted automatically
- Intelligent Detection: Pattern recognition, spike detection, issue grouping
- Auto-Fix: Common issues fixed without user intervention
- Visual Interface: Real-time monitoring with filtering and export
- Orchestrator Integration: 9 specialized tools for automated debugging
Key Capabilities:
- Detect console errors, network failures, API issues
- Auto-fix syntax errors, undefined variables, auth failures
- Monitor performance (slow endpoints, large payloads)
- Export data (JSON, CSV, Markdown, clipboard)
- Zero configuration - works automatically in browser tiles
See INSPECT_MODULE.md for complete documentation.
- Frontend: React 18, TypeScript, Vite, Tailwind CSS, Zustand
- Terminal: xterm.js with node-pty backend
- Editor: Monaco Editor
- Backend: Node.js, Express, WebSocket (ws)
Run the companion server + headless harness as a user daemon (orcad) and use the orca CLI β OpenClaw-style, always-on when your machine is logged in.
See docs/DAEMON.md for install, config (~/.orca/config.toml), and commands.
- Node.js 18+
- npm 9+
npm installThe repo ships .cursor/mcp.json with Context7 for up-to-date library documentation in-agent. Optionally set CONTEXT7_API_KEY (free tier at context7.com) in your environment for higher limits.
Run both client and server:
npm run devOr run them separately:
npm run dev:client # Vite dev server at http://localhost:5173
npm run dev:server # API server at http://localhost:3001Contributors: docs/DEVELOPER.md β monorepo map, orchestrator stack, Tauri vs web, harness eval, testing.
npm run buildThis project uses GitHub Actions for continuous integration and deployment.
The CI pipeline (.github/workflows/ci.yml) runs on every push and pull request to main, develop, and feature branches:
Jobs:
-
Lint & Type Check
- TypeScript type checking for all packages
- Rust
cargo fmtformatting check - Rust
cargo clippylinting
-
Test Node.js packages
- Runs tests for
packages/clientandpackages/server - Collects coverage with c8
- Uploads coverage to Codecov
- Runs tests for
-
Test Rust packages
- Runs all Rust workspace tests
- Collects coverage with cargo-tarpaulin
- Uploads coverage to Codecov
-
Build artifacts
- Builds client (Vite)
- Builds server (TypeScript)
- Builds harness-headless
- Builds Rust server, daemon, and CLI
- Uploads build artifacts for 30 days
-
Coverage Report
- Generates coverage summary in GitHub Actions UI
- Coverage tracked across client, server, and Rust components
-
Status Check
- Aggregates all job statuses
- Fails CI if any job fails
Coverage is reported via Codecov:
- Client: React/TypeScript frontend
- Server: Node.js/TypeScript backend
- Rust: Tauri daemon, CLI, and server components
Configuration is in codecov.yml at the repo root.
# Run all tests
npm run test --workspace=packages/client
npm run test --workspace=packages/server
# Run tests with coverage
NODE_ENV=test c8 npm run test --workspace=packages/client
# Run Rust tests
cargo test --workspace
# Run Rust tests with coverage
cargo install cargo-tarpaulin
cargo tarpaulin --workspace --out XmlSeparate workflow (.github/workflows/build-windows.yml) builds Windows installers (NSIS + MSI) on version tags and manual dispatch.
| Shortcut | Action |
|---|---|
β + Enter |
Toggle focus mode |
β + 1 |
Add Agent tile |
β + 2 |
Add Terminal tile |
β + 3 |
Add Browser tile |
β + 4 |
Add Todo tile |
β + 5 |
Add Editor tile |
β + 6 |
Add Diff tile |
β + 7 |
Add Inspect tile |
β + 0 |
Reset canvas view |
β + ? |
Show keyboard shortcuts |
Esc |
Exit focus mode |
Scroll |
Zoom in/out |
Drag |
Pan canvas |
packages/
client/ # React frontend
src/
components/
Canvas/ # Infinite canvas and tile system
tiles/ # Individual tile components
InspectTile.tsx # Automated debugging UI
FocusMode/ # Focus mode overlay
Toolbar/ # Canvas toolbar and shortcuts
Toast/ # Notification system
lib/
inspect/ # Inspect module
types.ts # Data structures
errorDetection.ts # Error detection algorithms
networkInterceptor.ts # Network capture
store/ # Zustand state stores
inspectStore.ts # Inspect state management
orchestrator/ # Orchestrator integration
inspectTools.ts # Query tools
autoFixWorkflows.ts # Auto-fix logic
server/ # Node.js backend
src/
pty/ # Terminal session management
agents/ # AI agent process management
ws/ # WebSocket router
MIT