19 KiB
🦞 Moltbot — 个人 AI 助手
脱壳进化!脱壳进化!
Moltbot 是一款运行在你自有设备上的 个人 AI 助手。 它可以在你已有的社交频道中回复你(WhatsApp, Telegram, Slack, Discord, Google Chat, Signal, iMessage, Microsoft Teams, WebChat),并支持通过 BlueBubbles, Matrix, Zalo, 和 Zalo Personal 等扩展渠道。它可以在 macOS/iOS/Android 上进行语音对话,并能渲染一个由你控制的实时画布(Canvas)。网关(Gateway)仅仅是控制平面 —— 助手本身才是核心产品。
如果你想要一个私密的、单用户使用的、感觉像是在本地运行且响应极快、永远在线的助手,那么这就是你的选择。
官方网站 · 文档 · 入门指南 · 更新说明 · 案例展示 · 常见问题 · 配置向导 · Nix · Docker · Discord
推荐安装方式:运行初始化向导 (moltbot onboard)。它会引导你设置网关、工作区、频道和技能。CLI 向导是官方推荐的路径,支持 macOS, Linux, 和 Windows (通过 WSL2; 强烈推荐)。
支持使用 npm, pnpm, 或 bun。
新用户安装?从这里开始:入门指南
订阅 (OAuth):
模型说明:虽然支持任何模型,但我强烈建议使用 Anthropic Pro/Max (100/200) + Opus 4.5,因为它具备更强的长文本处理能力和更好的提示词注入防御。详见 入门向导。
模型 (选择 + 认证)
安装 (推荐)
运行环境:Node ≥22。
npm install -g moltbot@latest
# 或: pnpm add -g moltbot@latest
moltbot onboard --install-daemon
向导会安装网关守护进程(launchd/systemd 用户服务)以保持其后台运行。
历史备注:clawdbot 命令作为兼容垫片(shim)依然可用。
快速开始 (简易版)
运行环境:Node ≥22。
完整的初学者指南(认证、配对、频道):入门指南
moltbot onboard --install-daemon
moltbot gateway --port 18789 --verbose
# 发送一条消息
moltbot message send --to +1234567890 --message "来自 Moltbot 的问候"
# 与助手对话(可选将结果发送回任何已连接的频道:WhatsApp/Telegram/Slack/Discord/Google Chat/Signal/iMessage/BlueBubbles/Microsoft Teams/Matrix/Zalo/Zalo Personal/WebChat)
moltbot agent --message "发送清单" --thinking high
升级中?更新指南(并运行 moltbot doctor)。
开发频道
- stable (稳定版):带有标签的发布版本 (
vYYYY.M.D或vYYYY.M.D-<patch>),npm 标记为latest。 - beta (测试版):预发布标签 (
vYYYY.M.D-beta.N),npm 标记为beta(可能缺少 macOS 应用)。 - dev (开发版):
main分支的最前沿,npm 标记为dev。
切换频道 (git + npm):moltbot update --channel stable|beta|dev。
详情见:开发频道说明。
源码安装 (开发用)
从源码构建推荐使用 pnpm。直接运行 TypeScript 时 Bun 是可选的。
git clone https://github.com/moltbot/moltbot.git
cd moltbot
pnpm install
pnpm ui:build # 首次运行时自动安装 UI 依赖
pnpm build
pnpm moltbot onboard --install-daemon
# 开发循环(修改 TS 后自动重载)
pnpm gateway:watch
注意:pnpm moltbot ... 直接通过 tsx 运行 TypeScript。pnpm build 会生成 dist/ 目录,用于通过 Node 或打包后的 moltbot 二进制文件运行。
安全默认设置 (私聊访问)
Moltbot 连接到真实的通讯平台。请将所有接收到的私聊消息视为 不可信输入。
完整的安全指南:安全
在 Telegram/WhatsApp/Signal/iMessage/Microsoft Teams/Discord/Google Chat/Slack 上的默认行为:
- 私聊配对 (
dmPolicy="pairing"):未知的发送者会收到一个简短的配对码,助手不会处理他们的消息。 - 批准方式:执行
moltbot pairing approve <channel> <code>(之后该发送者将被添加到本地允许列表中)。 - 公开接收私聊:需要明确开启,设置
dmPolicy="open"并在允许列表 (allowFrom) 中包含"*"。
运行 moltbot doctor 以发现风险项或配置错误的私聊策略。
亮点功能
- 本地优先网关 — 会话、频道、工具和事件的统一控制平面。
- 多频道收件箱 — 支持 WhatsApp, Telegram, Slack, Discord, Google Chat, Signal, iMessage, BlueBubbles, Microsoft Teams, Matrix, Zalo, Zalo Personal, WebChat, macOS, iOS/Android。
- 多代理路由 — 将接收的频道/账户路由到独立的代理(工作区 + 独立会话)。
- **语音唤醒 + 通话模式** — 适用于 macOS/iOS/Android 的全天候语音,配合 ElevenLabs。
- 实时画布 (Live Canvas) — 代理驱动的可视化工作区,集成 A2UI。
- 一流的工具链 — 浏览器、画布、节点、定时任务 (Cron)、会话,以及 Discord/Slack 动作。
- 伴侣应用 — macOS 菜单栏应用 + iOS/Android 节点应用。
- **新手引导 + 技能系统** — 向导驱动的设置,包含内置、托管和工作区技能。
Star 增长历史
目前已构建的所有功能
核心平台
- 网关 WS 控制平面:包含会话、在线状态、配置、定时任务、Webhooks、控制 UI 以及 画布主机。
- 命令行界面:网关控制、代理对话、发送消息、向导 和 医生自检。
- Pi 代理运行时:支持 RPC 模式,具备工具流式传输和块流传输。
- 会话模型:支持
main直接聊天、群组隔离、激活模式、队列模式、自动回复。群组规则参见:群组。 - 媒体流水线:处理图片/音频/视频,支持转录钩子、大小限制、临时文件生命周期管理。音频详情:音频。
频道支持
- 频道:WhatsApp (Baileys), Telegram (grammY), Slack (Bolt), Discord (discord.js), Google Chat (Chat API), Signal (signal-cli), iMessage (imsg), BlueBubbles, Microsoft Teams, Matrix, Zalo, Zalo Personal, WebChat。
- 群组路由:提及触发、回复标签、分频道分块和路由。频道规则见:频道。
应用 + 节点
- macOS 应用:菜单栏控制平面、语音唤醒/PTT、通话模式 悬浮层、WebChat、调试工具、远程网关 控制。
- iOS 节点:支持 画布、语音唤醒、通话模式、摄像头、屏幕录制、Bonjour 自动配对。
- Android 节点:画布、通话模式、摄像头、屏幕录制、可选的短信支持。
- macOS 节点模式:系统命令运行/通知 + 画布/摄像头开放。
工具 + 自动化
- 浏览器控制:专用 moltbot Chrome/Chromium,支持快照、操作、上传、配置文件管理。
- 画布 (Canvas):A2UI 推送/重置、代码执行、快照。
- 节点工具:摄像头抓拍/剪辑、屏幕记录、位置获取、通知。
- Cron + 唤醒;Webhooks;Gmail 消息推送。
- 技能平台:内置、托管和工作区技能,具备安装门禁和 UI。
运行时 + 安全
运维 + 打包
- 控制 UI + WebChat 直接由网关提供服务。
- Tailscale Serve/Funnel 或 SSH 隧道,支持 Token/密码认证。
- 用于声明式配置的 Nix 模式;基于 Docker 的安装。
- 医生 (Doctor) 迁移工具,日志管理。
工作原理 (简述)
WhatsApp / Telegram / Slack / Discord / Google Chat / Signal / iMessage / BlueBubbles / Microsoft Teams / Matrix / Zalo / Zalo Personal / WebChat
│
▼
┌───────────────────────────────┐
│ 网关 (Gateway) │
│ (控制平面) │
│ ws://127.0.0.1:18789 │
└──────────────┬────────────────┘
│
├─ Pi 代理 (RPC)
├─ 命令行工具 (moltbot …)
├─ WebChat 界面
├─ macOS 应用
└─ iOS / Android 节点
核心子系统
- 网关 WebSocket 网络 — 用于客户端、工具和事件的统一 WS 控制平面(及运维:网关运行手册)。
- Tailscale 暴露 — 为网关仪表盘 + WS 提供内网穿透(远程访问:远程连接)。
- 浏览器控制 — 由 moltbot 管理的 Chrome/Chromium,具备 CDP 控制能力。
- 画布 + A2UI — 代理驱动的可视化工作区。
- **语音唤醒 + 通话模式** — 始终在线的语音和连续对话支持。
- 节点 (Nodes) — 提供画布、摄像头快拍、屏幕记录、位置获取、通知,以及 macOS 专有的系统命令执行。
Tailscale 访问 (网关仪表盘)
Moltbot 可以自动配置 Tailscale Serve(仅限 tailnet)或 Funnel(公开),而网关保持绑定在本地回环地址。配置 gateway.tailscale.mode:
off: 不开启 Tailscale 自动化(默认)。serve: 通过tailscale serve仅限 tailnet 内部的 HTTPS 访问。funnel: 通过tailscale funnel进行公开 HTTPS 访问(需要密码认证)。
注意:
- 当启用 Serve/Funnel 时,
gateway.bind必须保持为loopback。 - Serve 可以通过设置认证模式为
password来强制要求密码。 - Funnel 除非设置了密码认证,否则拒绝启动。
详情见:Tailscale 指南 · Web 界面
远程网关 (推荐使用 Linux)
在小型 Linux 实例上运行网关是非常理想的选择。客户端(macOS 应用、CLI、WebChat)可以通过 Tailscale 或 SSH 隧道连接,你仍然可以在需要时配对设备节点(macOS/iOS/Android)来执行设备本地操作。
- 网关主机 默认运行执行工具和频道连接。
- 设备节点 通过
node.invoke运行设备本地操作(系统命令、摄像头、屏幕记录、通知)。 简而言之:复杂执行发生在网关所在地;设备操作发生在设备所在地。
通过网关协议的 macOS 权限
macOS 应用可以以 节点模式 运行,并通过网关 WebSocket 宣告其能力和权限映射。客户端可以执行本地操作:
system.run运行本地命令;如果需要屏幕录制权限,设置needsScreenRecording: true。system.notify发送通知。canvas.*,camera.*,screen.record等通过node.invoke路由,并遵循 TCC 权限状态。
提权的 bash(主机权限)与 macOS TCC 是分开的:
- 使用
/elevated on|off在启用且允许的情况下切换每个会话的提权访问。
代理对代理 (sessions_* 工具)
- 用于在不同会话之间协调工作,无需手动切换聊天界面。
sessions_list— 发现活动会话及其元数据。sessions_history— 获取会话的历史记录。sessions_send— 向另一个会话发送消息。
详情见:会话工具
技能注册表 (ClawdHub)
ClawdHub 是一个极简的技能注册表。启用后,代理可以自动搜索并根据需要引入新技能。
聊天命令
在 WhatsApp/Telegram/Slack 等频道中发送(群组命令仅限所有者):
/status— 会话状态简报(模型、Token、成本)/new或/reset— 重置会话/compact— 压缩会话上下文(生成摘要)/think <level>— 设置思考深度:off|minimal|low|medium|high|xhigh/verbose on|off— 详细模式开关/usage off|tokens|full— 响应后的用量页脚/restart— 重启网关/activation mention|always— 群组激活切换
可选应用
网关本身即可提供极佳体验。所有应用均为可选,用于增加额外功能。
macOS 应用 (Moltbot.app) (可选)
- 菜单栏控制网关和健康状态。
- 语音唤醒 + PTT 悬浮层。
- 远程 SSH 控制网关。
iOS 节点 (可选)
- 充当画布表面,支持语音触发。
- 通过
moltbot nodes …控制。
运行手册:iOS 连接。
Android 节点 (可选)
- 提供画布、摄像头和屏幕捕获命令。
- 运行手册:Android 连接。
代理工作区与技能
- 工作区根目录:
~/clawd。 - 注入的提示词文件:
AGENTS.md,SOUL.md,TOOLS.md。 - 技能路径:
~/clawd/skills/<skill>/SKILL.md。
配置
最简 ~/.clawdbot/moltbot.json 示例:
{
"agent": {
"model": "anthropic/claude-opus-4-5"
}
}
安全模型 (重要)
- 默认设置:工具在 main 会话的主机上运行,助手拥有完整访问权限。
- 群组/频道安全:将非主会话设置为在 Docker 沙盒中运行,以隔离执行环境。
详情见:安全指南 · Docker 与沙箱
运维与故障排除
Molty
Moltbot 是为 Molty 构建的,它是一只太空龙虾 AI 助手。 🦞 由 Peter Steinberger 及社区共同开发。
社区
查看 CONTRIBUTING.md 获取贡献指南。欢迎提交各种 PR!🤖
(贡献者列表略)