Desktop AI Assistant powered by a multi-provider coding agent runtime
If YouClaw is useful to you, give it a GitHub Star.
More stars help more people discover the project.
One click helps keep YouClaw improving.
Download the .dmg file from the Releases page, open it and drag YouClaw into Applications.
Apple Silicon (M1/M2/M3/M4) and Intel are both supported.
Download the .exe installer from Releases and run it.
🚧 Coming soon — stay tuned!
- Multi-Agent Management — Create and configure multiple AI agents via YAML, each with its own personality, memory, and skills
- Multi-Channel — Connect agents to Telegram, DingTalk, Feishu (Lark), QQ, and WeCom
- Browser Automation — Built-in agent-browser skill with Playwright for web interaction, scraping, and testing
- Scheduled Tasks — Cron / interval / one-shot tasks with automatic retry and stuck detection
- Persistent Memory — Per-agent memory system with conversation logs
- Skills System — Compatible with OpenClaw SKILL.md format, 3-tier priority loading, hot reload, skills marketplace
- Authentication — Built-in auth system for cloud deployment
- Web UI — React + shadcn/ui with SSE streaming, i18n (中文 / English)
- Lightweight Desktop App — Tauri 2 bundle ~27 MB (vs ~338 MB Electron), native system tray
YouClaw supports three browser profile drivers:
Managed Chromium— recommended for most usersRemote CDP— for existing advanced automation setupsExtension Relay— advanced local attach mode for a browser that already exposes a loopback CDP endpoint
Detailed guide:
- English: docs/browser-profiles.md
- 简体中文: docs/browser-profiles.zh.md
| Layer | Choice |
|---|---|
| Runtime & Package Manager | Bun |
| Desktop Shell | Tauri 2 (Rust) |
| Backend | Hono + bun:sqlite + Pino |
| Agent | @mariozechner/pi-coding-agent + @mariozechner/pi-ai |
| Frontend | Vite + React + shadcn/ui + Tailwind CSS |
| Channels | grammY (Telegram) · dingtalk-stream (DingTalk) · @larksuiteoapi/node-sdk (Feishu) · QQ · WeCom |
| Scheduled Tasks | croner |
| E2E Testing | Playwright |
┌──────────────────────────────────────────────────────┐
│ Tauri 2 (Rust Shell) │
│ ┌──────────────┐ ┌────────────────────────────┐ │
│ │ WebView │ │ Bun Sidecar │ │
│ │ Vite+React │◄──► Hono API Server │ │
│ │ shadcn/ui │ HTTP│ Multi-provider Agent RT │ │
│ │ │ SSE │ bun:sqlite │ │
│ └──────────────┘ └────────────────────────────┘ │
└──────────────────────────────────────────────────────┘
│ │
Tauri Store EventBus
(settings) ┌────────┴────────────┐
│ │
Web / API Multi-Channel
┌───────┼───────┐
Telegram DingTalk Feishu
QQ WeCom
│
Browser Automation
(Playwright)
- Desktop mode: Tauri spawns a Bun sidecar process; WebView loads the frontend
- Web mode: Vite frontend + Bun backend deployed independently
- Three-layer design: Entry (Telegram/DingTalk/Feishu/QQ/WeCom/Web/API) → Core (Agent/Scheduler/Memory/Skills) → Storage (SQLite/filesystem)
Before Quick Start: Star if you want to see YouClaw keep improving.
It is a small click that makes the project easier to sustain.
git clone https://github.com/CodePhiliaX/youClaw.git
cd youClaw
# Install dependencies
bun install
cd web && bun install && cd ..
# Configure environment
cp .env.example .env
# Edit .env and set MODEL_API_KEY# Terminal 1 — backend
bun dev
# Terminal 2 — frontend
bun dev:webOpen http://localhost:5173 · API at http://localhost:62601
bun dev:tauribun build:tauriOutput: src-tauri/target/release/bundle/ (DMG / MSI / AppImage)
bun dev # Backend dev server (hot reload)
bun dev:web # Frontend dev server
bun dev:tauri # Tauri dev mode (frontend + backend + WebView)
bun start # Production backend
bun typecheck # TypeScript type check
bun test # Run tests
bun build:sidecar # Compile Bun sidecar binary
bun build:tauri # Build Tauri desktop app
bun build:tauri:fast # Build without bundling (faster dev builds)
bun test:e2e # Run E2E tests (Playwright)
bun test:e2e:ui # Run E2E tests with UI| Variable | Required | Default | Description |
|---|---|---|---|
MODEL_PROVIDER |
No | builtin |
Default model provider or runtime mode |
MODEL_ID |
No | minimax/MiniMax-M2.7-highspeed |
Default model reference |
MODEL_API_KEY |
Yes | — | Model API key |
MODEL_BASE_URL |
No | — | Custom model API base URL |
PORT |
No | 62601 |
Backend server port |
DATA_DIR |
No | ./data in dev, ~/.youclaw in desktop production |
Data storage directory. For dev, set DATA_DIR=~/.youclaw-dev if you want an isolated user-home data dir |
LOG_LEVEL |
No | info |
Log level |
TELEGRAM_BOT_TOKEN |
No | — | Enable Telegram channel |
DINGTALK_CLIENT_ID |
No | — | DingTalk app client ID |
DINGTALK_SECRET |
No | — | DingTalk app secret |
FEISHU_APP_ID |
No | — | Feishu (Lark) app ID |
FEISHU_APP_SECRET |
No | — | Feishu (Lark) app secret |
QQ_BOT_APP_ID |
No | — | QQ bot app ID |
QQ_BOT_SECRET |
No | — | QQ bot secret |
WECOM_CORP_ID |
No | — | WeCom corp ID |
WECOM_CORP_SECRET |
No | — | WeCom corp secret |
WECOM_AGENT_ID |
No | — | WeCom agent ID |
WECOM_TOKEN |
No | — | WeCom callback token |
WECOM_ENCODING_AES_KEY |
No | — | WeCom callback AES key |
YOUCLAW_WEBSITE_URL |
No | — | Cloud service website URL |
YOUCLAW_API_URL |
No | — | Cloud service API URL |
MINIMAX_API_KEY |
No | — | MiniMax web search API key |
MINIMAX_API_HOST |
No | — | MiniMax API host |
src/
├── agent/ # AgentManager, AgentRuntime, AgentQueue, PromptBuilder
├── channel/ # Multi-channel support
│ ├── router.ts # MessageRouter
│ ├── telegram.ts # Telegram (grammY)
│ ├── dingtalk.ts # DingTalk (dingtalk-stream)
│ ├── feishu.ts # Feishu / Lark (@larksuiteoapi/node-sdk)
│ ├── qq.ts # QQ
│ └── wecom.ts # WeCom
├── config/ # Environment validation, path constants
├── db/ # bun:sqlite init, CRUD operations
├── events/ # EventBus (stream/tool_use/complete/error)
├── ipc/ # File-polling IPC between Agent and main process
├── logger/ # Pino logger
├── memory/ # Memory helpers for root MEMORY.md plus per-agent logs/archives
├── routes/ # Hono API routes (/api/*)
├── scheduler/ # Cron/interval/once task scheduler
├── skills/ # Skills loader, watcher, frontmatter parser
src-tauri/
├── src/ # Rust main process (sidecar, window, tray, updater)
agents/ # Agent workspaces (agent.yaml + bootstrap docs + MEMORY.md + skills/)
skills/ # Project-level skills (SKILL.md format)
e2e/ # E2E tests (Playwright)
web/src/
├── pages/ # Chat, Agents, Skills, Memory, Tasks, Channels, BrowserProfiles, Logs, System, Login
├── components/ # Layout + shadcn/ui
├── api/ # HTTP client + transport
├── i18n/ # i18n (Chinese / English)
- Fork the repo and create your branch from
main - Make your changes and ensure
bun typecheckandbun testpass - Submit a pull request
MIT © CHATDATA
