6.1 KiB
MoltBot
MoltBot 是一个运行在你自己设备上的个人 AI 助手。它集成了多个消息平台(WhatsApp、Telegram、Slack、Discord、Google Chat、Signal、iMessage、Microsoft Teams、WebChat),并在所有频道上提供 AI 驱动的帮助。
功能特性
- 多频道支持:WhatsApp、Telegram、Slack、Discord、Google Chat、Signal、iMessage、BlueBubbles、Microsoft Teams、Matrix、Zalo、WebChat
- 本地优先网关:会话、频道、工具和事件的统一控制平面
- 多代理路由:将入站频道路由到具有独立会话的隔离代理
- 语音唤醒 + 对话模式:macOS/iOS/Android 上的永久在线语音支持(使用 ElevenLabs)
- 实时画布:由代理驱动的可视化工作空间,支持 A2UI
- 一流工具:浏览器、画布、节点、定时任务、会话和特定频道的操作
- 配套应用:macOS 菜单栏应用 + iOS/Android 节点
- 技能平台:内置、托管和工作区技能,支持安装门控
快速开始
-
复制示例环境文件:
cp .env.example .env -
生成安全的网关令牌:
# 使用 OpenSSL openssl rand -hex 32 # 或使用 Python python3 -c "import secrets; print(secrets.token_hex(32))" -
编辑
.env文件,至少设置:MOLTBOT_GATEWAY_TOKEN- 你生成的令牌ANTHROPIC_API_KEY或OPENAI_API_KEY- 如果使用 API 密钥认证
-
启动网关:
docker compose up -d -
访问控制界面:
- 在浏览器中打开 http://localhost:18789
- 在提示时输入你的网关令牌
配置
网关访问
网关可以通过两种方式访问:
- 回环地址(
MOLTBOT_GATEWAY_BIND=loopback):仅从主机访问(127.0.0.1) - 局域网(
MOLTBOT_GATEWAY_BIND=lan):从本地网络访问(0.0.0.0)
对于生产部署,建议:
- 使用 Tailscale Serve/Funnel 进行安全的远程访问
- 设置 SSH 隧道
- 实现带认证的反向代理
模型配置
MoltBot 支持多个 AI 模型提供商:
- Anthropic Claude(推荐):Claude Pro/Max,支持 OAuth 或 API 密钥
- OpenAI:ChatGPT/Codex,支持 OAuth 或 API 密钥
- 自定义提供商:通过控制界面或配置文件进行配置
在 .env 文件中设置 API 密钥,或通过入门向导使用 OAuth 认证。
频道集成
连接消息平台:
-
WhatsApp:使用 CLI 链接设备
docker compose run --rm moltbot-cli channels login -
Telegram:在配置中设置
TELEGRAM_BOT_TOKEN -
Discord:在配置中设置
DISCORD_BOT_TOKEN -
Slack:在配置中设置
SLACK_BOT_TOKEN和SLACK_APP_TOKEN
详细设置说明请参阅官方文档。
使用命令行界面
CLI 服务可通过 cli 配置文件使用:
# 运行入门向导
docker compose run --rm --service-ports moltbot-cli onboard
# 列出提供商
docker compose run --rm moltbot-cli providers list
# 发送消息
docker compose run --rm moltbot-cli message send --to +1234567890 --message "你好"
# 检查健康状态
docker compose run --rm moltbot-cli health --port 18789
安全注意事项
-
网关令牌:保护好你的网关令牌。这是控制界面和 WebSocket 连接的认证方式。
-
私信访问:默认情况下,MoltBot 对来自未知发送者的私信使用配对模式。他们会收到一个配对码,你必须批准。
-
网络暴露:如果在 localhost 之外暴露网关,请使用适当的认证和加密:
- 设置 Tailscale 进行安全的远程访问
- 使用 SSH 隧道
- 实现带 HTTPS 和认证的反向代理
-
API 密钥:永远不要将 API 密钥提交到版本控制。使用
.env文件或密钥管理。 -
沙箱模式:为了群组/频道安全,启用沙箱模式以在 Docker 容器中运行非主会话。
高级配置
资源限制
在 .env 文件中调整 CPU 和内存限制:
MOLTBOT_CPU_LIMIT=2.0
MOLTBOT_MEMORY_LIMIT=2G
MOLTBOT_CPU_RESERVATION=1.0
MOLTBOT_MEMORY_RESERVATION=1G
持久化数据
数据存储在两个 Docker 卷中:
moltbot_config:配置文件和凭据(~/.clawdbot)moltbot_workspace:代理工作区和技能(~/clawd)
备份数据:
docker run --rm -v moltbot_config:/data -v $(pwd):/backup alpine tar czf /backup/moltbot-config-backup.tar.gz /data
docker run --rm -v moltbot_workspace:/data -v $(pwd):/backup alpine tar czf /backup/moltbot-workspace-backup.tar.gz /data
自定义配置文件
在 ~/.clawdbot/moltbot.json(容器内)创建自定义配置文件:
{
"agents": {
"defaults": {
"model": {
"primary": "anthropic/claude-opus-4-5",
"fallbacks": ["anthropic/claude-sonnet-4-5", "openai/gpt-4o"]
}
}
}
}
故障排除
网关无法启动
- 检查日志:
docker compose logs moltbot-gateway - 验证网关令牌是否在
.env中设置 - 确保端口 18789 未被占用
无法访问控制界面
- 验证网关绑定设置是否与你的访问方式匹配
- 如果从另一台机器访问,检查防火墙规则
- 确保容器健康:
docker compose ps
模型 API 错误
- 验证 API 密钥是否在
.env中正确设置 - 检查 API 密钥有效性和配额
- 查看日志中的具体错误消息
运行诊断命令
诊断命令可帮助诊断常见问题:
docker compose run --rm moltbot-cli doctor
文档
许可证
MoltBot 使用 MIT 许可证发布。详情请参阅 LICENSE 文件。