芥末
发布于 2026-01-29 / 0 阅读
0
0

Moltbot 本地 Agent 部署与 Discord、飞书接入指南

Moltbot 可以理解成一个运行在本地电脑或服务器上的 AI Agent 网关。普通聊天机器人通常只负责回复文字,而 Moltbot 的重点是“执行任务”:它接收来自聊天软件的指令,再调用本机工具、Skills、模型接口,甚至进一步调度 Claude Code、Codex 这类代码 Agent 去改文件、跑命令、整理资料。

它的典型使用方式是:

  1. Moltbot 跑在一台电脑、虚拟机或云服务器上。
  2. 用户通过 Discord、飞书、Telegram 等聊天工具发送指令。
  3. Moltbot 把消息交给模型理解。
  4. 模型决定是否调用本地工具、插件、命令或其他 Agent。
  5. 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 直接暴露到公网。

基本步骤:

  1. 本地电脑和服务器都安装 Tailscale。
  2. 两台设备登录同一个 Tailscale 网络。
  3. 配置 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

操作流程:

  1. 创建一个 New Application。
  2. 进入应用后打开左侧 Bot 页面。
  3. 创建 Bot,重置并复制 Token。
  4. 保存 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。获取方式:

  1. Discord 设置里开启 Developer Mode。
  2. 右键自己的头像或用户名。
  3. 点击 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。常见配置流程:

  1. 进入飞书应用后台。
  2. 找到事件订阅。
  3. 订阅私聊消息和群聊 @ 消息相关事件。
  4. 如果插件支持长连接模式,优先使用长连接,减少公网回调地址配置复杂度。
  5. 保存配置并发布应用版本。

发布后,在飞书客户端搜索机器人名称,发起私聊测试:

请回复“连接成功”,不要执行任何本机操作。

如果能正常回复,再测试只读任务:

请查看当前工作目录路径,并列出文件名,不要修改文件。

飞书接入链路可以这样理解:

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 后重新安装
命令找不到 moltbotShell 环境变量未刷新重新打开终端,或检查安装日志里的 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 的执行力结合起来,同时避免把整台机器交给一个尚未充分验证的自动化系统。


评论