亚马逊AWS官方博客

把 Moltbot 部署到云上:一个值得认真考虑的选择

Moltbot 是什么?为什么要部署到云上?

如果你还没听说过 Moltbot(之前叫 Clawdbot),简单介绍一下:这是 2026 年初最火的开源 AI 助手项目,GitHub 几周内冲到 3 万星。它不是普通的聊天机器人,而是能主动给你发消息、记住所有对话、帮你执行任务的 24/7 在线助理。连上 WhatsApp、Slack、飞书等工具,它就能在这些平台上跟你交互,处理邮件、管理日程、甚至控制智能家居。
原版 Moltbot 设计给开发者在本地运行——你的 Mac Mini 或 PC 上装好环境,配置 API 密钥,然后让它 24/7 跑着。但我们在实践中发现, 把 Moltbot 部署到云上,不只是”方便”,而是在安全性、灵活性、成本和能力上都有质的提升
本文会先解释云上部署的四大优势,然后提供两种部署方式: 手动部署(适合想深入理解每个组件的人)和 一键部署(适合想快速上手的人)。无论你选哪种,都能在一天内拥有自己的云上 AI 助手。

云上部署的四大优势

优势 1:安全性和稳定性的本质区别

本地部署 Moltbot,你需要在配置文件里写 大模型Provider 的 API 密钥。这个密钥就像你的银行卡密码,一旦泄露,别人能用你的账号随便调 API。而且本地电脑的安全防护通常比较薄弱——家庭网络、个人防火墙、可能还有其他软件在跑。
云上部署用 IAM 角色认证,完全不需要密钥。EC2 实例通过身份自动获取访问权限,就像你刷工牌进办公室,不需要带钥匙。即使有人拿到了实例的访问权限,也偷不走任何可以在别处使用的凭证。根据 亚马逊云科技 安全最佳实践文档,IAM 角色比长期凭证(API 密钥)安全得多,因为它们是临时的、自动轮换的。
CloudTrail 审计日志是另一个关键优势。每次 Moltbot 调用 Bedrock API,CloudTrail 都会记录:谁调的、什么时候、用了哪个模型、处理了什么请求。亚马逊云科技 官方文档强调,CloudTrail 提供”immutable and verifiable history of all API interactions”——不可篡改的审计追踪。这对金融、医疗等受监管行业至关重要。本地部署?没有这种级别的审计能力。
VPC Endpoints 让流量走私有网络。Moltbot 跟 Bedrock 的通信不经过公网,降低了中间人攻击的风险。配合 SSM Session Manager,管理员不需要开放任何公网端口就能安全访问实例。
可用性方面,云上实例运行在企业级数据中心,配备冗余电源和网络。根据 亚马逊云科技 SLA,单实例可用性 99.5%,多可用区部署可达 99.99%。本地 Mac Mini?断电、断网、死机都可能让你的 AI 助手离线。

优势 2:多模型生态带来的灵活性

本地部署可以通过 vLLM 等推理引擎拉起开源模型,但灵活性受限:
  • 显存占用:一个 70B 模型需要 140GB+ 显存,普通硬件只能跑小模型
  • 切换成本高:想换模型?要重新下载权重(几十 GB)、调整配置、重启服务
  • 运维负担:模型更新、显存优化、并发管理都要自己搞
Amazon Bedrock 提供统一的 API 接口,支持Claude、Nova、DeepSeek、Minimax、Kimi 等多个模型家族。根据亚马逊云科技官方博客,Bedrock 的核心优势之一就是”seamless model switching”——无缝切换模型。你只需要改一个参数
# 用 Nova Pro(强推理能力,高性价比)
ClawdbotModel: "global.amazon.nova-pro-v1:0"
# 切换到 Nova Lite(成本最低,适合简单任务)
ClawdbotModel: "global.amazon.nova-lite-v1:0"

场景模拟:某电商客户的 Moltbot 使用混合策略——简单的 FAQ 用 Nova 2 Lite($0.06/百万 tokens),复杂的客诉分析用 Nova 2 Pro($0.80/百万 tokens)。通过这种智能路由,AI 成本降低了 80%,同时保持高质量响应。

