Desktop AI Assistant powered by Claude Agent SDK
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
| Layer | Choice |
|---|---|
| Runtime & Package Manager | Bun |
| Desktop Shell | Tauri 2 (Rust) |
| Backend | Hono + bun:sqlite + Pino |
| Agent | @anthropic-ai/claude-agent-sdk |
| 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β Claude Agent SDK β β
β β β 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)
- Bun >= 1.1
- Rust (for Tauri desktop build)
- An Anthropic API key
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 ANTHROPIC_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 |
|---|---|---|---|
ANTHROPIC_API_KEY |
Yes | β | Anthropic API key |
ANTHROPIC_BASE_URL |
No | β | Custom API base URL |
PORT |
No | 62601 |
Backend server port |
DATA_DIR |
No | ./data |
Data storage directory |
AGENT_MODEL |
No | claude-sonnet-4-6 |
Default Claude model |
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/ # Per-agent MEMORY.md and conversation logs
βββ 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 configs (agent.yaml + SOUL.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
