Content
<p align="center">
<img src="./frontend/src/assets/images/logo-floatingball.png" width="150" height="150">
</p>
<h1 align="center">ChatClaw</h1>
<p align="center">
Get your own AI assistant like OpenClaw in 5 minutes. Sandbox safe, lightweight, and fast.
</p>
<p align="center">
<a href="./docs/readmes/README_en.md">English</a> |
<a href="./docs/readmes/README_zh-CN.md">Simplified Chinese</a> |
<a href="./docs/readmes/README_zh-TW.md">Traditional Chinese</a> |
<a href="./docs/readmes/README_ja-JP.md">Japanese</a> |
<a href="./docs/readmes/README_ko-KR.md">Korean</a> |
<a href="./docs/readmes/README_ar-SA.md">Arabic</a> |
<a href="./docs/readmes/README_bn-BD.md">Bengali</a> |
<a href="./docs/readmes/README_de-DE.md">German</a> |
<a href="./docs/readmes/README_es-ES.md">Spanish</a> |
<a href="./docs/readmes/README_fr-FR.md">French</a> |
<a href="./docs/readmes/README_hi-IN.md">Hindi</a> |
<a href="./docs/readmes/README_it-IT.md">Italian</a> |
<a href="./docs/readmes/README_pt-BR.md">Portuguese</a> |
<a href="./docs/readmes/README_sl-SI.md">Slovenian</a> |
<a href="./docs/readmes/README_tr-TR.md">Turkish</a> |
<a href="./docs/readmes/README_vi-VN.md">Vietnamese</a>
</p>
ChatClaw is an open-source, local knowledge base and OpenClaw graphical desktop manager application.
No programming required, one-click deployment to your local computer. Connects to popular communication apps like WeChat, DingTalk, Enterprise WeChat, QQ, Slack, WhatsApp, etc.
Send commands to let AI execute tasks for you. Built-in OpenClaw 5000+ skill library and supports local knowledge base management like ima.
## Feature Previews
### AI Chat Assistant
Ask your AI assistant any questions, and it will intelligently search your knowledge base and generate relevant answers.
Pair with the built-in skill market to let AI agents work autonomously without human intervention.
Whether it's complex project planning, document organization, or PPT generation, multi-step task execution,
it can break down tasks, efficiently advance, and ultimately deliver complete results, greatly saving human time and improving work efficiency.


### Multi-Agent Mode for Different Scenarios
Create multiple independent AI agents, each with its own role, memory, and skills, switching between them as needed without interference.
Each agent can be set with different identities, such as "customer service", "data analyst", or "content writer".
You can configure different skills, knowledge bases, and response styles for each agent.
Switch between agents freely in the interface, adapting to different task scenarios.

### Open-Source Local Knowledge Base Management
Upload your documents (like TXT, PDF, Word, Excel, CSV, HTML, Markdown), and the system will automatically parse, segment, and convert them into vector embeddings.
Store them in your private knowledge base for AI models to accurately retrieve and utilize, supporting categorization by folder and knowledge base document.

### Massive Skill Library and Instant AI Response
Over 5000 ready-to-use AI skills covering office efficiency, development tools, multimedia creation, smart home, and more.
Let AI do the work for you without programming. Use commands to let the robot find installed functions or install new extensions on your computer.
Skill market for autonomous selection and installation of skills.

### Memory Function - More Natural and Intelligent Interaction
Enables contextual conversations, provides personalized services, completes complex tasks, and continuously learns and evolves.
Let the robot be like a growing partner, offering increasingly intimate and intelligent services.

### Free Model Trial
One-click authorization to access ChatWiki, synchronizing ChatWiki account points.
Also supports custom models, with built-in high-quality domestic and international large models like Ollama, Google Gemini, OpenAI, etc.
For daily office work or professional scenarios, use your preferred AI model.

### Multi-Channel Remote Control via Enterprise WeChat/WeChat/DingTalk/Slack/QQ/WhatsApp
ChatClaw supports multiple message channels, letting analysis results, monitoring alarms, and research summaries push directly to your mobile phone.
Breaks platform barriers, supporting mainstream communication apps globally.
AI-processed results are automatically sent to designated channels without manual refresh.
Send commands in chat windows to remotely control AI task execution.

### Scheduled Tasks for Automated Operation
Set monitoring frequencies: every 5 minutes, hourly, or daily at fixed times.
Graphical scheduler with cron expressions makes automated execution more intuitive.
Schedule specific page or data source grabbing, comparing changes, monitoring key indicators, policy releases, or announcement updates.
When abnormalities are triggered, push notifications through message channels in real-time.

### Highlight to Ask
Select any text on the screen, and it will be automatically copied and filled into the floating quick question box.
Send it to the AI assistant with one click to get an instant answer.

### Intelligent Sidebar
A smart assistant that can be docked beside other application windows.
Quickly switch between different AI assistants with various configurations to ask questions.
The robot generates answers based on your associated knowledge base and supports sending replies directly to your conversation.
The intelligent float follows, with tool entries readily accessible without obstruction.


