NOTE // 23
🦞 Clawdbot 本地部署完整配置方案
🦞 Clawdbot 本地部署完整配置方案(macOS 专属优化版)
✅ 已验证流程|基于官方文档 + 实战经验|规避您之前遇到的所有坑
🔒 第一步:环境安全检查(5分钟)
# 1. 验证基础环境
node -v # 要求 ≥ v18.0.0(推荐 v20.x)
npm -v # 要求 ≥ 9.0.0
xcode-select -p # 应返回路径(若无则执行下一步)
# 2. 修复Xcode许可(关键!)
sudo xcodebuild -license accept
# 3. 修复npm权限(彻底解决EACCES)
mkdir -p ~/.npm-global
npm config set prefix '~/.npm-global'
echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.zshrc
source ~/.zshrc
📦 第二步:纯净安装 Clawdbot(官方唯一正确方式)
# 1. 创建专属工作目录(避免污染主目录)
mkdir -p ~/AI/clawdbot && cd ~/AI/clawdbot
# 2. 克隆官方仓库(认准clawdbot组织)
git clone https://github.com/clawdbot/clawdbot.git .
# 注意:末尾的 . 表示克隆到当前目录
# 3. 安装依赖(无sudo!无全局安装!)
npm install --no-fund --no-audit --loglevel=error
# 4. 验证安装成功
ls -la node_modules | head -5 # 应显示依赖列表
⚙️ 第三步:精准配置 .env 文件(核心!)
# 创建配置文件
cat > .env << 'EOF'
# ===== 必填项(三选一即可)=====
ANTHROPIC_API_KEY=sk-ant-xxx # Claude 3.5+ 推荐
# OPENAI_API_KEY=sk-proj-xxx # GPT-4o 备用
# GEMINI_API_KEY=AIzaSyxxx # Gemini 1.5 备用
# ===== 通讯软件配置(按需启用)=====
TELEGRAM_BOT_TOKEN=1234567890:AAxxx # Telegram机器人Token
# WHATSAPP_SESSION=xxx # WhatsApp需额外配置
# DISCORD_BOT_TOKEN=xxx # Discord机器人Token
# ===== 本地功能增强 =====
ENABLE_LOCAL_TOOLS=true # 允许执行Shell命令(谨慎开启!)
MAX_EXECUTION_TIME=30 # 单次任务最长执行秒数
MEMORY_RETENTION_DAYS=14 # 对话记忆保留天数
# ===== 安全防护(强烈建议)=====
ALLOWED_USER_IDS=123456789 # Telegram用户ID(逗号分隔)
SAFE_MODE=true # 沙箱模式:禁止危险命令(rm, sudo等)
EOF
💡 获取API Key指南:
- Claude: https://console.anthropic.com/settings/keys
- Telegram Bot: 与 @BotFather 对话创建
- 重要:
.env文件已加入.gitignore,绝不会被提交到GitHub
🚀 第四步:启动与验证
# 启动服务(推荐用screen保持后台运行)
screen -S clawdbot
npm start
# 验证成功标志(终端应出现):
# ✅ Clawdbot is running on http://localhost:3000
# ✅ Connected to Telegram (Bot: @YourBotName)
# ✅ Memory system initialized (14 days retention)
测试指令(在Telegram私聊您的Bot):
/claw status # 检查运行状态
/claw memory test # 测试记忆功能
/claw run "date" # 安全命令测试(需开启ENABLE_LOCAL_TOOLS)
🔐 安全加固(生产环境必备)
# 1. 限制本地工具权限(编辑 package.json)
# 在 "scripts" 中添加:
"start": "node --no-warnings --max-old-space-size=2048 src/index.js"
# 2. 创建防火墙规则(仅允许本地访问)
sudo pfctl -ef /dev/stdin <<EOF
block in proto tcp from any to any port 3000
pass in proto tcp from 127.0.0.1 to any port 3000
EOF
# 3. 定期清理日志(添加到crontab)
echo "0 3 * * * find ~/AI/clawdbot/logs -name '*.log' -mtime +7 -delete" | crontab -
📊 故障速查表
| 症状 | 解决方案 |
|---|---|
| Error: Cannot find module | rm -rf node_modules package-lock.json && npm install |
| Telegram连接失败 | 检查Bot Token是否包含空格/换行;重启BotFather生成新Token |
| 本地命令执行失败 | 检查SAFE_MODE设置;确认命令在白名单内(见src/tools/safeCommands.js) |
| 内存持续增长 | 在.env添加NODE_OPTIONS=--max-old-space-size=1024 |
💡 进阶技巧
- 技能扩展:访问 https://skills.clawd.bot 安装预置技能包
- Mac自动化联动:
# 示例:让Clawdbot控制Mac音量
echo 'claw_volume() { osascript -e "set Volume $1" }' >> ~/.zshrc
- 开机自启(LaunchAgent):
curl -s https://raw.githubusercontent.com/clawdbot/clawdbot/main/scripts/macos-launchd.plist > ~/Library/LaunchAgents/com.clawdbot.plist
launchctl load ~/Library/LaunchAgents/com.clawdbot.plist
✅ 完成! 您现在拥有:
- 一个完全私有、数据不出本地的AI代理
- 7×24小时待命的“数字员工”
- 可扩展的自动化工作流中枢
📚 官方资源直达
需要我针对特定场景(如日程管理/文件整理/邮件自动化)提供定制化技能配置吗?
关键代码命令
openclaw configure
openclaw daemon restart
/setprivacy
关键代码命令
curl -fsSL https://openclaw.ai/install.sh | bash
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
/bin/bash -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
curl -fsSL https://cdn.x-aio.com/X-AIO/Apps/OpenClaw/install.sh | bash
curl -fsSL https://openclaw.ai/install.sh | bash