Global Cross-Region Inference (CRIS) 是另一个强大特性。使用 global. 前缀的模型 ID,请求会自动路由到全球最优区域处理。这意味着:
  • 某区域容量不足时自动切换到其他区域(零停机)
  • 请求分散到多个区域,避免排队(更高吞吐)
  • 新模型上线即可使用(持续创新)
这种敏捷性在快速迭代的 AI 时代很重要。新的SOTA模型发布了?云上改个参数就能用。本地?等社区适配,可能要几周。

优势 3:按需的计算和存储能力

本地 Moltbot 的能力受限于硬件。Mac Mini 8GB 内存,能同时处理 3-5 个对话。想让 Moltbot 记住更多上下文?想同时服务 10 个人?想处理大文件?硬件不够,要么卡死,要么买新设备($599-999)。
云上部署提供弹性选择
  • t4g.small(Graviton,2GB 内存,$12/月):个人使用,处理邮件和日程
  • t4g.medium(Graviton,4GB 内存,$24/月):小团队,多渠道并发
  • c7g.xlarge(Graviton3,8GB 内存,$108/月):大团队,AI 密集任务
关键是可以动态切换。平时用 t4g.small 省钱,需要时升级到 c7g.xlarge,用完再降回来。按小时计费,用多少付多少。
场景模拟:某创业公司平时用 t4g.small($12/月),促销期间升到 c7g.xlarge($108/月)处理客户咨询高峰。促销 3 天,多花 $10,但处理能力提升 10 倍,避免了客户流失。
存储也灵活。对话历史放 S3($0.023/GB/月),需要快速访问的数据放 EBS。本地硬盘满了就得删数据,云上可以无限扩展。

优势 4:云弹性赋能大型任务编排

本地 Moltbot 只能在你的电脑上干活,受限于单机性能。但云上的 Moltbot 可以调度云资源。
场景:批量视频处理
用户发指令:”给 100 个视频加字幕和转码。”
本地 Moltbot:一个一个处理,Mac Mini 跑一整天,还可能过热死机。
云上 Moltbot:
  1. 自动启动 100 个 Spot 实例($0.01/小时)
  2. 并行处理,20 分钟完成
  3. 结果上传 S3,生成下载链接
  4. 释放所有实例
成本 $3.3,耗时 20 分钟。本地需要 8+ 小时。
场景:数据分析工作流
某咨询公司的 Moltbot 接收数据后:
  1. 启动 亚马逊云科技 Glue 清洗数据
  2. 调用 SageMaker 运行预测模型
  3. 用 Bedrock 生成分析报告
  4. 结果存 S3,发邮件通知
这种”按需编排云资源”的能力,让 Moltbot 从助手升级为 自动化平台。资源用时拉起,用完释放,成本与价值精确匹配。

成本对比:云上真的更便宜

很多人觉得云贵。我们算笔账:
本地部署(Mac Mini M2)
  • 硬件:$599(一次性)
  • 电费:根据 Reddit 用户实测,Mac Mini M2 平均功耗 8-20W,24/7 运行年耗电约 70-175 kWh,按 $0.12/kWh 计算,约 $8-21/月
  • Anthropic API:$20-50/月
  • 首年总计:$695-$911
云上部署(亚马逊云科技)
  • EC2 (t4g.medium, Graviton):$24/月
  • 存储和网络:$10/月
  • Bedrock 使用:$10-30/月(多模型优化)
  • 首年总计:$528-648
云上成本相当或更低,而且:
  • 无需硬件投资和折旧
  • 可以随时扩缩容
  • 多模型选择优化成本
  • 企业级安全和审计
对团队来说更划算。一个云上 Moltbot 实例($44/月)可以服务 10 人,人均 $4.4/月。10 个人各订 ChatGPT Plus?$200/月。

两种部署方式:手动 vs 一键

我们提供两种部署方式,适合不同需求:
手动部署:如果你想完全理解每个组件(IAM、EC2、Bedrock 集成),手动部署是最好的学习方式。
一键部署:如果你想快速上手,CloudFormation 模板可以在 8 分钟内自动完成所有配置。

手动部署:深入理解每一步

前提条件

