|
| 1 | + |
| 2 | +# Desktop App |
| 3 | + |
| 4 | +AgentKernel includes a native macOS desktop app built with [Tauri 2](https://tauri.app/). It provides a GUI for managing sandboxes, snapshots, templates, and agents — all backed by the same HTTP API as the CLI. |
| 5 | + |
| 6 | +<img width="2474" height="1550" alt="AgentKernel Desktop App" src="https://github.com/user-attachments/assets/836e6b21-66c7-4915-b5a8-bf95a0824a99" /> |
| 7 | + |
| 8 | +## Requirements |
| 9 | + |
| 10 | +- macOS 26+ (Apple Containers) or macOS with Docker Desktop |
| 11 | +- The `agentkernel` server running (`agentkernel serve` or `make serve`) |
| 12 | + |
| 13 | +## Install |
| 14 | + |
| 15 | +Download the latest `.app` bundle from [GitHub Releases](https://github.com/thrashr888/agentkernel/releases), or build from source. |
| 16 | + |
| 17 | +## Build from Source |
| 18 | + |
| 19 | +```bash |
| 20 | +# Install dependencies |
| 21 | +cd app && npm ci |
| 22 | + |
| 23 | +# Run in development mode (hot-reload) |
| 24 | +make app |
| 25 | + |
| 26 | +# Build release .app bundle |
| 27 | +cd app && npx tauri build |
| 28 | +``` |
| 29 | + |
| 30 | +The built `.app` bundle is output to `app/src-tauri/target/release/bundle/macos/`. |
| 31 | + |
| 32 | +## Features |
| 33 | + |
| 34 | +| Page | Description | |
| 35 | +|------|-------------| |
| 36 | +| Dashboard | Server health, sandbox count, quick actions | |
| 37 | +| Sandboxes | Create, start, stop, delete sandboxes with terminal access | |
| 38 | +| Sandbox Detail | Exec commands, file browser, live logs | |
| 39 | +| Snapshots | Save and restore sandbox state | |
| 40 | +| Templates | Quick-launch from predefined configurations | |
| 41 | +| Agents | View and install supported AI agent CLIs | |
| 42 | +| Policy | View and manage sandbox security policies | |
| 43 | +| Secrets | Manage environment secrets passed to sandboxes | |
| 44 | +| Audit Log | View sandbox lifecycle events | |
| 45 | +| Diagnostics | System health checks and backend status | |
| 46 | +| Settings | Configure server URL and preferences | |
| 47 | + |
| 48 | +## Architecture |
| 49 | + |
| 50 | +``` |
| 51 | +app/ |
| 52 | +├── src/ # React 19 + TypeScript frontend |
| 53 | +│ ├── pages/ # Route pages (Dashboard, Sandboxes, etc.) |
| 54 | +│ ├── components/ # Shared UI components (shadcn/ui) |
| 55 | +│ └── lib/ # API client, hooks, types |
| 56 | +└── src-tauri/ # Rust backend (Tauri 2) |
| 57 | + ├── src/commands/ # Tauri IPC commands |
| 58 | + ├── src/api_client.rs # HTTP client to agentkernel server |
| 59 | + └── src/types.rs # Shared type definitions |
| 60 | +``` |
| 61 | + |
| 62 | +The desktop app communicates with the `agentkernel serve` HTTP API. The Tauri backend acts as a bridge, forwarding IPC calls from the frontend to the server. |
0 commit comments