Docker方式安装你的私人AI电脑助手Moltbot
简介
Moltbot 是什么?
Moltbot(之前叫 Clawdbot ,现在最新的名字叫 OpenClaw)是一个开源的、高度可自托管的 AI 个人助手项目。它最大的特点是:
- 不依赖任何专用客户端:你可以用自己已经有的聊天软件(
Telegram、WhatsApp、Discord、Slack、企业微信、飞书等)来和AI对话。 - 真正的“电脑控制”能力:支持让
AI直接操作你的电脑(浏览器、文件、终端命令、截图、鼠标键盘等),而不是只能聊天。 - 本地优先 + 云模型混合:可以接本地大模型(
Ollama、Llama.cpp),也可以用Claude、GPT-4o、Gemini等云模型。 - 完全自托管:数据、记忆、配置全部在你自己的机器上,隐私性极高。
主要特点
Moltbot(2026 年 1 月最新版)的主要特点:
- 支持
10+聊天渠道(Telegram、WhatsApp、Discord、Slack、iMessage、Signal等) - 强大的工具集:浏览器控制(
Puppeteer)、终端执行、文件读写、Canvas绘画、定时任务(cron) - 多模型支持:
Claude 3.5/Opus、GPT-4o、Gemini 1.5 Pro、本地Ollama、Qwen等 - 记忆系统(长期记忆 + 会话记忆)
- Web 控制面板(
Control UI / Dashboard) - 完全
Docker部署,支持一键安装脚本
应用场景
Moltbot 的典型应用场景包括:
- 个人效率工具:让
AI帮你批量处理网页、下载文件、填写表单、监控价格 - 远程控制电脑:出差时用手机
Telegram远程操作家里的NAS/ 服务器 - 自动化脚本替代品:用自然语言描述需求,
AI帮你写并执行shell / Python代码 - 极客玩具:把
AI接入各种已有IM,打造私人Jarvis

Moltbot = “把 Claude / GPT 装进你的 Telegram / WhatsApp,让它真的能通过电脑帮你做事”
安装
在群晖上以 Docker 方式安装。
因为 Moltbot 的权限很高,对运行的主机而言,存在文件误删等风险,所以老苏觉得用 docker 最合适,可以把权利关在笼子里,带来的问题就是可能自主性会被中断,需要你帮助执行
当然好处也是很明显的,作为 NAS 用户,不用再单独去购买 Mac mini,也不用去买 VPS,省下了一大笔钱
目前最推荐的方式仍然是使用官方的 docker-setup.sh 脚本,它会自动帮你处理大部分配置、卷、网络、onboarding 向导
不过这种方式需要下载源码,并在本地编译,在群晖上也不是不行,只是老苏不喜欢,还是更愿意使用已构建好的镜像,这样不会把环境搞乱
准备工作
- 一台支持
Docker的机器(NAS、服务器、PC) Docker + Docker Compose已安装- 建议提前准备好大模型的
API Key:Claude/MiniMax等的API Key(至少一个)
建目录
通过 SSH 登录到您的群晖,执行下面的命令创建目录
1 | # 新建文件夹 moltbot 和 子目录 |
创建 docker-compose.yml
将以下内容保存为 docker-compose.yml 文件:
1 | version: '3.8' |
moltbot-gateway 容器参数说明
| 参数 | 说明 |
|---|---|
image |
使用的 Docker 镜像,指定 ghcr.io/moltbot/moltbot:main。 |
container_name |
容器的名称,为 moltbot-gateway,便于识别和管理。 |
restart |
容器的重启策略,设置为 unless-stopped,表示容器在非手动停止时会自动重启。 |
ports |
映射的端口,"18789:18789" 使主机的 18789 端口映射到容器的 18789 端口。 |
volumes |
挂载的本地目录,./config 目录映射到容器的 /home/node/.clawdbot,./data 映射到 /home/node/clawd。 |
environment |
(非必须),通过环境变量设置代理,包括 HTTP 和 HTTPS 代理地址,以及不使用代理的地址列表。 |
shm_size |
设置共享内存大小为 2 GB,允许容器使用更大的共享内存。 |
command |
指定容器启动时的命令,运行 Node.js 应用,设定网关端口为 18789。 |
- 关于挂载目录,因为
Clawdbot之前改名为了Moltbot,使用/home/node/.clawdbot,容器中有提示要改为/home/node/.moltbot,但是你真用/home/node/.moltbot,在执行onboarding时又无法生成moltbot.json; - 环境变量中的网络代理设置是非必须的,主要解决跟国外的聊天软件的联通问题,如果你用国内的飞书等,可以不需要设置;
moltbot-cli 容器参数说明
| 参数 | 说明 |
|---|---|
image |
使用的 Docker 镜像,指定 ghcr.io/moltbot/moltbot:main。 |
container_name |
容器的名称,为 moltbot-cli,便于识别和管理。 |
network_mode |
设置网络模式为 service:moltbot-gateway,共享 moltbot-gateway 容器的网络栈和端口。 |
volumes |
挂载的本地目录,./config 映射到容器的 /home/node/.clawdbot,./data 映射到 /home/node/clawd。 |
entrypoint |
指定容器启动时的入口点,运行 Node.js 应用。 |
- 网络模式非常重要,也是最关键的,代码中似乎使用硬编码,在连接
moltbot-gateway时,用的地址是127.0.0.1,只有设置了network_mode: "service:moltbot-gateway",才能共享moltbot-gateway容器的网络栈和端口; - 挂载目录需要和
moltbot-gateway保持一致;