在开始之前,请确保您已具备以下条件:
  • 一个 亚马逊云科技 账户
  • 在您的机器上安装 Node.js v24 或更高版本
  • 已在 Amazon Bedrock 控制台中启用 Nova 模型访问权限

步骤 1:创建 IAM 角色

  1. 在 亚马逊云科技 控制台中导航至 IAM
  2. 从左侧导航栏选择 Roles(角色)
  3. 选择 Create role(创建角色)Trusted entity type 选择AWS service,Use case选择EC2,然后点击 Next(下一步)
  4. Permissions policies(权限策略)下,选择 AmazonBedrockFullAccess
  5. Role name填写MoltBot,其他保持默认配置,点击 Create role(创建用户)
安全最佳实践: 在生产环境中,建议使用最小权限原则,创建自定义策略仅授予所需的 Bedrock 操作权限,而非使用 FullAccess 策略。

步骤 2:安装并配置 Moltbot (Clawdbot)

  1. 在 亚马逊云科技 控制台中导航至 EC2
  2. 从左侧导航栏选择 Instances(实例)
  3. 选择 Launch instances(创建实例)并选择:
    1. Application and OS Images:Ubuntu Server 24.04 LTS
    2. Instance type: t3.medium (您也可以选择苹果实例:mac2.metal)
    3. Key pair (login):选择您的用于SSH的key pair,若无则点击Create new key pair创建
    4. Network Settings:保持默认即可,但确保Auto-assign public IP是Enable的
    5. Configure storage:按需配置硬盘大小,建议至少20G
    6. 点击Launch instance
待实例创建完毕后进行Running状态后,选中你刚创建的EC2实例,点击Actions > Security > Modify IAM role, 将刚创建好的IAM Role赋予到EC2实例中,然后实例会进行Initializating状态,等待他重新进行Running状态后继续下一步:
通过SSH登陆刚创建好的EC2 instances, -i “xxx.pem”请修改成您创建的keypair的pem文件的绝对路径,您也可以通过VS Code的SSH功能登陆到EC2,方便后续的配置文件编辑。
ssh -i "xxxx.pem" ubuntu@ec2-44-198-55-114.compute-1.amazonaws.com
验证是否已安装 Node.js:
node --version
若参考下列命令进行安装:
# Download and install nvm:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash

# in lieu of restarting the shell
\. "$HOME/.nvm/nvm.sh"

# Download and install Node.js:
nvm install 24

# Verify the Node.js version:
node -v # Should print "v24.13.0".

# Verify npm version:
npm -v # Should print "11.6.2".
安装 Moltbot (Clawdbot):
npm install -g clawdbot@latest
重要提示: 截至 2026 年 1 月 27 日,npm 包名仍为 clawdbot,因此在 npm 包名更新为 moltbot 之前,请使用 clawdbot 执行所有命令。
验证安装:
clawdbot --version
运行配置向导:
clawdbot onboard --install-daemon
在配置向导中:
  1. 接受安全提示,选择Yes
  2. 选择 Manual onboarding mode(手动配置模式)
  3. 选择 Local gateway (this machine)(本地网关(本机))
  4. 设置您的工作区目录, 您也可以保持默认的 /home/ubuntu/clawd直接到下一步
  5. Model/auth provider: Skip for now
  6. Filter models by provider:选择 amazon-bedrock
  7. Default model:选择 global.amazon.nova-2-lite-v1:0
  8. 接受 Gateway port和Gateway bind的默认配置(端口 18789,回环地址127.0.0.1)
  9. Gateway auth 选择token, Gateway token记得输入你的自定义的token字符串(也就是密码),在webUI的URL上会需要用到
  10. 完成剩下的配置,其中记住chat channels,skills,hooks都选 Skip或者 No
  11. How do you want to hatch your bot? 选择 Do this later

步骤 3:配置 亚马逊云科技 凭证

Moltbot (Clawdbot) 从 ~/.clawdbot/.env 读取环境变量。使用以下选项 A 或选项 B 创建此文件并配置您的 亚马逊云科技 凭证:

选项 A:使用IAM角色(推荐用于生产)

因为EC2已配置好了IAM Role,Moltbot (Clawdbot) 会通过AWS SDK 会自动使用实例角色的临时凭证,所以你无需任何进行操作。

