由于Anthropic认为Clawdbot这个名字太容易被市场误解为Claude Code的产品,所以要求改名,目前Clawdbot刚改名为Moltbot,以下皆用Clawdbot代替。
它是什么
不是聊天机器人。是一个拥有键盘、屏幕和身份的高权限代理。
它运行在你的 Mac 或服务器上,通过 Telegram、Slack、iMessage 这些你已经在用的聊天软件作为入口,直接操控本地文件、终端、浏览器。你在手机上说一句"帮我把桌面的报告发给老板",它真的会去读文件、打开邮件客户端、发送出去。
传统 AI 是"对话框里的聊天伴侣",你得跳出工作流去迁就它。Moltbot 把自己变成后台进程,你不需要打开任何新 App,它就在你的聊天窗口里等着。
技术上,这是一个本地优先、统一控制平面的架构:Gateway 进程独占所有消息通道和工具权限,通过 WebSocket 协议管理多 Agent、多会话、多设备。数据不出本地,执行不经云端。
整体架构

假设你在 Telegram 给 Clawdbot 发了一条消息:“帮我看看桌面有哪些 PDF 文件”。
第一站:Channel Layer
Telegram 的消息被 grammY SDK 捕获,进入 Channel 适配层。这一层的职责是抹平差异——WhatsApp 用 Baileys、Discord 用 discord.js、Signal 用 signal-cli,每个平台 SDK 不同、消息格式不同、认证方式不同。Channel Layer 把它们统一成一个结构:谁发的、从哪来、内容是什么。
为什么要这样?因为 AI 不应该关心消息是从 Telegram 还是 iMessage 来的,它只需要知道"用户说了什么"。
第二站:Routing System
消息到了 Gateway,但 Gateway 可能管理着多个 Agent(比如一个工作助手、一个生活助手)。Routing 系统决定这条消息交给谁处理。
路由规则是多级的:先看发送者(peer)、再看群组(guild)、再看账号(account)、再看通道(channel),最后才是默认。这意味着你可以配置"来自老板的消息走工作 Agent,来自家人的消息走生活 Agent"。
同时,Routing 还生成 sessionKey——这条消息属于哪个会话。会话隔离是核心设计:不同对话的上下文不会串,A 群的聊天历史不会出现在 B 群。
第三站:Agent Runtime
消息和会话上下文一起交给 Agent。Agent 的核心是 Pi Agent Core 框架,负责:
对于"看桌面 PDF"这个请求,模型会判断需要调用 bash 工具。
第四站:Tools System
Agent 发起工具调用:ls ~/Desktop/*.pdf。
工具系统不是简单地执行命令——它有权限控制(哪些目录可访问)、沙箱隔离(非 main 会话在 Docker 里跑)、超时管理(防止命令卡死)。执行结果返回给 Agent,Agent 把结果组织成自然语言回复。
回程
回复沿着原路返回:Agent → Gateway → Channel → Telegram → 你的手机。
整个过程,Gateway 是唯一的调度中心。为什么单点?因为消息通道(WhatsApp session、Telegram bot)的状态是独占的,多进程会冲突。单一 Gateway 确保所有状态一致。
全局数据流
工具系统AI 模型Agent Runtime路由系统Gateway消息通道用户工具系统AI 模型Agent Runtime路由系统Gateway消息通道用户#mermaid-svg-VRJj0LD5W0F6Hxk8{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-VRJj0LD5W0F6Hxk8 .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-VRJj0LD5W0F6Hxk8 .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-VRJj0LD5W0F6Hxk8 .error-icon{fill:#552222;}#mermaid-svg-VRJj0LD5W0F6Hxk8 .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-VRJj0LD5W0F6Hxk8 .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-VRJj0LD5W0F6Hxk8 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-VRJj0LD5W0F6Hxk8 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-VRJj0LD5W0F6Hxk8 .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-VRJj0LD5W0F6Hxk8 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-VRJj0LD5W0F6Hxk8 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-VRJj0LD5W0F6Hxk8 .marker{fill:#333333;stroke:#333333;}#mermaid-svg-VRJj0LD5W0F6Hxk8 .marker.cross{stroke:#333333;}#mermaid-svg-VRJj0LD5W0F6Hxk8 svg{font-family:\”trebuchet ms\”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-VRJj0LD5W0F6Hxk8 p{margin:0;}#mermaid-svg-VRJj0LD5W0F6Hxk8 .actor{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-VRJj0LD5W0F6Hxk8 text.actor>tspan{fill:black;stroke:none;}#mermaid-svg-VRJj0LD5W0F6Hxk8 .actor-line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);}#mermaid-svg-VRJj0LD5W0F6Hxk8 .innerArc{stroke-width:1.5;stroke-dasharray:none;}#mermaid-svg-VRJj0LD5W0F6Hxk8 .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333;}#mermaid-svg-VRJj0LD5W0F6Hxk8 .messageLine1{stroke-width:1.5;stroke-dasharray:2,2;stroke:#333;}#mermaid-svg-VRJj0LD5W0F6Hxk8 #arrowhead path{fill:#333;stroke:#333;}#mermaid-svg-VRJj0LD5W0F6Hxk8 .sequenceNumber{fill:white;}#mermaid-svg-VRJj0LD5W0F6Hxk8 #sequencenumber{fill:#333;}#mermaid-svg-VRJj0LD5W0F6Hxk8 #crosshead path{fill:#333;stroke:#333;}#mermaid-svg-VRJj0LD5W0F6Hxk8 .messageText{fill:#333;stroke:none;}#mermaid-svg-VRJj0LD5W0F6Hxk8 .labelBox{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-VRJj0LD5W0F6Hxk8 .labelText,#mermaid-svg-VRJj0LD5W0F6Hxk8 .labelText>tspan{fill:black;stroke:none;}#mermaid-svg-VRJj0LD5W0F6Hxk8 .loopText,#mermaid-svg-VRJj0LD5W0F6Hxk8 .loopText>tspan{fill:black;stroke:none;}#mermaid-svg-VRJj0LD5W0F6Hxk8 .loopLine{stroke-width:2px;stroke-dasharray:2,2;stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);}#mermaid-svg-VRJj0LD5W0F6Hxk8 .note{stroke:#aaaa33;fill:#fff5ad;}#mermaid-svg-VRJj0LD5W0F6Hxk8 .noteText,#mermaid-svg-VRJj0LD5W0F6Hxk8 .noteText>tspan{fill:black;stroke:none;}#mermaid-svg-VRJj0LD5W0F6Hxk8 .activation0{fill:#f4f4f4;stroke:#666;}#mermaid-svg-VRJj0LD5W0F6Hxk8 .activation1{fill:#f4f4f4;stroke:#666;}#mermaid-svg-VRJj0LD5W0F6Hxk8 .activation2{fill:#f4f4f4;stroke:#666;}#mermaid-svg-VRJj0LD5W0F6Hxk8 .actorPopupMenu{position:absolute;}#mermaid-svg-VRJj0LD5W0F6Hxk8 .actorPopupMenuPanel{position:absolute;fill:#ECECFF;box-shadow:0px 8px 16px 0px rgba(0,0,0,0.2);filter:drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4));}#mermaid-svg-VRJj0LD5W0F6Hxk8 .actor-man line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-VRJj0LD5W0F6Hxk8 .actor-man circle,#mermaid-svg-VRJj0LD5W0F6Hxk8 line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;stroke-width:2px;}#mermaid-svg-VRJj0LD5W0F6Hxk8 :root{–mermaid-font-family:\”trebuchet ms\”,verdana,arial,sans-serif;}发送消息接收消息解析路由返回 agent + sessionKey调用 agent.run()调用 AI 模型流式响应工具调用(如有)工具结果最终响应发送回复显示消息
完全内网部署(Ollama)
# 1. 安装
git clone https://github.com/moltbot/moltbot.git && cd moltbot
pnpm install && pnpm build && pnpm ui:build
# 2. 配置 Ollama
ollama pull llama3.3
export OLLAMA_API_KEY="ollama-local" # 自动发现本地模型
# 3. 启动
pnpm moltbot gateway # Gateway 启动后访问 http://127.0.0.1:18789
Ollama 配置要点:
- 设置 OLLAMA_API_KEY 后,Clawdbot 自动发现本地模型(查询 /api/tags)
- 只有报告 tools 能力的模型才会被识别
- 推荐模型:llama3.3、qwen2.5-coder:32b、deepseek-r1:32b
三、产品层面思考
你有没有想过,为什么这一年冒出来这么多 AI App,但你手机里真正留下的没几个?
豆包、Kimi、ChatGPT……每个都想成为你的"AI 入口",每个都让你下载、注册、记住一个新地方。但说实话,微信已经够好用了,Telegram 已经够好用了。用户不缺聊天工具,缺的是聊天工具里能帮他干活的东西。
Clawdbot 选了一条不一样的路:不做独立 App,直接"住进"你已有的聊天软件里。Telegram 里的一个 bot,Slack 里的一个 integration,iMessage 里的一个联系人。你不用切换任何东西,在原来的地方说话就行。
这让我想,也许 AI 产品的竞争,最后不是"谁的模型更强",而是"谁能更无缝地嵌入用户已有的生活"。
大部分 AI 产品把你的聊天记录、记忆、偏好全存在云端。你不知道它存了什么,怎么用,会不会泄露。Clawdbot 做了个很"硬核"的决定:所有数据都以 Markdown 文件存在你本地。你可以像翻笔记一样查看 AI 的"思考过程",随时删、改、备份。
对企业用户来说,这意味着数据合规问题天然解决。对个人用户来说,这意味着"我的 AI 只属于我"。
在 AI 时代,"数据主权"会不会成为一个真正的卖点?我不确定,但这个方向值得琢磨。
五、安全风险
这东西本质上是一个拥有你电脑完整控制权的代理。能读文件、执行命令、用你的身份发消息。配置失误、边界失守,泄露的不只是数据,而是你的身份和整台机器的控制权。
部署前,白名单一定要配(allowFrom),群组里 mention 门控一定要开,敏感操作最好用 Docker 沙箱隔离。绝对不要暴露到公网,绝对不要让不信任的人能访问。
现阶段,它还是个高危实验品。适合技术敏感度高、愿意折腾、能自己兜底的人。
官网:https://clawd.bot
GitHub:https://github.com/clawdbot/clawdbot
文档 :https://docs.clawd.bot
技能市场 :https://clawdhub.com
Discord社区:https://discord.gg/clawd






