跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
JavaScriptNode.jsAI

Docker 部署私人 AI 电脑助手 Moltbot

介绍如何使用 Docker 部署开源 AI 助手 Moltbot。内容包括环境准备、Docker Compose 配置、模型接入、聊天渠道绑定及 Web 控制台访问设置。通过自托管方案,实现本地隐私保护下的 AI 电脑控制能力,支持 Telegram 等多种通信协议。教程涵盖了从创建目录、编写配置文件到首次运行 Onboarding 向导的完整流程,并提供了反向代理配置及常见问题排查方法。

星河入梦发布于 2026/3/23更新于 2026/10/2521K 浏览
Docker 部署私人 AI 电脑助手 Moltbot

Docker 部署私人 AI 电脑助手 Moltbot

简介

Moltbot 是什么?

Moltbot(之前叫 Clawdbot,现在最新的名字叫 OpenClaw)是一个开源的、高度可自托管的 AI 个人助手项目。它最大的特点是:

  • 不依赖任何专用客户端:你可以用自己已经有的聊天软件(Telegram、WhatsApp、Discord、Slack、企业微信、飞书等)来和 AI 对话。
  • 真正的'电脑控制'能力:支持让 AI 直接操作你的电脑(浏览器、文件、终端命令、截图、鼠标键盘等),而不是只能聊天。
  • 本地优先 + 云模型混合:可以接本地大模型(Ollama、Llama.cpp),也可以用 Claude、GPT-4o、Gemini 等云模型。
  • 完全自托管:数据、记忆、配置全部在你自己的机器上,隐私性极高。

主要特点

Moltbot(最新版)的主要特点:

  • 支持 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 的机器(如 NAS、服务器、PC)上以 Docker 方式安装。

因为 Moltbot 的权限很高,对运行的主机而言,存在文件误删等风险,所以建议用 docker 部署,可以把权限关在笼子里。虽然自主性可能会受限,需要手动确认某些操作,但好处是作为 NAS 用户,不用再单独去购买 Mac mini 或 VPS。

目前最推荐的方式是使用官方镜像配合 docker-compose 进行部署。

准备工作

  • 一台支持 Docker 的机器(NAS、服务器、PC)
  • Docker + Docker Compose 已安装
  • 建议提前准备好大模型的 API Key:Claude / MiniMax 等的 API Key(至少一个)

创建目录

通过 SSH 登录到您的服务器,执行下面的命令创建目录:

# 新建文件夹 moltbot 和子目录
mkdir -p /data/docker/moltbot/{config,data}
# 进入 moltbot 目录
cd /data/docker/moltbot
# 确保权限正确(node 用户 UID 1000)
chown -R 1000:1000 {config,data}

创建 docker-compose.yml

将以下内容保存为 docker-compose.yml 文件:

version: '3.8'
services:
  moltbot-gateway:
    image: ghcr.io/moltbot/moltbot:main
    container_name: moltbot-gateway
    restart: unless-stopped
    ports:
      - "18789:18789"
    volumes:
      - ./config:/home/node/.clawdbot
      - ./data:/home/node/clawd
    environment:
      - HTTP_PROXY=http://<proxy_ip>:<proxy_port>
      - HTTPS_PROXY=http://<proxy_ip>:<proxy_port>
      - NO_PROXY="localhost,127.0.0.1,::1"
    shm_size: 2g
    command: node /app/dist/index.js gateway --port 18789
  
  moltbot-cli:
    image: ghcr.io/moltbot/moltbot:main
    container_name: moltbot-cli
    network_mode: "service:moltbot-gateway"
    volumes:
      - ./config:/home/node/.clawdbot
      - ./data:/home/node/clawd
    entrypoint: ["node", "dist/index.js"]
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

# 运行设置
docker compose run --rm -it moltbot-cli onboard

交互向导出现后,按提示完成,会在 config 目录中生成 moltbot.json 设置文件。

第一步的 I understand this is powerful and inherently risky. Continue? 必须选择 Yes。

Onboarding mode 可以选择 QuickStart。

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

验证方式用了 OAuth。

稍等一会儿会出现一个链接,将其复制到浏览器中,用自己的账号登录。

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

接下来选择通信软件,填入对应的 Bot Token。

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

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

看到 Onboarding complete. 就设置完成了。

启动 gateway 服务

设置完成后,就可以启动 gateway 服务:

# 启动 gateway 服务
docker-compose up -d moltbot-gateway

使用

上一步的 onboarding 设置中,会看到 Dashboard 的地址。

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

反代

建议使用反向代理方案实现外网访问。

在反向代理中的设置如下:

域名局域网地址备注
<your_domain>http://<your_nas_ip>:18789moltbot 的访问地址

还需要将下面的代码填入到反向代理的 Advanced 中:

location /telegram-webhook {
  proxy_pass http://<your_nas_ip>:18789//telegram-webhook;
  proxy_method POST;
  proxy_set_header Content-Type $content_type;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header X-Real-IP $remote_addr;
  proxy_set_header Host $host;
}

修改 moltbot.json

现在访问 https://<your_domain>/?token=<your token>,如果显示需要配对 disconnected (1008): pairing required。

需要给 moltbot.json 增加写权限,否则修改不会生效。