选项 B:使用 亚马逊云科技 访问密钥(操作简单,只推荐用于测试用途)

  1. 在IAM创建一个用户
  2. 在用户下面创建一个AK,SK
  3. 根据AKSK配置下来env文件
cat > ~/.clawdbot/.env << 'EOF'
AWS_ACCESS_KEY_ID=your-access-key-id-here
AWS_SECRET_ACCESS_KEY=your-secret-access-key-here
AWS_REGION=us-east-1
EOF
your-access-key-id-hereyour-secret-access-key-here 替换为您实际的 亚马逊云科技 凭证。
安全提示: 只供测试使用,非安全选项。

步骤 4:在 clawdbot.json 中添加 Nova 2 Lite

执行 nano ~/.clawdbot/clawdbot.json 并添加 models 部分:
{
  "models": {
    "providers": {
      "amazon-bedrock": {
        "baseUrl": "https://bedrock-runtime.us-east-1.amazonaws.com",
        "api": "bedrock-converse-stream",
        "auth": "aws-sdk",
        "models": [
          {
            "id": "us.amazon.nova-2-lite-v1:0",
            "name": "Amazon Nova 2 Lite (US Inference Profile)",
            "reasoning": false,
            "input": ["text", "image"],
            "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 },
            "contextWindow": 300000,
            "maxTokens": 8192
          }
        ]
      }
    }
  }
}
重要提示: 请将此内容合并到您现有的 clawdbot.json 中,不要替换整个文件。合并后的文件应类似于以下示例:
{
  "messages": {
    "ackReactionScope": "group-mentions"
  },
  "models": {
    "providers": {
      "amazon-bedrock": {
        "baseUrl": "https://bedrock-runtime.us-east-1.amazonaws.com",
        "api": "bedrock-converse-stream",
        "auth": "aws-sdk",
        "models": [
          {
            "id": "us.amazon.nova-2-lite-v1:0",
            "name": "Amazon Nova 2 Lite (US Inference Profile)",
            "reasoning": false,
            "input": ["text", "image"],
            "cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 },
            "contextWindow": 300000,
            "maxTokens": 8192
          }
        ]
      }
    }
  },
  "agents": {
    "defaults": {
      "maxConcurrent": 4,
      "subagents": {
        "maxConcurrent": 8
      },
      "compaction": {
        "mode": "safeguard"
      },
      "workspace": "/Users/yungjunyong/clawd",
      "model": {
        "primary": "amazon-bedrock/us.amazon.nova-2-lite-v1:0"
      },
      "models": {
        "amazon-bedrock/us.amazon.nova-2-lite-v1:0": {}
      }
    }
  },
  "gateway": {
    "mode": "local",
    "auth": {
      "mode": "token",
      "token": "undefined"
    },
    "port": 18789,
    "bind": "loopback",
    "tailscale": {
      "mode": "off",
      "resetOnExit": false
    }
  },
  "wizard": {
    "lastRunAt": "2026-01-27T18:09:07.983Z",
    "lastRunVersion": "2026.1.24-3",
    "lastRunCommand": "onboard",
    "lastRunMode": "local"
  },
  "meta": {
    "lastTouchedVersion": "2026.1.24-3",
    "lastTouchedAt": "2026-01-27T18:09:07.992Z"
  }
}

步骤 5:重启网关

clawdbot daemon restart

步骤 6:验证设置

检查模型是否可用并已通过认证:
clawdbot models list
您应该看到类似以下的输出:
Model                                      Input      Ctx      Local Auth  Tags
amazon-bedrock/us.amazon.nova-2-lite-v1:0     text+image 31k      no    yes   default,configured
Auth: yes 列确认您的 亚马逊云科技 凭证已正常工作。
查看所有可用的 Bedrock 模型:
clawdbot models list --all

步骤 7:开始使用 Moltbot

启动终端用户界面:
clawdbot tui

打开VS code用SSH连接到EC2实例,或者可以进行port转发的工具,将EC2上的port 18789转发到本地:

浏览器打开 http://localhost:18789/?token=<在前面设置好的gateway token>,即可开始交互和配置

步骤 8:打通即时通讯软件(Slack)

Slack (配置示例)

Slack 连接设置

