The private Agent2OS for real work. Chat with any AI model, connect your favorite messaging apps, and run agents across your desktop, terminal, cloud VM, Raspberry Pi, or anywhere Rust runs.
Quick Start · Architecture · tmux Desktop · Security · Crates · Development · Contributing
⚠️ Active Development — Things Will BreakClawDesk is under active development and is not yet stable. APIs, CLI commands, and data formats may change without notice. Expect rough edges, missing features, and occasional breakage. We're currently focused on testing and hardening the core runtime.
Contributors and testers are welcome! If you hit a bug, please open an issue. If you want to help, check the open issues or submit a PR.
ClawDesk - Agent2OS is a personal AI workspace you can run on your own devices. It is built for people who want one place to chat with AI, organize work, automate repetitive tasks, and keep useful assistants available across desktop, terminal, and server environments.
Instead of switching between browser tabs, hosted tools, scripts, and disconnected bots, ClawDesk gives you a single home for AI-powered work. You can use it as a desktop app, keep it running in the background, connect it to the tools and channels you already use, or run it headless on a remote machine.
With ClawDesk, you can:
- Talk to AI in a way that fits your workflow from desktop, terminal, or command line
- Automate busywork such as repeated prompts, routines, checks, and operational tasks
- Connect your messaging and work tools so agents can meet you where work already happens
- Keep more control over privacy and setup by running it on your own machine or server
- Use one system across laptop, cloud VM, Raspberry Pi, and Docker instead of learning separate tools for each place
- Run always-on assistants for background jobs, monitoring, and long-running workflows
Runs on macOS, Linux, Windows, cloud VMs (AWS/GCP/Azure/DO), Raspberry Pi, and any machine with Rust.
In short: ClawDesk is Agent2OS — a private place to run AI assistants for real work, on your computer or infrastructure, in a way that stays close to your tools, your data, and your workflow.
Inspired by OpenClaw, ClawDesk takes the same broad idea of a personal, always-available AI system and pushes it toward a native, local-first experience with fewer moving parts and stronger control over where it runs.
Project status: ClawDesk is in active development. Expect rapid changes, rough edges, incomplete documentation in some areas, and occasional regressions as major features land. If you hit bugs, missing docs, confusing behavior, or platform-specific issues, please report them. Contributors, testers, and feedback from real-world usage are actively wanted.
Simplify. Reduce friction. Ship one binary.
ClawDesk exists to make powerful AI tooling feel more like a real product and less like a pile of parts. The goal is simple: give one system that can be easy enough for everyday use, but flexible enough for automation, remote machines, and serious long-running work.
- Start from a desktop app when you want something simple
- Drop to the terminal when you want more control
- Run it in the background when you need always-on behavior
- Use the same core system across personal devices, servers, and edge hardware
- Avoid getting locked into a single model, a single interface, or a hosted service
- It stays close to how you already work. Desktop when you want visuals, terminal when you want speed, background services when you want automation.
- It keeps you in control. You choose where it runs, which models it uses, and how your data flows.
- It is built for more than chat. ClawDesk is meant for ongoing tasks, workflows, tools, channels, and assistants that keep working after one prompt.
- It scales from personal use to serious setups. Start on a laptop, then move the same system to a server, VM, Docker host, or Raspberry Pi.
- It does not trap you in one surface. Use the GUI, CLI, tmux workspace, TUI, gateway, or daemon depending on the job.
ClawDesk is designed to be useful to both everyday users and technical operators. You can ignore the deeper internals at first and simply think of it as one system for AI chat, automation, connected tools, and long-running assistants.
| Run It Yourself | Use ClawDesk on your laptop, server, cloud VM, Raspberry Pi, or other machines you control. |
| Private by Default | Keep conversations, settings, and workflows closer to your own environment instead of relying on a hosted dashboard. |
| Choose Your AI Models | Switch between Claude, OpenAI, Gemini, Ollama, Bedrock, Azure, Cohere, Vertex, and more. |
| Connect Your Channels | Bring agents into tools like Telegram, Discord, Slack, WhatsApp, Signal, Matrix, Email, IRC, Teams, iMessage, and more. |
| Built-In Skills and Tools | Use bundled capabilities for files, browser tasks, memory, automation, security checks, and custom workflows. |
| Desktop + Terminal Experience | Use a full desktop app, a tmux workspace, a terminal dashboard, or direct CLI commands depending on the moment. |
| Automation Workflows | Run repeatable tasks, pipelines, background jobs, and operational routines without rebuilding the same prompts every time. |
| Memory and Retrieval | Help agents remember useful context, search documents, and work across longer-running tasks. |
| Browser and App Actions | Let agents browse pages, inspect content, click through flows, and interact with supported tools. |
| Local Model Support | Run supported local models on your own hardware when you want lower latency, lower cost, or more privacy. |
| Secure Remote Access | Operate across devices and remote machines with built-in support for controlled networking and tunnels. |
| Visibility and Auditability | Track what agents did, how they ran, and what they cost with logs, traces, and system metrics. |
| Updates and Backups | Keep the system current and protect your setup with update and backup support. |
| Extensible Platform | Add skills, connect services, define agents, and shape ClawDesk around your own workflows. |
ClawDesk is not tied to a single screen or setup. You can use the same system in the way that makes sense for where you are working:
| Interface | Command | Best For |
|---|---|---|
| Desktop App | cargo tauri dev |
People who want a visual home for daily AI work |
| tmux Workspace | clawdesk tmux launch |
SSH sessions, remote servers, and terminal-heavy workflows |
| TUI Dashboard | clawdesk tui |
Interactive terminal control with a focused dashboard |
| CLI | clawdesk agent msg "hello" |
Quick actions, scripts, automation, and cron jobs |
| Gateway Server | clawdesk gateway run |
Integrations, APIs, webhooks, and connected services |
| Daemon | clawdesk daemon run |
Always-on assistants and background automations |
| Docker | docker-compose up |
Headless deployment in container-based environments |
| Platform | Desktop | tmux/TUI/CLI | Gateway/Daemon | Docker |
|---|---|---|---|---|
| macOS (Intel & Apple Silicon) | ✅ | ✅ | ✅ | ✅ |
| Linux (x86_64) | ✅ | ✅ | ✅ | ✅ |
| Linux (ARM64 / Raspberry Pi) | — | ✅ | ✅ | ✅ |
| Windows (10+) | ✅ | ✅ | ✅ | ✅ |
| Cloud VMs (AWS/GCP/Azure/DO) | — | ✅ | ✅ | ✅ |
| Headless servers | — | ✅ | ✅ | ✅ |
No display required. If you do not want a desktop app, ClawDesk still works well through the terminal, background services, remote servers, Raspberry Pi, Docker, and SSH sessions.
All persistent storage — agent state, sessions, audit logs, skill configs, and vector embeddings — is handled by SochDB, an embedded ACID-compliant database written in Rust. SochDB provides:
- Embedded & zero-config — no external database process, no connection strings.
- ACID transactions — crash-safe writes for audit chains and session state.
- Vector search — built-in cosine similarity for memory/recall without external vector DBs.
- Single-file storage — one portable database file per workspace.
Channels are messaging platform integrations that let your agent send and receive messages across different surfaces. ClawDesk implements 25+ channel adapters as Rust traits:
| Channel | Status | Description |
|---|---|---|
| Telegram | Supported | Bot API with group/DM routing |
| Discord | Supported | Bot with slash commands, DM pairing, guild routing |
| Slack | Supported | Bolt-equivalent with app/bot token auth |
| Supported | Baileys-equivalent bridge | |
| Signal | Supported | signal-cli bridge |
| Matrix | Supported | Matrix SDK client |
| Supported | IMAP/SMTP with MIME parsing | |
| IRC | Supported | Standard IRC client with SASL auth |
| Microsoft Teams | Supported | Bot Framework adapter |
| iMessage | Supported | AppleScript bridge (macOS) |
| Mastodon | Supported | ActivityPub-compatible API |
| Nostr | Supported | NIP-01 relay client |
| Twitch | Supported | IRC-based chat integration |
| Line | Supported | Messaging API |
| Lark | Supported | Open API |
| Mattermost | Supported | WebSocket + REST API |
| Nextcloud Talk | Supported | Signaling API |
| Zalo | Supported | Official API |
| WebChat | Built-in | Browser UI served from the gateway |
| Internal | Built-in | In-process test channel |
| Google Chat | Planned | Chat API integration |
Each channel implements the Channel trait (clawdesk-channel crate), providing a uniform interface for message routing, group handling, allowlists, and DM pairing — regardless of the underlying platform.
Skills are modular capabilities that extend what an agent can do. ClawDesk's skill system is ported from OpenClaw's skill platform and reimplemented in Rust:
- 15 bundled skills — ship with the app (file ops, shell, browser, memory, cron, etc.).
- Hot-loading — activate/deactivate skills at runtime without restarting.
- Per-skill ACLs — each skill declares required permissions; the security scanner enforces them.
- Workspace skills — drop a
SKILL.mdinto your workspace to add custom skills. - Managed skills — install community skill packs from registries.
┌──────────────────────────────────────────────────────────────┐
│ ClawDesk Runtime │
├──────────────┬───────────────────────────────────────────────┤
│ React UI │ Tauri IPC Bridge │
│ (TypeScript)│ 138+ commands · typed invoke() wrappers │
├──────────────┴───────────────────────────────────────────────┤
│ Rust Backend │
│ ┌─────────────┬──────────────┬──────────────┬────────────┐ │
│ │ Skill │ Provider │ Security │ Agent │ │
│ │ Registry │ Registry │ Scanner │ Runtime │ │
│ ├─────────────┼──────────────┼──────────────┼────────────┤ │
│ │ Tool │ Audit │ Identity │ Tunnel │ │
│ │ Registry │ Logger │ Contracts │ (WireGuard)│ │
│ └─────────────┴──────────────┴──────────────┴────────────┘ │
│ SochDB Storage │
└──────────────────────────────────────────────────────────────┘
The React frontend communicates with the Rust backend through 138+ typed IPC commands over the Tauri bridge. The backend manages agent lifecycle, security scanning, skill orchestration, and model routing — all in-process, no sidecar daemons.
All 40+ crates (click to expand)
| Crate | Purpose |
|---|---|
clawdesk-types |
Shared types: errors, messages, sessions, config, tokenizer |
clawdesk-storage |
Storage trait ports: SessionStore, ConversationStore, VectorStore, GraphStore |
clawdesk-domain |
Pure business logic — context guard, compaction, routing, prompt building |
clawdesk-sochdb |
SochDB embedded ACID database: WAL, MVCC, HNSW vector search, checkpointing |
| Crate | Purpose |
|---|---|
clawdesk-agents |
Agent execution engine: AgentRunner, pipelines, failover, tool orchestration |
clawdesk-providers |
8 LLM providers: Anthropic, OpenAI, Gemini, Ollama, Azure, Bedrock, Cohere, Vertex |
clawdesk-runtime |
Durable execution: checkpoints, activity journal, dead-letter queue, lease management |
clawdesk-skills |
Skill system: registry, trigger evaluation, token-budgeted knapsack, env injection |
clawdesk-plugin |
Plugin lifecycle: hooks, sandbox, dependency resolution, capability enforcement |
| Crate | Purpose |
|---|---|
clawdesk-memory |
Embeddings, BM25, hybrid search (RRF), batch pipeline, temporal decay, MMR |
clawdesk-rag |
Document ingestion, PDF/text extraction, semantic chunking, vector retrieval |
| Crate | Purpose |
|---|---|
clawdesk-channel |
Channel trait hierarchy: Channel → Threaded + Streaming + Reactions |
clawdesk-channels |
25+ implementations: Slack, Discord, Telegram, WhatsApp, Signal, Matrix, IRC, etc. |
clawdesk-bus |
Event-sourced reactive bus with weighted fair queuing |
clawdesk-autoreply |
Auto-reply pipeline: classify → route → enrich → execute → format → deliver |
clawdesk-threads |
Namespaced chat-thread persistence on SochDB |
clawdesk-acp |
Agent-to-Agent protocol: agent cards, task FSM, capability discovery |
| Crate | Purpose |
|---|---|
clawdesk-security |
Audit logging (hash-chained), CascadeScanner, ACL, OAuth2 + PKCE, credential vault |
clawdesk-sandbox |
Multi-modal isolation: Docker, subprocess, workspace confinement |
| Crate | Purpose |
|---|---|
clawdesk-gateway |
Axum HTTP/WS: REST + OpenAI-compatible + admin + A2A routes |
clawdesk-tunnel |
WireGuard P2P encrypted networking, NAT traversal via STUN |
clawdesk-discovery |
mDNS service advertisement + SPAKE2 password-authenticated pairing |
clawdesk-mcp |
Model Context Protocol: JSON-RPC 2.0 client/server, stdio & SSE |
| Crate | Purpose |
|---|---|
clawdesk-consensus |
Byzantine PBFT for multi-agent voting |
clawdesk-planner |
Dynamic task graph (DTGG) with HEFT scheduling |
clawdesk-canvas |
Canvas host + A2UI protocol for agent-generated UI |
clawdesk-browser |
Browser automation via Chrome DevTools Protocol |
clawdesk-media |
Audio transcription, image analysis, TTS, link previews |
clawdesk-local-models |
Local LLM management: hardware detection, llama-server lifecycle |
clawdesk-simd |
SIMD kernels: cosine similarity (AVX2/NEON), dot product |
| Crate | Purpose |
|---|---|
clawdesk-infra |
Backup (AES-256), clipboard, daemon, dispatch queue, git-sync, TLS |
clawdesk-cron |
Cron scheduling with overlap prevention and heartbeat monitoring |
clawdesk-daemon |
Platform-native service management (launchd/systemd/Windows) |
clawdesk-adapters |
External service adapter: OAuth lifecycle, rate limiting, circuit breaker |
clawdesk-extensions |
Integration registry, credential vault, health monitoring |
clawdesk-migrate |
Migration from OpenClaw (YAML agents, SQLite sessions) |
| Crate | Purpose |
|---|---|
clawdesk-observability |
OpenTelemetry tracing + metrics, GenAI semantic conventions |
clawdesk-telemetry |
TracerProvider, MeterProvider, structured logging, OTLP export |
| Crate | Purpose |
|---|---|
clawdesk-tauri |
Tauri 2.0 desktop: 138+ IPC commands, AppState, system tray |
clawdesk-cli |
CLI: 40+ commands, tmux desktop (10-window), onboarding, agent REPL |
clawdesk-tui |
Ratatui TUI: 10 screens, Vim keys, 4 themes, session multiplexing |
ui |
React + TypeScript + Vite frontend, Tailwind CSS |
| Crate | Purpose |
|---|---|
clawdesk-bench |
Benchmark harness: provider latency, throughput, cost tracking |
clawdesk-test |
YAML test cases with deterministic replay |
macOS
- Xcode Command Line Tools:
xcode-select --install - Rust 1.75+:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh - Node.js 20+ and pnpm:
brew install node && npm install -g pnpm - Tauri CLI:
cargo install tauri-cli
Linux
- System packages (Debian/Ubuntu):
sudo apt install build-essential pkg-config libssl-dev libgtk-3-dev webkit2gtk-4.1
- Rust 1.75+:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh - Node.js 20+ and pnpm: install via your package manager or nodejs.org
- Tauri CLI:
cargo install tauri-cli
Windows
- Visual Studio Build Tools with the "Desktop development with C++" workload.
- Rust 1.75+: rustup.rs
- Node.js 20+ and pnpm: nodejs.org +
npm install -g pnpm - Tauri CLI:
cargo install tauri-cli
# Clone the repository
git clone https://github.com/clawdesk/clawdesk.git
cd clawdesk
# Install UI dependencies
cd crates/ui && pnpm install && cd ../..
# Run in development mode
cargo tauri dev
# Build for production
cargo tauri buildPrebuilt CLI binaries are currently published for macOS and Linux. Windows CLI binaries are coming soon.
# Build the CLI
cargo build -p clawdesk-cli
# Interactive first-time setup
clawdesk init
# tmux workspace (multi-pane terminal experience)
clawdesk tmux setup # Guided onboarding + auto-launch
clawdesk tmux launch # 4-pane workspace layout
clawdesk tmux launch -l chat # Focused chat layout
clawdesk tmux launch -l monitor # Ops monitoring layout
# Start the gateway
clawdesk gateway run
# Chat with an agent
clawdesk agent run
clawdesk agent msg "hello"
# Run diagnostics
clawdesk doctorcargo tauri dev and cargo tauri build automatically prepare the bundled llama-server sidecar used by Local Models. A machine-level llama-server install is not required.
If you need to skip the auto-download in offline CI, set CLAWDESK_SKIP_LLAMA_SERVER_DOWNLOAD=1 and provide the sidecar files under crates/clawdesk-tauri/binaries yourself.
ClawDesk includes a command-line interface for quick actions, automation, diagnostics, and terminal-first workflows. If you like scripting or want AI available outside the desktop app, the CLI is the fastest path.
Full command tree (click to expand)
clawdesk
├── gateway run Start the HTTP gateway server
├── message send <text> Send a message to the agent
├── channels status Show channel connectivity
├── plugins {list, reload, info}
├── cron {list, create, trigger, delete}
├── config {set, get, backup, restore}
├── agent
│ ├── message <text> Send a one-shot message
│ ├── run Interactive REPL session (Claude Code equivalent)
│ ├── add <id> Add agent from TOML or wizard
│ ├── validate Validate all agent definitions
│ ├── list List agents with routing table
│ ├── apply Hot-reload agent definitions
│ └── export <id> Export agent to TOML
├── skill
│ ├── list / info Browse installed skills
│ ├── search <query> Search the skill registry
│ ├── install <name> Install a skill pack
│ ├── uninstall <name> Remove a skill
│ ├── create <name> Scaffold a new skill
│ ├── lint / test Validate skill definitions
│ ├── audit / check Security audit for skills
│ └── publish Publish to registry
├── tmux
│ ├── setup Guided onboarding + tmux launch
│ ├── launch Launch tmux session (default: desktop — 10 screens)
│ ├── list List active ClawDesk sessions
│ ├── attach <session> Attach to a session
│ ├── kill <session> Kill a session
│ ├── layouts Show available layout presets
│ └── keys Show tmux key bindings cheat sheet
├── tui Launch the ratatui terminal UI
├── login Authenticate with provider APIs
├── doctor Run diagnostics
├── init Interactive first-time setup wizard
├── completions <shell> Generate shell completions
├── security audit Run security audit (8 checks)
├── daemon
│ ├── run / install / uninstall
│ ├── start / stop / restart
│ ├── status PID, uptime, health
│ └── logs Tail daemon logs
└── update
├── check Check for newer version
├── apply Download and install update
└── rollback Rollback to previous version
ClawDesk includes a built-in tmux workspace for people who want a richer terminal experience. It gives you a multi-window setup that mirrors the main parts of the desktop app, which makes it useful on remote machines, cloud VMs, and SSH sessions.
# First-time: guided onboarding → provider setup → layout selection → auto-launch
clawdesk tmux setup
# Quick launch the full desktop experience (10 screens)
clawdesk tmux launch
# Quick-start presets
clawdesk tmux launch --layout workspace # 4-pane dev layout
clawdesk tmux launch --layout monitor # 3-pane ops dashboard
clawdesk tmux launch --layout chat # 2-pane focused chatNavigate with Ctrl-B + 0..9, just like clicking sidebar items in the Tauri app:
| Key | Screen | Content |
|---|---|---|
Ctrl-B + 0 |
Dashboard | System health, providers, agent list, daemon status |
Ctrl-B + 1 |
Chat | Agent REPL (interactive conversation) |
Ctrl-B + 2 |
Sessions | Session list and detail/export |
Ctrl-B + 3 |
Agents | Agent registry, management, team mode |
Ctrl-B + 4 |
Channels | 25+ channel status and configuration |
Ctrl-B + 5 |
Memory | Hybrid search stats (HNSW, BM25, RRF) |
Ctrl-B + 6 |
Skills | 15+ skill registry, install, lint, audit |
Ctrl-B + 7 |
Settings | Config viewer, 8-provider setup guide |
Ctrl-B + 8 |
Logs | Live gateway output + daemon logs |
Ctrl-B + 9 |
Security | Security audit report + 7-layer overview |
clawdesk tmux list # List active sessions
clawdesk tmux attach clawdesk # Re-attach to a detached session
clawdesk tmux kill clawdesk # Clean up
clawdesk tmux keys # Show key bindings cheat sheet
clawdesk tmux layouts # Show all layout optionsMouse support is enabled by default. Ctrl-B + z zooms any pane to full screen.
See the full tmux Desktop Guide for details.
The TUI gives you a focused terminal dashboard for monitoring, navigation, and interactive use without opening the full desktop app:
clawdesk tui # Launch with dark theme
clawdesk tui --theme light # Light theme
clawdesk tui --theme high-contrast # High contrastScreens: Dashboard, Chat, Sessions, Agents, Channels, Memory, Skills, Settings, Logs, Security
Controls: j/k scroll, i insert mode, Tab cycle screens, Ctrl+1-9 switch sessions, q quit
ClawDesk implements defense-in-depth. Every layer enforces its own boundaries.
| # | Layer | How |
|---|---|---|
| 1 | CascadeScanner | Two-phase content scanning — Aho-Corasick (fast pass) + Regex (deep pass) — detects secrets, PII, and prompt injection. |
| 2 | SHA-256 Audit Chain | Every action (message send/receive, agent creation, skill activation, config change) is logged to a tamper-evident hash chain. |
| 3 | Identity Contracts | Each agent has a hash-locked persona. IdentityContract verifies persona integrity on every message to prevent drift. |
| 4 | Scoped Tokens | Capability-separated tokens (chat, admin, tools) — no single god-token. |
| 5 | Rate Limiting | Lock-free ShardedRateLimiter with 256KB fixed memory, zero heap allocation per request. |
| 6 | Network Isolation | Gateway binds to 127.0.0.1 only. External access requires WireGuard tunnel with invite-based pairing. |
ClawDesk tracks token costs in real-time with per-model pricing:
| Model | Input (per 1M tokens) | Output (per 1M tokens) |
|---|---|---|
| Claude Haiku 4.5 | $0.25 | $1.25 |
| Claude Sonnet 4.5 | $3.00 | $15.00 |
| Claude Opus 4.6 | $15.00 | $75.00 |
| Local (Ollama) | Free | Free |
# Run all tests
cargo test --workspace
# Run tests for a specific crate
cargo test -p clawdesk-security
cargo test -p clawdesk-skills
cargo test -p clawdesk-agents
# Run with output
cargo test --workspace -- --nocapture
# Lint
cargo clippy --workspaceclawdesk/
├── Cargo.toml # Workspace root
├── crates/
│ ├── clawdesk-tauri/ # Tauri app (commands.rs, state.rs, lib.rs)
│ ├── clawdesk-agents/ # Agent runtime
│ ├── clawdesk-providers/ # LLM providers
│ ├── clawdesk-skills/ # Skill system
│ ├── clawdesk-security/ # Security (scanner, audit, identity)
│ ├── clawdesk-tunnel/ # WireGuard tunnel
│ ├── clawdesk-gateway/ # HTTP gateway
│ ├── clawdesk-types/ # Shared types
│ ├── ui/ # React frontend
│ └── ... # 18 more crates
├── README.md
└── LICENSE
Tauri IPC Commands (138+ commands)
The frontend communicates with the Rust backend through typed IPC commands across these categories:
| Category | Commands | Examples |
|---|---|---|
| Agent Management | 7 | create_agent, list_agents, update_agent, delete_agent, clone_agent |
| Chat & Sessions | 9 | send_message, get_session_messages, list_sessions, create_chat, export_session_markdown |
| Skills | 6 | list_skills, activate_skill, deactivate_skill, register_skill, validate_skill |
| Memory | 5 | remember_memory, recall_memories, forget_memory, get_memory_stats, remember_batch |
| Security & Auth | 10 | get_security_status, start_oauth_flow, generate_scoped_token, add_acl_rule, approve_request |
| Configuration | 6 | get_config, set_config, list_models, test_llm_connection, list_providers |
| Browser | 11 | browser_navigate, browser_click, browser_type, browser_screenshot, browser_scroll |
| Canvas & A2UI | 8 | canvas_present, canvas_hide, a2ui_push, a2ui_reset, device_info |
| MCP | 4 | mcp_connect, mcp_call, mcp_discover, mcp_list_tools |
| Threads | 7 | create_thread, get_thread, append_message, get_messages, thread_stats |
| Discovery & Tunnel | 7 | discovery_mdns_start, discovery_pair, tunnel_create_invite, tunnel_metrics |
| Media | 5 | media_transcribe_audio, media_analyze_image, media_tts |
| RAG | 4 | rag_ingest_file, rag_search, rag_list_documents, rag_remove_document |
| Local Models | 5 | local_models_status, local_models_recommend, local_models_download, local_models_start |
| Observability | 6 | get_metrics, get_agent_trace, list_traces, get_observability_dashboard |
| Cron | 4 | cron_list, cron_create, cron_remove, cron_trigger |
| Plugins | 4 | list_plugins, reload_plugin, enable_plugin, disable_plugin |
| Channels | 3 | list_channels, update_channel_config, test_channel_connection |
| System | 6 | daemon_status, clipboard_get, terminal_execute, file_read, file_write |
| Orchestration | 5 | orchestration_create_team, orchestration_add_agent, orchestration_spawn |
| Migration | 3 | migrate_import, migrate_preview, migrate_run |
The UI is located at crates/ui/ and built with:
- React 18 with hooks-based architecture
- TypeScript with strict mode
- Vite for development and building
- Tailwind CSS for styling
Key files:
src/App.tsx— Main application component with 5 navigation viewssrc/api.ts— Typed wrappers around Tauriinvoke()callssrc/types.ts— TypeScript interfaces matching Rust Serialize structs
ClawDesk is under active development, and help is welcome across the board:
- Bug reports — if something breaks, behaves oddly, or is unclear, please open an issue.
- Testing — especially on different operating systems, cloud VMs, Raspberry Pi, Docker, tmux, TUI, and headless deployments.
- Documentation improvements — missing setup steps, unclear explanations, platform notes, examples.
- Code contributions — features, fixes, refactors, tests, and performance work.
If you are using ClawDesk in real work, on unusual hardware, or in production-like environments, that feedback is particularly valuable.
- Fork the repository
- Create a feature branch (
git checkout -b feature/my-feature) - Commit changes (
git commit -am 'Add my feature') - Push to branch (
git push origin feature/my-feature) - Open a Pull Request
Please ensure:
cargo test --workspacepassescargo clippy --workspacehas no warnings- New code includes tests
This project is licensed under the MIT License — see the LICENSE file for details.
- OpenClaw — The original AI agent gateway (TypeScript) that inspired ClawDesk's architecture, skill system, and channel abstractions.
- SochDB — Embedded ACID vector database powering all of ClawDesk's persistent storage.
- Tauri — Desktop app framework that makes single-binary native apps possible.
- llmfit — LLM fine-tuning toolkit.
- llama-swap — Hot-swap proxy for llama.cpp model serving.
- llama.cpp — The inference engine behind ClawDesk's local model support.
- pi-mono — AI agent toolkit: coding agent CLI, unified LLM API, TUI & web UI libraries, Slack bot, vLLM pods.
- agency-agents — Multi-agent orchestration patterns.