由于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 框架,负责:
- 构建 prompt(系统提示 + 历史消息 + 当前输入)
- 调用 AI 模型(Ollama 本地、OpenAI 云端,或其他)
- 解析模型响应,判断是直接回复还是需要调用工具
对于"看桌面 PDF"这个请求,模型会判断需要调用 bash 工具。
第四站:Tools System
Agent 发起工具调用:ls ~/Desktop/*.pdf。
工具系统不是简单地执行命令——它有权限控制(哪些目录可访问)、沙箱隔离(非 main 会话在 Docker 里跑)、超时管理(防止命令卡死)。执行结果返回给 Agent,Agent 把结果组织成自然语言回复。
回程
回复沿着原路返回:Agent → Gateway → Channel → Telegram → 你的手机。
整个过程,Gateway 是唯一的调度中心。为什么单点?因为消息通道(WhatsApp session、Telegram bot)的状态是独占的,多进程会冲突。单一 Gateway 确保所有状态一致。
全局数据流
sequenceDiagram
participant User as 用户
participant Channel as 消息通道
participant Gateway as Gateway
participant Router as 路由系统
participant Agent as Agent Runtime
participant Model as AI 模型
participant Tool as 工具系统
User->>Channel: 发送消息
Channel->>Gateway: 接收消息
Gateway->>Router: 解析路由
Router->>Gateway: 返回 agent + sessionKey
Gateway->>Agent: 调用 agent.run()
Agent->>Model: 调用 AI 模型
Model-->>Agent: 流式响应
Agent->>Tool: 工具调用(如有)
Tool-->>Agent: 工具结果
Agent-->>Gateway: 最终响应
Gateway->>Channel: 发送回复
Channel->>User: 显示消息
完全内网部署(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 沙箱隔离。绝对不要暴露到公网,绝对不要让不信任的人能访问。
现阶段,它还是个高危实验品。适合技术敏感度高、愿意折腾、能自己兜底的人。
官网:clawd.bot GitHub:github.com/clawdbot/cl… 文档 :docs.clawd.bot 技能市场 :clawdhub.com Discord社区:discord.gg/clawd