重点来了。 在做一个Slack机器人的连接需要两种不同的Token:
  • Bot Token(xoxb-…)
  • App Token(xapp-…)
在 onboard 设置时会依次询问,请务必记得保存这两个令牌。

创建 Slack App

  1. 选择「Create New App」→「From scratch」
  2. 输入 App 名称并选择你需要创建moltbot的Workspace,然后创建

获取 App Token(xapp-…)

  1. 进入「Basic Information」→「App-Level Tokens」部分
  2. 点击「Generate Token and Scopes」
  3. 输入 Token 名称(例如:Clawdbot_Token)
  4. 在 Scope 中添加 connections:write
  5. 点击「Generate」
  6. 复制显示的 xapp-... 令牌

启用 Socket Mode

  1. 从左侧菜单选择「Socket Mode」
  2. 将开关设为 ON

设置 Bot Token Scopes

  1. 选择「OAuth & Permissions」
  2. 在「Bot Token Scopes」中添加以下权限:
chat:write
channels:history
channels:read
groups:history
groups:read
im:history
im:read
im:write
mpim:history
mpim:read
users:read
app_mentions:read

安装到工作区

  1. 把Scope配置好后,在「OAuth & Permissions」页面顶部点击「Install to Workspace」
  2. 确认权限后点击「允许」
  3. 复制显示的「Bot User OAuth Token」(xoxb-…)
完成以上步骤后,你就能获得 appToken 和 botToken 了。 分别复制它们并粘贴到终端中。

groupPolicy 设置

如果只想在特定频道使用,可以将 groupPolicy 设为 allowlist,然后复制粘贴要使用的 Slack 频道。 如果没有特别限制,或者希望在任何地方都能使用,设为 all 即可。

Event Subscriptions 设置

  1. 选择「Event Subscriptions」
  2. 将开关设为 ON
  3. 在「Subscribe to bot events」中添加以下事件:
message.channels
message.groups
message.im
message.mpim
app_mention

App Home 设置

如果不仅想在频道中使用,还想通过 DM (1:1 私信) 与应用对话,也需要设置这一项。
  1. 选择「App Home」
  2. 将「Messages Tab」设为 ON
  3. 勾选「Allow users to send Slash commands and messages from the messages tab」
如果忘记这一步,会显示「向此应用发送消息的功能已关闭」,请务必注意。 如果不需要 DM 功能,可以跳过。

配置 Moltbot

