Your Vibe, Multiplied
Codanium Desktop is a cross-platform desktop IDE that connects to the Codanium AI software delivery platform. It receives generated code from AI agents in real-time, provides an integrated development environment with chat, board, and agent monitoring — all without requiring VS Code.
| Resource | URL |
|---|---|
| Codanium Platform | https://codanium.com |
| Desktop Downloads | https://github.com/AiSenseiMY/Codanium/releases |
| Web App Repo | https://github.com/AiSenseiMY/Ai-Team_studio |
| Desktop Repo | https://github.com/AiSenseiMY/Codanium |
- Workspace Sync — Files sync from the platform via polling (5s interval) with smart path derivation
- Pipeline Status Bar — Live progress bar showing current SDLC phase (PM, BA, SA, DO, DEV) with percentage
- Agent Activity Panel — Real-time agent statuses grouped by team (Governance, SDLC, Engineering, Platform)
- Chat Panel — Stream messages to AI agents via server-side agent loop with phase banners
- Board Panel — Kanban-style card view with auto-refresh (10s interval)
- File Explorer — Browse generated project files in a tree view
- Code Viewer — Syntax-highlighted read-only view (Monaco Editor)
- Integrated Terminal — Run npm, git, build commands (xterm.js)
- IDE Heartbeat — 15s ping to server so agents know IDE is connected (unlocks DEV_AGENTS)
- Auth Persistence — Login session persists across app restarts
- Environment Toggle — Switch between Production and Development servers
- Cross-Platform — Mac (ARM64 + Intel), Windows, Linux (~8MB installer)
| Layer | Technology |
|---|---|
| Desktop | Tauri v2 (Rust backend, system WebView) |
| Frontend | React 19 + TypeScript + Vite |
| Styling | Tailwind CSS |
| State | Zustand (persisted) |
| HTTP | @tauri-apps/plugin-http (CORS-free) |
| Editor | Monaco Editor |
| Terminal | xterm.js |
| Icons | Lucide React |
- Rust (latest stable)
- Node.js (22+)
- Codanium platform running (default: http://localhost:14001)
# Install Rust (if not installed)
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# Install dependencies
npm install
# Run in development mode
npm run tauri:dev
# Build for production
npm run tauri:buildcodanium-desktop/
├── src/ # React frontend
│ ├── components/
│ │ ├── AgentPanel.tsx # Live agent statuses by team
│ │ ├── BoardPanel.tsx # Kanban card view with auto-refresh
│ │ ├── ChatPanel.tsx # Chat with AI agents + phase banners
│ │ ├── CodeViewer.tsx # Monaco-based code viewer
│ │ ├── FileExplorer.tsx # Project file tree
│ │ ├── LoginScreen.tsx # Email/password auth
│ │ ├── ProjectSelector.tsx # Project picker + workspace directory
│ │ ├── TerminalPanel.tsx # Integrated terminal (xterm.js)
│ │ └── UpdateBanner.tsx # Auto-update notification
│ ├── services/
│ │ ├── heartbeat.ts # IDE heartbeat (15s POST ping)
│ │ └── workspace-sync.ts # Polling-based file sync (5s)
│ ├── stores/
│ │ ├── board-store.ts # Board cards + auto-refresh
│ │ ├── chat-store.ts # Chat messages + streaming
│ │ ├── connection-store.ts # Auth, project selection, environment
│ │ ├── pipeline-store.ts # Pipeline phase + agent statuses
│ │ └── project-store.ts # File tree for workspace
│ ├── lib/
│ │ └── api.ts # Tauri HTTP client (CORS-free fetch)
│ ├── App.tsx # Main layout + pipeline status bar
│ └── main.tsx # Entry point
├── src-tauri/ # Rust backend
│ ├── src/
│ │ ├── commands/ # Tauri commands (fs, git, terminal)
│ │ ├── main.rs # Entry point
│ │ └── lib.rs # Plugin registration
│ ├── capabilities/
│ │ └── default.json # Permissions + HTTP URL scope
│ ├── Cargo.toml # Rust dependencies
│ └── tauri.conf.json # App configuration
├── package.json
└── vite.config.ts
Codanium Desktop Codanium Platform
│ │
│── POST /api/desktop/login ──────────────→│
│←── API key (ats_sk_...) + userId ────────│
│ │
│── GET /api/projects ────────────────────→│
│←── project list ─────────────────────────│
│ │
│── POST /api/projects/{id}/vscode-ping ──→│ (every 15s)
│←── heartbeat ACK ────────────────────────│ (Redis TTL 30s)
│ │
│── GET /api/projects/{id} ───────────────→│ (poll every 5s)
│←── pipelinePhase + agents[] ─────────────│
│ │
│── GET /api/projects/{id}/artifacts ─────→│ (poll every 5s)
│←── new/updated artifacts ────────────────│
│ [Write to ~/Documents/Codanium/] │
│ │
│── POST /api/projects/{id}/chat/stream ──→│
│←── SSE agent responses ──────────────────│
│ │
│── GET /api/projects/{id}/cards ─────────→│ (poll every 10s)
│←── board cards ──────────────────────────│
When the Desktop IDE is connected (heartbeat active), the following agents are unlocked on the server:
| Agent | Role |
|---|---|
| JD | Junior Developer |
| SD | Senior Developer |
| QA | Quality Assurance |
| DO | DevOps Engineer |
| PE | Performance Engineer |
| IE | Infrastructure Engineer |
Without an IDE connection, these agents are held in WAITING_FOR_VSCODE status.
Proprietary — AiSensei MY
Built with Tauri v2, React 19, and Rust