需要给 moltbot.json 加一行 "trustedProxies": [<your_proxy_container_ip>, <your_host_ip>],也就是受信任的地址,需要考虑整个链路上的 IP,可能包括:

  • moltbot-gateway 的 IP
  • 反向代理容器的 IP
  • 家宽的公网 IP 等;

当然最好的办法还是查看 moltbot-gateway 容器的日志,看看哪个地址不受信任。

访问 Web 控制台(Control UI)

现在访问 https://<your_domain>/?token=<your token>。

显示需要配对。

回到 SSH 客户端列出设备:

# 列出当前已配对和待配对的设备
docker-compose run --rm moltbot-cli devices list

通过命令批准配对:

# 批准配对
docker-compose run --rm moltbot-cli devices approve <Request-ID>
# 实例
docker-compose run --rm moltbot-cli devices approve b332768e-cff3-437d-a1f8-262a51fcb0eb

如果觉得麻烦,可以修改 moltbot.json 改为自动批准,但不推荐。

{"gateway":{"deviceApproval":{"mode":"auto"}}}

现在就可以开始聊天了。

在 Telegram 中使用

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

最后发现还是网络问题,所以在 moltbot.json 中增加了代理服务地址设置:

"channels":{"telegram":{"enabled":true,"botToken":"你的 TG_BOT_TOKEN","dmPolicy":"pairing","groupPolicy":"allowlist","streamMode":"partial","network":{"autoSelectFamily":true},"proxy":"http://<proxy_ip>:<proxy_port>"}},

再次发送 /start,就获得了回应,得到了配对码。

回到 SSH 客户端批准配对:

# 批准配对
docker-compose run --rm moltbot-cli pairing approve telegram <code>

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

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

结语

Moltbot 是目前最接近「把大模型变成电脑遥控器」的开源项目之一。

Docker 部署方式让它门槛大幅降低,但真正发挥威力还需要你不断调教模型、渠道、工具权限。

希望这套流程能帮助你快速上手。祝你玩得开心,AI 助你事半功倍!

参考文档

moltbot/moltbot: Your own personal AI assistant. Any OS. Any Platform. The lobster way. 🦞
地址:https://github.com/moltbot/moltbot

Moltbot — Personal AI Assistant
地址:https://www.molt.bot/

Docker - Moltbot
地址:https://docs.molt.bot/install/docker

目录

  1. Docker 部署私人 AI 电脑助手 Moltbot
  2. 简介
  3. 主要特点
  4. 应用场景
  5. 安装
  6. 准备工作
  7. 创建目录
  8. 新建文件夹 moltbot 和子目录
  9. 进入 moltbot 目录
  10. 确保权限正确(node 用户 UID 1000)
  11. 创建 docker-compose.yml
  12. moltbot-gateway 容器参数说明
  13. moltbot-cli 容器参数说明
  14. 首次运行 onboarding
  15. 运行设置
  16. 启动 gateway 服务
  17. 启动 gateway 服务
  18. 使用
  19. 反代
  20. 修改 moltbot.json
  21. 访问 Web 控制台(Control UI)
  22. 列出当前已配对和待配对的设备
  23. 批准配对
  24. 实例
  25. 在 Telegram 中使用
  26. 批准配对
  27. 结语
  28. 参考文档

更多推荐文章

查看全部
  • Spring Boot Web 三大核心交互实战:表单、AJAX 与 JSON
  • 现代 C++ 新特性 constexpr:从 C++11 到 C++20 的演进
  • Python 异步编程与协程实战指南
  • Linux Shell 命令与语法底层执行逻辑
  • ComfyUI v0.18.0 发布:显存内存优化、VAE 架构进化、API 节点与前端升级
  • CMake 核心概念与实战:目标、属性、API 及静态库构建
  • 高空长航时无人机热管理系统中抗辐照 MCU 的可靠性研究
  • 统信 UOS V2500 服务器 OpenClaw AI Agent 安装部署指南
  • Unity VR 高分辨率全景视频播放性能优化
  • Git 原理与使用
  • ERNIE-4.5-0.3B 轻量模型部署指南与实战测评
  • OpenHarmony与华为云IoT智能家居开发指南
  • 使用 AI 视觉编程模型优化 Unity 编辑器插件:从功能实现到界面美化
  • Spring Boot 集成 Spring AI OpenAI Starter 教程
  • WebPShop 插件:Photoshop 支持 WebP 格式的解决方案
  • FP8 量化技术降低显存需求,实现 AI 绘画低配运行
  • 2025 年开源图生图模型盘点:Kandinsky 5.0、Qwen-Image 与 Z-Image
  • Linux 内核链表分析与实现原理
  • Linux 文件描述符与重定向实战:从原理到 minishell 实现
  • CNN 经典架构演进与 PyTorch 实战指南

相关免费在线工具

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Keycode 信息

    查找任何按下的键的javascript键代码、代码、位置和修饰符。 在线工具,Keycode 信息在线工具,online

  • Escape 与 Native 编解码

    JavaScript 字符串转义/反转义;Java 风格 \uXXXX(Native2Ascii)编码与解码。 在线工具,Escape 与 Native 编解码在线工具,online

  • JavaScript / HTML 格式化

    使用 Prettier 在浏览器内格式化 JavaScript 或 HTML 片段。 在线工具,JavaScript / HTML 格式化在线工具,online