浏览器打开http://localhost:18789/?token=<在前面设置好的gateway token>,Settings > Config > Channel, 选择Raw配置模式,在json配置文件里插入下列配置,点击Save,然后Reload
"channels": {
  "slack": {
    "mode": "socket",
    "webhookPath": "/slack/events",
    "enabled": true,
    "botToken": "xoxb-......",
    "appToken": "xapp-......",
    "userTokenReadOnly": true,
    "groupPolicy": "allowlist",
    "channels": {
      "clawdbot": {
        "allow": true
      }
    }
  }
}
用命令行检查status, 若出现下列输出,则已成功
clawdbot status
Channels
┌──────────┬─────────┬────────┬─────────────────────────────────┐
│ Channel  │ Enabled │ State  │ Detail                          │
├──────────┼─────────┼────────┼─────────────────────────────────┤
│ Slack    │ ON      │ OK     │ tokens ok (bot config, app ...  │
└──────────┴─────────┴────────┴─────────────────────────────────┘

Slack配对

打开Slack,搜索你机器人的名字,进行Direct Message,第一次对话,Bot会要求用Pairing Code和Moltbot进行配对,拿到code在Moltbot的EC2上运行命令进行配对
看到下列输出证明你已配对成功
 

ubuntu@ip-172-31-xx-xxx:~$ clawdbot pairing approve slack xxxxx

🦞 Clawdbot 2026.1.24-3 (885167d)
   Hot reload for config, cold sweat for deploys.

Approved slack sender xxxxx.
打开手机Slack,就可以喝着咖啡享受你的超级助理帮你7×24小时干活了:

灵活切换模型

Amazon Bedrock 的核心优势之一是模型的灵活选择。您可以根据任务需求随时切换不同的模型:
切换到Minimax M2:
clawdbot config set agents.defaults.model.primary "amazon-bedrock/global.minimax.minimax-m2"

一键部署:CloudFormation 自动化

如果你看完手动步骤觉得上手难度大,或者只是想快速试试效果,我们提供了 CloudFormation 模板。

部署步骤

选择你的区域,点击对应的”Launch Stack”按钮
区域 部署
美国西部(俄勒冈) Launch Stack
美国东部(弗吉尼亚) Launch Stack
欧洲(爱尔兰) Launch Stack
亚太(东京) Launch Stack
  1. 选择一个 EC2 密钥对(没有就创建一个)
  2. 其他参数保持默认
  3. 勾选”I acknowledge that AWS CloudFormation might create IAM resources”
  4. 点”Create Stack”
  5. 等 8 分钟
就这样。CloudFormation 会自动创建 VPC、配置安全组、启动 EC2、安装 Moltbot、生成访问 token。

部署完成后

在 CloudFormation 控制台的”Outputs”标签,你会看到三个步骤:
  1. 安装 SSM Session Manager Plugin(一次性,5 分钟)
  2. 运行端口转发命令(复制粘贴到终端)
  3. 打开访问 URL(带 token,直接可用)
就能开始使用了。

一键部署的真正价值

很多人觉得一键部署就是”快速省事”。但更重要的价值是 基于最佳实践的可重复性和标准化
手动部署,每次可能出错。忘了配环境变量?安全组规则写错?Moltbot 就跑不起来。而且每个人部署的环境都不一样,出问题很难排查。
CloudFormation 模板是基础设施即代码。每次部署完全一致,配置都经过验证。你可以 fork 模板,加上定制逻辑(比如连接内部数据库、集成企业 SSO),然后在多个账户、多个区域批量部署。所有实例配置一致,管理轻松。
某企业客户 fork 了我们的模板,加了内部合规检查和监控告警,然后在全球 8 个区域部署。每个区域的 Moltbot 配置完全一致,出问题时排查效率高。

总结:为什么选择云上部署

Moltbot 是个优秀的开源项目,但它的潜力在云上才能完全发挥。
本地部署适合:
  • 对数据隐私有极端要求(完全不能出本地)
  • 只是个人轻度使用
  • 享受折腾的过程
云上部署适合:
  • 需要 24/7 稳定运行
  • 团队协作或企业应用
  • 需要弹性扩展和成本优化
  • 需要企业级安全和合规
  • 需要处理大型任务或工作流编排
如果你是后者,云上部署是更好的选择。安全性、灵活性、弹性、成本——每个维度都有明显优势。

立即开始

我们已将部署方案开源到亚马逊云科技官方示例仓库:
两种方式任选
  • 手动部署:跟着文档一步步来,深入理解每个组件
  • 一键部署:点”Launch Stack”按钮,8 分钟后开始使用
仓库包含:
  • 完整的 CloudFormation 模板
  • 详细的部署文档(中英文)
  • 故障排查指南
  • 成本优化建议
无论你是开发者、创业者还是企业架构师,都可以从这个模板开始。Fork 代码,调整配置,添加你的业务逻辑——从原型到生产,一天就够了。
AI 助手的时代已经来了。Moltbot 提供了能力,亚马逊云科技提供了基础设施,而你——构建者——拥有将两者结合的机会。不要等了,现在就开始。
 

资源链接

*前述特定亚马逊云科技生成式人工智能相关的服务目前在亚马逊云科技海外区域可用。亚马逊云科技中国区域相关云服务由西云数据和光环新网运营,具体信息以中国区域官网为准。

本篇作者

吴迦德

吴迦德,AWS合作伙伴方案架构师经理,在企业数据分析和机器学习领域拥有丰富经验。

黄俊杰

亚马逊云科技解决方案架构师,负责面向跨国企业客户的云计算方案架构咨询和设计,客户涵盖医疗、零售、咨询等行业。擅长混合云网络设计、DevOps 以及新技术钻研,对 GenAI、Web3 领域有着浓厚兴趣。

AWS 架构师中心: 云端创新的引领者

探索 AWS 架构师中心,获取经实战验证的最佳实践与架构指南,助您高效构建安全、可靠的云上应用