### One Question, Multiple Answers: Easy Comparison
No need for repeated questions. Consult multiple "AI experts" simultaneously, viewing their replies side-by-side in one interface.
Facilitates comparison, helping you reach the best conclusion.

### One-Click Launch
Click the floating ball on your desktop to wake up or open the ChatClaw main application window.

### Community交流&Contact Us
Feel free to contact us for help or suggestions to improve ChatClaw.
You can reach us through:
WeChat: Scan the QR code to join the ChatClaw technical discussion group. Add "chatclaw" when requesting to join.

## Server Mode Deployment
ChatClaw supports running in server mode (without desktop GUI) accessible via a browser.
### Direct Binary Execution
Download the binary file for your platform from [GitHub Releases](https://github.com/chatwiki/chatclaw/releases):
| Platform | File |
|------|------|
| Linux x86_64 | `ChatClaw-server-linux-amd64` |
| Linux ARM64 | `ChatClaw-server-linux-arm64` |
```bash
chmod +x ChatClaw-server-linux-amd64
./ChatClaw-server-linux-amd64
```
Open http://localhost:8080 in your browser.
The service listens on `0.0.0.0:8080` by default. Customize the listening address and port via environment variables:
```bash
WAILS_SERVER_HOST=127.0.0.1 WAILS_SERVER_PORT=3000 ./ChatClaw-server-linux-amd64
```
### Docker
```bash
docker run -d \
--name chatclaw-server \
-p 8080:8080 \
-v chatclaw-data:/root/.config/chatclaw \
registry.cn-hangzhou.aliyuncs.com/chatwiki/chatclaw:latest
```
Open http://localhost:8080 in your browser.
### Docker Compose
Create a `docker-compose.yml` file:
```yaml
services:
chatclaw:
image: registry.cn-hangzhou.aliyuncs.com/chatwiki/chatclaw:latest
container_name: chatclaw-server
volumes:
- chatclaw-data:/root/.config/chatclaw
ports:
- "8080:8080"
restart: unless-stopped
volumes:
chatclaw-data:
```
Then run:
```bash
docker compose up -d
```
Open http://localhost:8080 in your browser. Stop the service: `docker compose down`. Data persists in the `chatclaw-data` volume.
## Tech Stack
| Layer | Technology |
|------|------|
| Desktop Framework | [Wails v3](https://wails.io/) (Go + WebView) |
| Backend Language | [Go 1.26](https://go.dev/) |
| Frontend Framework | [Vue 3](https://vuejs.org/) + [TypeScript](https://www.typescriptlang.org/) |
| UI Components | [shadcn-vue](https://www.shadcn-vue.com/) (New York style) + [Reka UI](https://reka-ui.com/) |
| Styling Scheme | [Tailwind CSS v4](https://tailwindcss.com/) |
| State Management | [Pinia](https://pinia.vuejs.org/) |
| Build Tool | [Vite](https://vite.dev/) |
| AI Framework | [Eino](https://github.com/cloudwego/eino) (ByteDance CloudWeGo) |
| AI Model Providers | OpenAI / Claude / Gemini / Ollama / DeepSeek / 豆包 / 通义千问 / 智谱 / Grok |
| Database | [SQLite](https://www.sqlite.org/) + [sqlite-vec](https://github.com/asg017/sqlite-vec) (vector retrieval) |
| Internationalization | [go-i18n](https://github.com/nicksnyder/go-i18n) + [vue-i18n](https://vue-i18n.intlify.dev/) |
| Task Execution | [Task](https://taskfile.dev/) |
| Icons | [Lucide](https://lucide.dev/) |
## Project Structure
```
ChatClaw_D2/
├── main.go # Application Entrance
├── go.mod / go.sum # Go Module Dependencies
├── Taskfile.yml # Task Runner Configuration
├── build/ # Build Configuration and Platform Resources
│ ├── config.yml # Wails Build Configuration
│ ├── darwin/ # macOS Build Settings and Authorization
│ ├── windows/ # Windows Installer (NSIS/MSIX) and Manifest
│ ├── linux/ # Linux Packaging (AppImage, nfpm)
│ ├── ios/ # iOS Build Settings
│ └── android/ # Android Build Settings
├── frontend/ # Vue 3 Frontend Application
│ ├── package.json # Node.js Dependencies
│ ├── vite.config.ts # Vite Packaging Configuration
│ ├── components.json # shadcn-vue Configuration
│ ├── index.html # Main Window Entrance
│ ├── floatingball.html # Floating Ball Window Entrance
│ ├── selection.html # Selection Popup Entrance
│ ├── winsnap.html # Snap Window Entrance
│ └── src/
│ ├── assets/ # Icons (SVG), Images, and Global CSS
│ ├── components/ # Shared Components
│ │ ├── layout/ # Application Layout, Sidebar, and Title Bar
│ │ └── ui/ # shadcn-vue Basic Components (button, dialog, toast…)
│ ├── composables/ # Vue Composition Functions (Reusable Logic)
│ ├── i18n/ # Frontend Internationalization Configuration
│ ├── locales/ # Translation Files (zh-CN, en-US…)
│ ├── lib/ # Utility Functions
│ ├── pages/ # Page-Level Views
│ │ ├── assistant/ # AI Chat Assistant Page and Components
│ │ ├── knowledge/ # Knowledge Base Management Page
│ │ ├── multiask/ # Multi-Model Comparison Page
│ │ └── settings/ # Settings Page (Vendors, Models, Tools…)
│ ├── stores/ # Pinia State Warehouse
│ ├── floatingball/ # Floating Ball Mini-Application
│ ├── selection/ # Selection Mini-Application
│ └── winsnap/ # Snap Window Mini-Application
├── internal/ # Private Go Packages
│ ├── bootstrap/ # Application Initialization and Dependency Injection
│ ├── define/ # Constants, Built-in Vendors, Environment Flags
│ ├── device/ # Device Identification
│ ├── eino/ # AI/LLM Integration Layer
│ │ ├── agent/ # Agent Orchestration
│ │ ├── chatmodel/ # Chat Model Factory (Multi-Vendor)
│ │ ├── embedding/ # Embedding Model Factory
│ │ ├── filesystem/ # AI Agent File System Tools
│ │ ├── parser/ # Document Parser (PDF, DOCX, XLSX, CSV)
│ │ ├── processor/ # Document Processing Pipeline
│ │ ├── raptor/ # RAPTOR Recursive Summary
│ │ ├── splitter/ # Text Splitter Factory
│ │ └── tools/ # AI Tool Integration (Browser, Search, Calculator…)
│ ├── errs/ # Internationalization Error Handling
│ ├── fts/ # Full-Text Search Tokenizer
│ ├── logger/ # Structured Logging
│ ├── services/ # Business Logic Services
│ │ ├── agents/ # Agent CRUD
│ │ ├── app/ # Application Lifecycle
│ │ ├── browser/ # Browser Automation (chromedp)
│ │ ├── chat/ # Chat and Streaming
│ │ ├── conversations/ # Session Management
│ │ ├── document/ # Document Upload and Vectorization
│ │ ├── floatingball/ # Floating Ball Window (Cross-Platform)
│ │ ├── i18n/ # Backend Internationalization
│ │ ├── library/ # Knowledge Base CRUD
│ │ ├── multiask/ # Multi-Model Q&A
│ │ ├── providers/ # AI Vendor Configuration
│ │ ├── retrieval/ # RAG Retrieval Service
│ │ ├── settings/ # User Settings and Cache
│ │ ├── textselection/ # Screen Selection (Cross-Platform)
│ │ ├── thumbnail/ # Window Thumbnail Capture
│ │ ├── tray/ # System Tray
│ │ ├── updater/ # Automatic Update (GitHub/Gitee)
│ │ ├── windows/ # Window Management and Snap Service
│ │ └── winsnapchat/ # Snap Chat Session Service
│ ├── sqlite/ # Database Layer (Bun ORM + Migration)
│ └── taskmanager/ # Background Task Scheduler
├── pkg/ # Public/Reusable Go Packages
│ ├── webviewpanel/ # Cross-Platform WebView Panel Manager
│ ├── winsnap/ # Window Snap Engine (macOS/Windows/Linux)
│ └── winutil/ # Window Activation Tool
├── docs/ # Development Documentation
└── images/ # README Screenshots
```
### Changelog
To view the complete update log, please click👉️👉️[UpdateLog.md](./UpdateLog.md)
### 2026/05/13
1. **Localization Updates**: Updated localization files for multiple languages; added new error messages for plugin installation failures in English, Spanish, and French.
### 2026/05/11
1. **Chat File Upload (Major)**: Added comprehensive file upload functionality to chat; support for multiple file types with size limits; enhanced message sending logic to include file attachments.
2. **OpenClaw Version Management**: Downgraded OpenClaw version to 2026.3.24 in runtime configuration to maintain compatibility.
3. **Build Script Cleanup**: Removed `start-chatclaw.ps1` script as it is no longer needed.
### 2026/05/09
1. **OpenClaw Factory Reset**: Implemented factory reset functionality in OpenClaw runtime settings with confirmation dialog and full localization support in English and Chinese.
2. **Development Documentation**: Updated Node.js and pnpm installation instructions; enhanced frontend testing setup with Playwright CDP debugging; modified Dockerfile for cross-compilation; streamlined Taskfile for frontend dependency management; improved global setup and teardown scripts for testing.
Connection Info
You Might Also Like
cc-switch
All-in-One Assistant for Claude Code, Codex & Gemini CLI across platforms.
awesome-mcp-servers
A collection of MCP servers.
git
A Model Context Protocol server for Git automation and interaction.
oh-my-opencode
Background agents · Curated agents like oracle, librarians, frontend...
TrendRadar
TrendRadar: Your hotspot assistant for real news in just 30 seconds.
Appwrite
Build like a team of hundreds