ChatClaw: a 30MB desktop AI agent that pulls your knowledge base into WeChat, DingTalk and Slack
ChatClaw: Get OpenClaw-like knowledge base personal AI agent in 5 mins. Sandbox-secured, ultra-small 30MB installer for macOS & Windows (install in 1 min). Connects to WhatsApp, Telegram, Slack, Discord, Gmail, DingTalk, WeChat Work, QQ, Feishu. Built-in Skill Market, Knowledge Base, Memory, MCP, Scheduled Tasks. Developed in Go ,run
At a glance
- What is it?
- ChatClaw is a GPL-3.0 Go application from zhimaAi that pairs a local vector knowledge base with chat-channel remote control. The desktop build is the main path; server mode and Docker are documented for headless use.
- Who is it for?
- Adopt ChatClaw if you want a desktop AI agent that keeps documents in a local SQLite plus sqlite-vec store and lets you drive it from WeChat, DingTalk or Feishu, and if you accept that the last push was on 2026-05-13. Skip it if you need a documented upgrade path, an audit trail, or a channel list that covers more than the README names.
- Can I use it commercially?
- Yes, with conditions. GPL-3.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
- Is it still maintained?
- Yes. The repository last received commits 140 days ago.
- What is it written in?
- Mainly Go, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 29, 2026, and from our analysis. They are not legal advice.
Editorial analysis
The gap ChatClaw fills between a chat client and your own documents
Most hosted assistants answer from a model's training data. If you want answers grounded in your own PDFs, spreadsheets and notes, you normally assemble a retrieval pipeline yourself: a parser, a splitter, an embedding provider, a vector store, and a way to reach it from wherever you actually work. ChatClaw packages that pipeline into one desktop binary and adds a control surface on top. The README describes it as an open source local knowledge base and a graphical desktop manager for OpenClaw-style agents, deployable to a local machine without programming.
The intended user is not a backend engineer. The README's framing is one-click deployment, a floating ball on the desktop, a selection popup that answers about whatever text you highlight, and a sidebar that docks next to other application windows. The same binary also runs headless as a server. That dual identity is the most interesting thing about the project: it is a consumer-shaped desktop app that happens to expose a browser-accessible server mode, which is unusual for tools in this category.
How the retrieval and agent layers are actually wired
The dependency list in go.mod is the clearest description of the architecture available. Document handling comes from CloudWeGo's Eino framework: an HTML parser plus markdown, recursive and semantic splitters, and embedding components for Ollama and OpenAI. Storage is SQLite with sqlite-vec for vector search, so the knowledge base is a file on your disk rather than a hosted index. Chat models are wired through Eino extensions for Claude, Gemini, Ollama, OpenAI and Qwen, and the README's model list adds DeepSeek, Doubao, Zhipu and Grok.
The desktop shell is Wails v3, which renders a Vue 3 frontend in a native WebView and keeps the backend in Go. Go 1.26.1 is the module's declared language version. The frontend has separate HTML entry points for the main window, the floating ball, the selection popup and the snap window, which matches the README's screenshots of four distinct surfaces rather than one window.
On the agent side, the module pulls in chromedp for browser automation, an MCP tool component, DuckDuckGo and Wikipedia search tools, and a sequential-thinking tool. That set suggests the skill market is not purely prompt templates: some skills drive a real browser and call external tools. The README states the skill library contains 5000+ skills, but it does not document how a skill is authored, versioned or sandboxed, and the term sandbox in the tagline is never defined in the README. Treat the isolation claim as unverified until you find the mechanism in internal/ or pkg/.
Installing ChatClaw and running your first grounded query
The README documents server mode for Linux. Download the binary for your architecture from the releases page, make it executable, and run it. The README gives these two commands for the x86_64 build.
chmod +x ChatClaw-server-linux-amd64
./ChatClaw-server-linux-amd64The service listens on 0.0.0.0:8080 by default, and the README says to open http://localhost:8080 in a browser. Binding to all interfaces is the default, which is worth knowing before you run this on a machine with a public address. The README shows two environment variables for overriding the bind address and port.
WAILS_SERVER_HOST=127.0.0.1 WAILS_SERVER_PORT=3000 ./ChatClaw-server-linux-amd64If you prefer containers, the repository ships a docker-compose.yml. The image is registry.cn-hangzhou.aliyuncs.com/chatwiki/chatclaw:latest, and the compose file mounts a named volume at /root/.config/chatclaw and maps port 8080. It also declares a healthcheck that curls http://localhost:8080/ every 30 seconds.
docker compose up -dAfter the container starts, open http://localhost:8080. Your data lives in the chatclaw-data volume, so removing the container without removing the volume preserves the knowledge base. Once inside, the first useful action is to upload documents in one of the formats the README lists (TXT, PDF, Word, Excel, CSV, HTML, Markdown) and then ask a question in the chat surface. The README says the system parses, splits and converts the documents into vector embeddings for retrieval.
What the documentation does not cover
Upgrade behaviour is the clearest gap. go.mod includes go-selfupdate, so an update mechanism exists in the code, but the README does not document rollback, version pinning, or what happens to an existing SQLite knowledge base when the schema changes between v0.9.6 and v0.9.7. For a desktop app that stores user documents locally, that is the question an operator asks first, and the repository's UpdateLog.md is the only place likely to answer it.
The channel list is another soft spot. The README names WhatsApp, Telegram, Slack, Discord, Gmail, DingTalk, WeChat Work, QQ and Feishu, but it does not explain the authentication model for each. Personal WeChat and QQ in particular have no official bot API, and the README is silent on how those connections are established or what happens when the underlying client changes. If your workflow depends on one of those channels, verify it works before you commit.
Finally, the sandbox claim. The tagline says sandbox-secured, and the README does not describe the boundary. A desktop agent that can drive chromedp and execute skills has real reach into your machine. Nothing in the README states what a skill can and cannot touch.
ChatClaw compared with Dify and n8n
Dify is the closest reference point for the knowledge base half. It is a server-first platform: you deploy it, it exposes an API and a web console, and applications are built inside it. ChatClaw inverts that. The primary artifact is a desktop application you install, and the server mode is a secondary path for running the same thing headlessly. If your team wants a shared knowledge base behind an API that other services call, Dify's shape fits better. If you want one person's documents searchable from their own machine and reachable from their phone via a chat app, ChatClaw's shape fits better.
n8n is a different comparison: it is a workflow automation engine where the model is one node among many. ChatClaw's scheduled tasks and cron expressions overlap with that, and the README describes monitoring pages on an interval and pushing alerts to a channel. But n8n's unit of work is a graph you draw, while ChatClaw's is a skill you install from a market. The trade-off is control versus speed of setup. A scheduled scrape in n8n is explicit and inspectable; in ChatClaw it is a skill whose internals the README does not describe.
Licence and the cost of staying current
ChatClaw is GPL-3.0. That matters more here than for a library, because the desktop app is a complete program with a GUI. If you modify it and distribute the result, or ship it inside a product, the copyleft terms apply to the whole work. Running it internally for your own team does not trigger distribution, but bundling it into something you sell is a different situation. This is not legal advice; read the LICENCE file and talk to someone qualified before you build on it.
The upgrade cost is hard to estimate. Releases are tagged, with v0.9.7 on 2026-05-13 and v0.9.6 on 2026-04-24, so the cadence in that window was roughly three weeks. The last push to the repository was on 2026-05-13, which is more than four months before today. That does not mean the project is abandoned, and the repository is not archived, but it does mean you should not assume fixes are arriving on a predictable schedule. For a self-hosted tool holding your documents, budget for the possibility that you are the maintainer of your own deployment.
Editorial conclusion
Adopt ChatClaw if you want a desktop AI agent that keeps documents in a local SQLite plus sqlite-vec store and lets you drive it from WeChat, DingTalk or Feishu, and if you accept that the last push was on 2026-05-13. Skip it if you need a documented upgrade path, an audit trail, or a channel list that covers more than the README names. Before installing, verify which of the two desktop installers matches your machine, confirm the GPL-3.0 obligations against your distribution plans, and read UpdateLog.md to see what changed in v0.9.7.
Frequently asked questions
What is ChatClaw and what does it do?
ChatClaw is an open source desktop application from zhimaAi that combines a local knowledge base with an AI agent you can control from chat apps. The README describes it as a graphical desktop manager for OpenClaw-style agents with a built-in skill market, memory, MCP support and scheduled tasks.
How do I run ChatClaw on a server without the desktop GUI?
Download the Linux binary from the releases page, make it executable, and run it; the service listens on 0.0.0.0:8080 by default and you open http://localhost:8080 in a browser. The README also documents a Docker image and a docker-compose.yml that mounts a volume at /root/.config/chatclaw.
Which chat apps can ChatClaw connect to?
The README names WhatsApp, Telegram, Slack, Discord, Gmail, DingTalk, WeChat Work, QQ and Feishu. It does not document the authentication model for each channel, so verify the one you need before relying on it.
Where does ChatClaw store my documents and embeddings?
go.mod lists SQLite with sqlite-vec for vector retrieval, and the Docker setup persists data in a volume mounted at /root/.config/chatclaw. The README does not document a migration path for that store between releases.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/zhimaai-chatclaw)