Files
compose-anything/apps/moltbot/README.zh.md

215 lines
6.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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 节点
- **技能平台**:内置、托管和工作区技能,支持安装门控
## 快速开始
1. 复制示例环境文件:
```bash
cp .env.example .env
```
2. 生成安全的网关令牌:
```bash
# 使用 OpenSSL
openssl rand -hex 32
# 或使用 Python
python3 -c "import secrets; print(secrets.token_hex(32))"
```
3. 编辑 `.env` 文件,至少设置:
- `MOLTBOT_GATEWAY_TOKEN` - 你生成的令牌
- `ANTHROPIC_API_KEY` 或 `OPENAI_API_KEY` - 如果使用 API 密钥认证
4. 启动网关:
```bash
docker compose up -d
```
5. 访问控制界面:
- 在浏览器中打开 <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 认证。
### 频道集成
连接消息平台:
1. **WhatsApp**:使用 CLI 链接设备
```bash
docker compose run --rm moltbot-cli channels login
```
2. **Telegram**:在配置中设置 `TELEGRAM_BOT_TOKEN`
3. **Discord**:在配置中设置 `DISCORD_BOT_TOKEN`
4. **Slack**:在配置中设置 `SLACK_BOT_TOKEN` 和 `SLACK_APP_TOKEN`
详细设置说明请参阅[官方文档](https://docs.molt.bot/channels)。
## 使用命令行界面
CLI 服务可通过 `cli` 配置文件使用:
```bash
# 运行入门向导
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
```
## 安全注意事项
1. **网关令牌**:保护好你的网关令牌。这是控制界面和 WebSocket 连接的认证方式。
2. **私信访问**默认情况下MoltBot 对来自未知发送者的私信使用配对模式。他们会收到一个配对码,你必须批准。
3. **网络暴露**:如果在 localhost 之外暴露网关,请使用适当的认证和加密:
- 设置 Tailscale 进行安全的远程访问
- 使用 SSH 隧道
- 实现带 HTTPS 和认证的反向代理
4. **API 密钥**:永远不要将 API 密钥提交到版本控制。使用 `.env` 文件或密钥管理。
5. **沙箱模式**:为了群组/频道安全,启用沙箱模式以在 Docker 容器中运行非主会话。
## 高级配置
### 资源限制
在 `.env` 文件中调整 CPU 和内存限制:
```env
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
备份数据:
```bash
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`(容器内)创建自定义配置文件:
```json
{
"agents": {
"defaults": {
"model": {
"primary": "anthropic/claude-opus-4-5",
"fallbacks": ["anthropic/claude-sonnet-4-5", "openai/gpt-4o"]
}
}
}
}
```
## 故障排除
### 网关无法启动
1. 检查日志:`docker compose logs moltbot-gateway`
2. 验证网关令牌是否在 `.env` 中设置
3. 确保端口 18789 未被占用
### 无法访问控制界面
1. 验证网关绑定设置是否与你的访问方式匹配
2. 如果从另一台机器访问,检查防火墙规则
3. 确保容器健康:`docker compose ps`
### 模型 API 错误
1. 验证 API 密钥是否在 `.env` 中正确设置
2. 检查 API 密钥有效性和配额
3. 查看日志中的具体错误消息
### 运行诊断命令
诊断命令可帮助诊断常见问题:
```bash
docker compose run --rm moltbot-cli doctor
```
## 文档
- [官方网站](https://molt.bot)
- [完整文档](https://docs.molt.bot)
- [入门指南](https://docs.molt.bot/start/getting-started)
- [配置参考](https://docs.molt.bot/gateway/configuration)
- [安全指南](https://docs.molt.bot/gateway/security)
- [Docker 安装](https://docs.molt.bot/install/docker)
- [GitHub 仓库](https://github.com/moltbot/moltbot)
## 许可证
MoltBot 使用 MIT 许可证发布。详情请参阅 [LICENSE](https://github.com/moltbot/moltbot/blob/main/LICENSE) 文件。
## 社区
- [Discord](https://discord.gg/clawd)
- [GitHub 讨论](https://github.com/moltbot/moltbot/discussions)
- [问题跟踪](https://github.com/moltbot/moltbot/issues)