Moltbot 可以理解成一个运行在本地电脑或服务器上的 AI Agent 网关。普通聊天机器人通常只负责回复文字,而 Moltbot 的重点是“执行任务”:它接收来自聊天软件的指令,再调用本机工具、Skills、模型接口,甚至进一步调度 Claude Code、Codex 这类代码 Agent 去改文件、跑命令、整理资料。
它的典型使用方式是:
- Moltbot 跑在一台电脑、虚拟机或云服务器上。
- 用户通过 Discord、飞书、Telegram 等聊天工具发送指令。
- Moltbot 把消息交给模型理解。
- 模型决定是否调用本地工具、插件、命令或其他 Agent。
- Moltbot 把执行结果返回到聊天软件。
flowchart LR
U[手机或电脑聊天客户端] --> C[Discord / 飞书 / Telegram]
C --> G[Moltbot Gateway]
G --> L[大模型提供方<br/>Codex / Qwen / GLM / Claude API]
G --> S[Skills 插件]
G --> H[Hooks<br/>日志 / 记忆 / 启动规则]
G --> T[本地工具<br/>文件系统 / Shell / 浏览器 / 代码 Agent]
T --> G
L --> G
G --> C
C --> U
这个结构决定了它既方便,也危险。Moltbot 不是只能聊天的网页助手,而是有机会接触本机文件、命令行、密钥、项目代码和业务数据的本地 Agent。部署前需要先确定边界:哪些目录能碰,哪些命令需要确认,哪些数据不能开放。
Moltbot 解决什么问题
如果只用 ChatGPT 或 Claude,工作流通常是“人复制上下文 → AI 给建议 → 人手动执行”。如果用 Claude Code 或 Codex,AI 可以在电脑上改代码、跑测试,但你仍然需要打开终端、盯着执行过程。
Moltbot 把入口从终端搬到了聊天工具里。你可以在手机上发消息,让本地设备执行任务,并把结果回传回来。
| 类型 | 主要能力 | 局限 |
|---|---|---|
| ChatGPT / Claude 对话 | 理解问题、生成文本、给方案 | 通常不能直接操作你的电脑 |
| Claude Code / Codex | 能读写项目文件、运行命令、修改代码 | 多数场景需要人在终端里操作 |
| Moltbot | 通过聊天工具调度模型、插件和本地工具 | 权限高,需要严格控制风险 |
Moltbot 更像一个调度层。它自己不一定完成所有任务,但它可以接收自然语言指令,再决定调用哪个模型、哪个 Skill、哪个命令行工具。
适合部署在哪里
Moltbot 对硬件要求不高,核心依赖是 Node.js 22 及以上版本。关键不是性能,而是隔离和安全。
| 部署方式 | 优点 | 风险或代价 | 适合场景 |
|---|---|---|---|
| 闲置电脑 / 备用机 | 和主力机隔离,配置简单,出问题影响较小 | 需要额外设备,长期运行耗电 | 推荐用于日常实验 |
| 虚拟机 | 不需要额外硬件,快照回滚方便 | 配置稍复杂,性能有损耗 | 只有一台电脑但想隔离风险 |
| 云服务器 | 可以 24 小时在线,适合远程访问 | 公网暴露风险高,安全组和鉴权必须配置好 | 有基础运维经验的用户 |
| 主力机裸跑 | 使用方便,能直接访问工作文件 | 风险最高,不建议 | 只适合短时间、低权限测试 |
如果使用云服务器,系统建议选择 Ubuntu 22.04 LTS 或更新的长期支持版本。不要把 Moltbot 网关裸露在公网,尤其不要无密码开放默认端口。
安装前检查 Node.js
Moltbot 需要 Node.js 22+。终端里先检查版本:
node -v
如果输出类似下面这样,说明版本满足要求:
v22.13.0
如果版本低于 22,先升级 Node.js。Linux 和 macOS 可以使用 nvm 管理 Node.js 版本:
# 安装或更新 nvm 后执行
nvm install 22
nvm use 22
node -v
Windows 用户可以直接安装 Node.js 22 LTS,也可以使用 nvm-windows 管理版本。
一键安装 Moltbot
不同系统使用不同安装命令。
Windows
打开 PowerShell,执行:
iwr -useb https://molt.bot/install.ps1 | iex
macOS / Linux
打开终端,执行:
curl -fsSL https://molt.bot/install.sh | bash
云服务器
本地电脑先通过 SSH 登录服务器:
ssh 用户名@服务器公网IP
登录后执行 Linux 安装命令:
curl -fsSL https://molt.bot/install.sh | bash
如果云服务器使用非 22 端口,需要指定端口:
ssh -p 端口号 用户名@服务器公网IP
安装过程里的几个关键选择
安装脚本会进入交互配置。大多数选项可以后续修改,但有几项需要理解清楚。
风险确认
Moltbot 会提示你确认它拥有较高权限。这里不是形式化提醒,因为它后续可能执行命令、读写文件、调用插件。
推荐做法:
- 不在主力机上直接跑高权限 Moltbot。
- 不把工作区、私密文件夹、密钥目录全部开放给它。
- 高危命令必须人工确认。
- 先用测试目录验证行为,再逐步增加权限。
启动方式
安装时通常会让你选择快速启动或手动配置。刚开始可以选快速启动,先把网关跑起来,再逐项调整配置。
模型选择
Moltbot 需要一个模型作为决策核心。常见选择如下:
| 模型接入方式 | 说明 | 适合情况 |
|---|---|---|
| Codex OAuth | 使用 ChatGPT Plus / Pro 相关 Codex 能力 | 已有对应订阅,希望少折腾 |
| Qwen / GLM / MiniMax 等国产模型 | 成本较低,网络环境更友好 | 测试工作流、控制 Token 成本 |
| Claude API | 能力强,但 API 成本较高 | 对复杂推理和代码任务要求高 |
不要把不允许第三方工具调用的订阅额度强行接入 Moltbot。尤其是 Claude Max 这类面向特定客户端或产品形态的额度,需要遵守服务条款,否则可能导致账号风险。
Skills 配置
Skills 是 Moltbot 的插件能力,用于扩展具体任务,比如网页抓取、文件处理、外部服务对接等。安装阶段可以启用默认 Skills,也可以后续再装。
插件的风险和能力成正比。来源不明的 Skill 可能在本机执行代码,因此只安装可信来源,并尽量先在隔离环境里测试。
Hooks 配置
Hooks 是 Moltbot 生命周期中的钩子能力,常见的三个建议启用:
| Hook | 作用 | 建议 |
|---|---|---|
| boot-md | 启动时加载固定规则,例如身份、边界、工作目录限制 | 开启 |
| command-logger | 记录执行过的命令,便于排查问题 | 开启 |
| session-memory | 保存会话记忆,让跨会话任务更连续 | 开启,但注意隐私 |
启动 Moltbot Gateway
安装完成后执行:
moltbot gateway --verbose
启动后一般会出现两种使用入口:
- TUI(Terminal User Interface,终端界面)
- Web UI(网页界面)
本机访问 Web UI:
http://127.0.0.1:18789/chat
127.0.0.1 只代表当前机器。如果 Moltbot 跑在云服务器上,你在自己电脑浏览器里打开 127.0.0.1:18789,访问的是本地电脑,不是服务器。
云服务器访问 Web UI 的三种方式
Moltbot 默认监听本机回环地址,这个默认行为是安全的。远程访问时推荐使用 SSH 隧道或内网穿透方案,不推荐直接开放公网端口。
方式一:SSH 隧道
在本地电脑执行:
ssh -N -L 18789:127.0.0.1:18789 用户名@服务器公网IP
保持这个终端窗口不要关闭,然后在本地浏览器访问:
http://127.0.0.1:18789/chat
这条命令的含义是:把本地电脑的 18789 端口转发到服务器自己的 127.0.0.1:18789。
flowchart LR
B[本地浏览器<br/>127.0.0.1:18789] --> SSH[SSH 隧道]
SSH --> M[云服务器 Moltbot<br/>127.0.0.1:18789]
如果 SSH 端口不是 22:
ssh -p 端口号 -N -L 18789:127.0.0.1:18789 用户名@服务器公网IP
方式二:绑定 0.0.0.0 并设置 Token
这种方式配置简单,但要承担公网暴露风险。只建议短期测试,并且必须设置鉴权 Token。
编辑配置文件:
nano ~/.moltbot/moltbot.json
加入或修改:
{
"gateway": {
"bind": "0.0.0.0",
"auth": {
"mode": "token",
"token": "替换成一个足够长的随机字符串"
}
}
}
重启网关:
moltbot gateway restart
还需要到云服务商控制台的安全组里放行 TCP 18789 端口。
访问地址:
http://服务器公网IP:18789/?token=你设置的token
不要使用简单密码。Token 一旦泄露,别人可能直接控制你的 Moltbot。
方式三:Tailscale
Tailscale 适合长期远程使用。它会给设备组建一个私有网络,避免把 Moltbot 直接暴露到公网。
基本步骤:
- 本地电脑和服务器都安装 Tailscale。
- 两台设备登录同一个 Tailscale 网络。
- 配置 Moltbot 使用 Tailscale Serve。
示例配置:
{
"gateway": {
"bind": "loopback",
"tailscale": {
"mode": "serve"
}
}
}
整体关系如下:
flowchart LR
Local[本地电脑] --> TS[Tailscale 私有网络]
Phone[手机] --> TS
TS --> Server[运行 Moltbot 的服务器]
接入 Discord Bot
Discord 是 Moltbot 比较常见的入口。接入后,你可以在 Discord 私聊机器人,也可以在服务器频道里和它交互。
创建 Discord 应用和机器人
打开 Discord Developer Portal:
https://discord.com/developers/applications
操作流程:
- 创建一个 New Application。
- 进入应用后打开左侧 Bot 页面。
- 创建 Bot,重置并复制 Token。
- 保存 Token,不要发到公开频道或代码仓库。
Token 相当于机器人的登录密码。泄露后需要立刻在 Developer Portal 重置。
开启必要 Intents
在 Bot 页面找到 Privileged Gateway Intents,开启:
- Message Content Intent
- Server Members Intent
其中 Message Content Intent 用于读取消息内容,否则机器人可能收到事件但无法看到用户说了什么。
邀请机器人进服务器
进入 OAuth2 → URL Generator:
Scopes 选择:
bot
Bot Permissions 至少选择:
Send Messages
Read Message History
如果只是在私人测试服务器里使用,也可以给更高权限,但生产环境不建议直接给 Administrator。权限越大,机器人误操作或 Token 泄露后的影响越大。
复制生成的邀请链接,在浏览器打开,把机器人加入自己的 Discord 服务器。
获取自己的 Discord User ID
Moltbot 通常需要知道允许控制它的用户 ID。获取方式:
- Discord 设置里开启 Developer Mode。
- 右键自己的头像或用户名。
- 点击 Copy User ID。
不要只依赖用户名,因为用户名可能重复或变化,User ID 才是稳定标识。
在 Moltbot 中配置 Discord
可以在 Moltbot 的 Web UI 或 TUI 里告诉它 Discord Bot Token 和你的 Discord User ID,例如:
配置 Discord 连接。
Bot Token 是 xxxxx。
允许控制 Moltbot 的 Discord User ID 是 123456789012345678。
只允许这个用户私聊或在指定频道里发指令。
更稳妥的做法是把 Token 写入配置或环境变量,而不是长期留在聊天记录里。配置完成后重启网关或让 Moltbot 重新加载插件。
验证 Discord 是否接通
在 Discord 里给机器人发一条低风险指令:
请列出当前工作目录下的文件,不要修改任何内容。
第一次涉及本机操作时,Moltbot 可能会在 Web UI 或 TUI 中弹出授权确认。建议先选择“一次允许”,不要一上来就永久允许所有命令。
sequenceDiagram
participant User as Discord 用户
participant Bot as Discord Bot
participant Molt as Moltbot Gateway
participant Host as 本机环境
User->>Bot: 发送任务指令
Bot->>Molt: 转发消息事件
Molt->>Molt: 模型理解任务并生成操作计划
Molt->>User: 请求确认高权限操作
User-->>Molt: 允许一次
Molt->>Host: 执行只读命令
Host-->>Molt: 返回结果
Molt-->>Bot: 生成回复
Bot-->>User: 返回执行结果
Discord 频道可以按任务类型拆开,例如:
| 频道 | 用途 | 建议规则 |
|---|---|---|
daily | 日常信息整理、提醒、轻量任务 | 只允许低风险操作 |
coding | 代码阅读、测试、提交建议 | 限制在指定项目目录 |
content | 素材整理、草稿生成、格式转换 | 禁止读取私密目录 |
ops | 服务器巡检、日志查看 | 高危命令必须人工确认 |
不同频道可以配置不同提示词或工作边界,让 Moltbot 在不同场景下采用不同规则。
接入飞书机器人
飞书适合国内网络环境,移动端体验也比较稳定。Moltbot 本身可以通过插件方式接入飞书机器人。
安装飞书插件
可以使用这个插件包:
https://github.com/m1heng/Clawdbot-feishu
在 Moltbot 所在机器执行:
moltbot plugins install @m1heng-clawd/feishu
也可以在 Moltbot Web UI 里直接发指令,让它帮你安装:
请执行:moltbot plugins install @m1heng-clawd/feishu
安装完成后检查插件是否加载成功。
涉及插件安装时仍然建议人工确认,因为插件拥有扩展 Moltbot 能力的权限。
创建飞书企业自建应用
进入飞书开放平台开发者后台,创建企业自建应用:
https://open.feishu.cn/
需要记录两个凭证:
- App ID
- App Secret
这两个值是敏感信息,不能发到群聊、公开仓库或截图里。泄露后需要立刻在飞书开放平台重置 Secret。
配置机器人能力
进入应用配置,添加应用能力:
机器人
然后进入权限管理,开通消息相关权限。常见权限包括:
| 权限 | 用途 |
|---|---|
im:message | 获取或发送消息 |
im:message.group_at_msg | 接收群聊中 @ 机器人的消息 |
im:message.p2p_msg | 接收私聊消息 |
权限名称可能随着飞书开放平台调整而变化,配置时以控制台显示为准。核心原则是:机器人需要能接收私聊、接收群聊 @ 消息,并能发送回复。
把 App ID 和 App Secret 交给 Moltbot 配置
在 Moltbot Web UI 或 TUI 中输入:
配置飞书机器人连接。
App ID 是 cli_xxxxx。
App Secret 是 xxxxx。
只允许指定用户或指定群聊触发任务。
配置完成后告诉我需要在飞书开放平台继续填写哪些事件订阅。
推荐继续补充访问边界:
飞书入口只允许执行低风险任务。
所有 shell 命令、文件删除、网络下载、插件安装都需要人工确认。
配置事件订阅
飞书机器人需要通过事件订阅把消息事件传给 Moltbot。常见配置流程:
- 进入飞书应用后台。
- 找到事件订阅。
- 订阅私聊消息和群聊 @ 消息相关事件。
- 如果插件支持长连接模式,优先使用长连接,减少公网回调地址配置复杂度。
- 保存配置并发布应用版本。
发布后,在飞书客户端搜索机器人名称,发起私聊测试:
请回复“连接成功”,不要执行任何本机操作。
如果能正常回复,再测试只读任务:
请查看当前工作目录路径,并列出文件名,不要修改文件。
飞书接入链路可以这样理解:
sequenceDiagram
participant User as 飞书用户
participant Lark as 飞书开放平台
participant Plugin as Moltbot 飞书插件
participant Molt as Moltbot Gateway
participant Host as 本机环境
User->>Lark: 私聊或群聊 @ 机器人
Lark->>Plugin: 推送消息事件
Plugin->>Molt: 转换为 Moltbot 会话消息
Molt->>Host: 按权限执行任务
Host-->>Molt: 返回结果
Molt-->>Plugin: 生成回复
Plugin-->>Lark: 调用飞书接口发送消息
Lark-->>User: 展示机器人回复
常见任务设计
Moltbot 适合从低风险、可回滚、结果容易验收的任务开始。不要一开始就让它碰核心数据或不可逆操作。
| 任务类型 | 示例 | 风险等级 | 建议 |
|---|---|---|---|
| 信息整理 | 汇总当天材料、整理待办、生成会议纪要草稿 | 低 | 适合早期使用 |
| 文件只读分析 | 阅读日志、统计文件数量、检查目录结构 | 低 | 限制工作目录 |
| 文档生成 | 根据资料生成 Markdown、表格、报告草稿 | 中 | 人工审核后再发布 |
| 代码辅助 | 读代码、写测试、提出修改建议 | 中 | 禁止自动提交到主分支 |
| 自动执行命令 | 安装依赖、删除文件、改配置、重启服务 | 高 | 必须人工确认 |
| 账号和财务操作 | 发邮件、付款、签约、修改权限 | 极高 | 不建议交给 Moltbot 自动执行 |
一个稳妥的使用节奏是:
flowchart TD
A[只读任务] --> B[生成草稿]
B --> C[有限目录内写文件]
C --> D[人工确认后执行命令]
D --> E[小范围自动化]
E --> F[更复杂工作流]
A -.风险低.-> A1[适合初始测试]
F -.风险高.-> F1[需要审计和回滚方案]
Token 消耗控制
Moltbot 的 Token 消耗可能比普通聊天高很多,因为它不只是回答问题,还会携带任务上下文、工具调用结果、历史记忆和文件内容。
| 场景 | 消耗原因 | 控制方法 |
|---|---|---|
| 抓取和总结大量网页 | 输入内容长,摘要链路多 | 限制网页数量,先抽取标题和摘要 |
| 代码仓库分析 | 文件多,上下文长 | 指定目录和文件类型,不要全仓库读取 |
| 长会话任务 | 历史消息不断累积 | 定期总结会话,清理无关上下文 |
| 多轮工具调用 | 每次工具结果都进上下文 | 让工具输出结构化摘要,避免返回大段原始内容 |
| 使用高价模型 | 单价高 | 先用低成本模型调试工作流 |
建议把模型分层使用:
| 阶段 | 推荐模型策略 |
|---|---|
| 配置和调试 | 低成本模型 |
| 稳定的日常任务 | 低成本模型或中等模型 |
| 复杂推理、代码修改 | 更强模型,但限制上下文和执行范围 |
| 高风险操作 | 模型只给建议,人手动执行 |
安全边界
Moltbot 的安全问题主要来自四个方向:网关暴露、插件风险、模型误操作、敏感信息泄露。
| 风险 | 错误做法 | 正确做法 |
|---|---|---|
| 网关暴露 | 无密码开放 18789 到公网 | 使用 SSH 隧道、Tailscale,或至少启用强 Token |
| 插件执行代码 | 随便安装来源不明的 Skill | 只装可信插件,在隔离环境测试 |
| 文件误删 | 允许模型直接执行删除命令 | 删除、覆盖、移动文件前必须人工确认 |
| 密钥泄露 | 把 Token、App Secret 发到群聊 | 使用环境变量或配置文件,泄露后立即轮换 |
| 主力机损坏 | 在主力机开放全部目录 | 使用备用机、虚拟机或受限用户 |
| 账号风险 | 用不被允许的订阅额度接入第三方工具 | 按各平台服务条款使用 API 或 OAuth |
可以给 Moltbot 设置一段固定启动规则,例如:
# Moltbot 操作边界
- 默认只允许读取当前工作目录。
- 不允许访问 ~/.ssh、~/Documents/private、浏览器密码库、系统密钥链。
- 不允许执行 rm、del、format、diskutil、mkfs、chmod -R、chown -R 等高危命令,除非用户明确逐条确认。
- 不允许把密钥、Token、Cookie、个人隐私数据发送到外部服务。
- 所有插件安装、依赖安装、系统配置修改都必须先解释计划,再等待确认。
- 生成内容可以保存为草稿,但不能自动发布到外部平台。
如果启用了 boot-md Hook,可以把这些规则放进去,让 Moltbot 每次启动都加载同一套边界。
常见问题排查
| 问题 | 可能原因 | 处理方法 |
|---|---|---|
| 安装失败 | Node.js 版本低于 22 | 升级 Node.js 后重新安装 |
命令找不到 moltbot | Shell 环境变量未刷新 | 重新打开终端,或检查安装日志里的 PATH 提示 |
| Web UI 打不开 | 网关没启动,或访问错机器 | 确认 moltbot gateway --verbose 正在运行 |
| 云服务器无法访问 Web UI | 默认只监听 127.0.0.1 | 使用 SSH 隧道或 Tailscale |
| Discord 没反应 | Bot Token 错误、Intents 未开启、权限不足 | 检查 Token、Message Content Intent、频道权限 |
| 飞书没反应 | 权限未开通、事件订阅未配置、应用未发布 | 检查机器人能力、消息权限、事件订阅和版本发布 |
| Token 消耗太快 | 上下文过长、工具返回内容太多 | 限制输入范围,让工具返回摘要 |
| Moltbot 执行了危险操作 | 权限边界不清 | 增加人工确认规则,限制工作目录,使用隔离环境 |
推荐的起步配置
比较稳妥的初始方案是:
| 配置项 | 推荐值 |
|---|---|
| 部署位置 | 备用机、虚拟机或低权限云服务器 |
| 网关访问 | 本机访问、SSH 隧道或 Tailscale |
| 模型 | 先用低成本模型调试,再按任务切换强模型 |
| 聊天入口 | 国内优先飞书,海外或团队协作可用 Discord |
| 插件 | 只安装必要插件 |
| 命令权限 | 默认人工确认 |
| 文件范围 | 限制在专用工作目录 |
| 记忆 | 开启,但不要保存敏感信息 |
Moltbot 的价值不在于一次性放开所有权限,而在于把明确、重复、低风险的任务逐步交给 Agent。先让它做只读整理和草稿生成,确认稳定后再开放有限写入权限;涉及删除、发布、转账、权限变更、客户数据处理等操作,始终保留人工确认。这样才能把聊天入口的便利和本地 Agent 的执行力结合起来,同时避免把整台机器交给一个尚未充分验证的自动化系统。