首次运行 onboarding
1 | # 运行设置 |
交互向导出现后,按提示完成,会在 config 目录中生成 moltbot.json 设置文件
第一步的 I understand this is powerful and inherently risky. Continue? 必须选择 Yes

Onboarding mode 可以选择 QuickStart

接下来选择模型,老苏选了 Qwen,免费额度用于测试应该是可以的

验证方式用了 Qwen OAuth

稍等一会儿会出现一个链接,https://chat.qwen.ai/authorize?user_code=xxxxxxxx&client=qwen-code

将其复制到浏览器中,用自己的账号登录,

验证通过后,选中模型,默认的就可以

接下来选择通信软件,老苏选择了 Telegram

填入 Telegram bot token ,获取的方法在红框中

- 在
Telegram里搜索 @BotFather - 给它发送
/newbot - 给你的机器人起个名字(随便起,好记就行)
- 把
BotFather给你的token复制下来 - 回到
SSH终端,粘贴这个token

接下来会设置 skills 和 hooks 。老苏先直接跳过了,后面随时可以加

看到 Onboarding complete. 就设置完成了

启动 gateway 服务
设置完成后,就可以启动 gateway 服务
1 | # 启动 gateway 服务 |
使用
上一步的 onboarding 设置中,会看到 Dashboard 的地址

如果访问 http://群晖IP:18789/?token=<your token>,页面会显示错误 disconnected (1008): control ui requires HTTPS or localhost (secure context)

反代
老苏用的 npm + cloudflared 方案,
实际访问地址为: https://moltbot.laosu.tech
| 域名 | 局域网地址 | 备注 |
|---|---|---|
moltbot.laosu.tech |
http://192.168.0.197:18789 |
moltbot 的访问地址 |
在 npm 中的设置

还需要将下面的代码填入到 npm 的 Advanced 中
1 | location /telegram-webhook { |

修改 moltbot.json
现在访问 https://moltbot.laosu.tech/?token=<your token>,如果显示需要配对 disconnected (1008): pairing required

给
moltbot.json文件增加写权限,否则修改不会生效;
需要给 moltbot.json 加一行 "trustedProxies": [你的NPM容器IP",或宿主机 IP],也就是受信任的地址,需要考虑整个链路上的IP,可能包括:
moltbot-gateway的IP

npm的IP;- 家宽的公网
IP等;
当然最好的办法还是查看 moltbot-gateway 容器的日志,看看哪个地址不受信任
1 | { |
访问 Web 控制台(Control UI)
现在访问 https://moltbot.laosu.tech/?token=<your token>
显示需要配对

回到 SSH 客户端列出设备
1 | # 列出当前已配对和待配对的设备 |

通过命令批准配对
1 | # 批准配对 |

如果觉得麻烦,可以修改 moltbot.json 改为自动批准,但老苏不推荐
1 | { |

现在就可以开始聊天了

在 Telegram 中使用
onboarding 向导设置时已经 Telegram,但是向机器人发 /start ,并没有得到回应,既然网页已经 OK 了,可以让 Moltbot 自己解决

最后发现还是网络问题,所以他在 moltbot.json 中增加了代理服务地址设置"proxy": "http://192.168.0.206:2081"
1 | "channels": { |
再次发送 /start,就获得了回应,得到了配对码

回到 SSH 客户端批准设备
1 | # 批准配对 |

完成配对之后,就可以开始工作了

在网页端能同步可以看到相同的内容

结语
Moltbot 是目前最接近「把大模型变成电脑遥控器」的开源项目之一
Docker 部署方式让它门槛大幅降低,但真正发挥威力还需要你不断调教模型、渠道、工具权限。
希望这套流程能帮助你快速上手。祝你玩得开心,AI 助你事半功倍!
参考文档
moltbot/moltbot: Your own personal AI assistant. Any OS. Any Platform. The lobster way. 🦞
地址:https://github.com/moltbot/moltbotMoltbot — Personal AI Assistant
地址:https://www.molt.bot/Docker - Moltbot
地址:https://docs.molt.bot/install/docker