跳到主要内容
OpenClaw 新手指南:从零开始的 AI 机器人搭建完全攻略 | 极客日志
Python
OpenClaw 新手指南:从零开始的 AI 机器人搭建完全攻略 OpenClaw 新手指南:从零开始的 AI 机器人搭建完全攻略 > 想随时随地通过微信、飞书、Telegram 等平台与 AI 助手对话?OpenClaw 帮你实现。 为什么选择 OpenClaw? OpenClaw 是一个开源的自托管 AI 网关,让你可以在自己服务器上运行一个 central hub,连接所有聊天平台到强大的 AI 模型(如 Claude、GPT、Pi、Kimi 等)。 **…
开源信徒 发布于 2026/4/6 更新于 2026/5/20 79K 浏览OpenClaw 新手指南:从零开始的 AI 机器人搭建完全攻略
想随时随地通过微信、飞书、Telegram 等平台与 AI 助手对话?OpenClaw 帮你实现。
为什么选择 OpenClaw?
OpenClaw 是一个开源的自托管 AI 网关,让你可以在自己服务器上运行一个 central hub,连接所有聊天平台到强大的 AI 模型(如 Claude、GPT、Pi、Kimi 等)。
核心优势:
✅ 数据完全掌控(自托管,隐私安全)
✅ 多平台统一管理(一个网关服务所有渠道)
✅ 无代码扩展(通过技能系统)
✅ 24/7 可用(开机自启动)
✅ 日志和记忆(支持长期对话)
10个核心技巧详解
技巧 1:快速安装与配置
适用场景: 第一次使用,5分钟内启动
# 1 . 安装 Node.js 22 + nvm install22 nvm use 22 # 2 . 快速安装npminstall -g openclaw # 3 . 启动向导(首次运行) openclaw onboard
向导会问:
你想使用哪个渠道?(WhatsApp、Telegram、Discord、飞书等)
你想用哪个 AI 模型?(Claude、GPT、Kimi 等)
是否需要开机自启?
5分钟后,你的第一个 AI 机器人就上线了。
技巧 2:多渠道管理
适用场景: 同时运营多个社群
配置示例 ~/.openclaw/openclaw.json:
{ "channels" : { "telegram" : { "accounts" : { "default" : { "token" : "YOUR_TELEGRAM_BOT_TOKEN" } , "alerts" :
{
"token"
:
"YOUR_ALERT_BOT_TOKEN"
,
"name"
:
"Alert Bot"
}
}
}
,
"discord"
:
{
"accounts"
:
{
"work"
:
{
"token"
:
"YOUR_DISCORD_BOT_TOKEN"
}
}
}
,
"feishu"
:
{
"accounts"
:
{
"default"
:
{
"app_id"
:
"cli_xxxxx"
,
"app_secret"
:
"xxxxx"
,
"encrypt_key"
:
"xxxxx"
,
"verification_token"
:
"xxxxx"
}
}
}
}
}
一个机器人可以服务多个群组
可以设置不同的机器人账户(如:工作机器人 vs 生活机器人)
使用 channels list 命令查看所有已配置渠道
技巧 3:自动化任务(Cron Jobs) # 1. 添加早晨提醒任务 openclaw cronadd\ --name "晨间提醒" \ --cron "0 9 * * *" \ --system-event "早安!今天有哪些重要任务?" # 2. 添加每周总结任务 openclaw cronadd\ --name "每周总结" \ --cron "0 17 * * 5" \ --agent-turn "汇总本周任务完成情况,生成报告"
--at 1735689600:绝对时间(Unix 时间戳)
--every 1h:每小时执行一次
--deliver:通知到指定渠道
技巧 4:长期记忆管理 ~/.openclaw/workspace / ├── MEMORY.md # 长期记忆 └── memory/ ├── 2026 -02 -17 .md
# 用户信息 **姓名:** 小纯 **时区:** GMT+8 **联系方式:** 飞书 ### 偏好 - 喜欢详细的说明和可视化例子 - 注重美学和流畅的动画 - 偏好科技/科幻风格
价值: AI 能根据记忆了解用户,提供更个性化的回复。
技巧 5:自动化脚本集成 # 在对话中直接命令 AI: 你:帮我监控这个网站的价格变化,如果低于 100 元通知我 AI:我来设置监控脚本... # AI 会创建这样的脚本:# ~workspace/price-monitor.shcd ~workspace &&cat> price-monitor.sh <<'EOF' #!/bin/bash PRICE=$(curl -s https://example.com/product | grep -oP 'price: \K[0-9]+' ) if [ $PRICE -lt 100 ]; then openclaw message send \ --channel feishu \ --message "价格已降至 $PRICE!" fi EOFchmod +x price-monitor.sh # 然后添加到 Cron openclaw cronadd\ --name "价格监控"\ --cron "0 */6 * * *"\ --agent-turn "运行价格监控脚本"
技巧 6:语音唤醒(高级)
十一语音合成 (ElevenLabs TTS)
本地 TTS(如 macOS 原生)
WebSocket 语音流
{ "voice" : { "enabled" : true , "provider" : "elevenlabs" , "apiKey" : "YOUR_API_KEY" , "voiceId" : "your-voice-id" } }
技巧 7:浏览器自动化
自动化注册流程
网页数据抓取
自动化测试
每日数据汇总
技巧 8:开发插件扩展 ~ workspace/skills/ my- plugin/ ├── SKILL .md ├── index.ts └── package .json
--- name: "my-company-integration" description: "公司内部系统集成" ---
插件自动激活:
当对话匹配描述时,AI 会自动启用插件功能和对应工具(可调用外部 API 等)。
技巧 9:实时监控与健康检查 # 检查网关状态 openclaw status # 检查渠道健康 openclaw channels status
关键指标:
✓ 网关是否运行
✓ 渠道是否连接
✓ Token 余额
✓ 内存/CPU 使用
openclaw cronadd\ --name "健康检查" \ --cron "0 */4 * * *" \ --agent-turn "检查服务健康状态,若有异常通知我"
技巧 10:团队协作与权限管理 { "channels" : { "discord" : { "accounts" : { "default" : { "token" : "YOUR_TOKEN" , "allowFrom" : [ "user:123" , "user:456" ] , "groups" : { "work-team" : { "allowFrom" : [ "role:admin" ] } } } } } } }
用户级别:限制特定用户
群组级别:限制特定 Discord 群
角色级别:限制 Discord 角色
20个实战脚本
基础操作脚本 # !/bin/bashDATE=$(date +%Y%m%d)cp ~/.openclaw/openclaw.json ~/.openclaw/openclaw.json.backup.$DATEecho "配置已备份到 openclaw.json.backup.$DATE "
#!/bin/bash# 清理 7 天前的日志find ~/.openclaw/logs -name "*.log" -mtime +7 -delete echo"已清理 7 天前的日志"
#!/bin/bash openclaw gateway stop sleep3 openclaw gateway start echo"网关已重启"
数据抓取脚本 # !/bin/bashcheck_product_price(){URL=$1THRESHOLD =$2PRODUCT_NAME =$3PRICE =$(curl -s $URL |grep -oP 'price: \K[0-9.]+' )if (( $(awk "BEGIN {print $PRICE <= $THRESHOLD }")));then openclaw message send \ --channel feishu \ --target "@your_alert_group" \ --message "$PRODUCT_NAME 价格已降至 $PRICE " fi }# 使用:$0 "https://example.com/product" 100 "iPhone 15"
# !/bin/bashCITY=$1WEATHER =$(curl -s "https://getweather.com/$CITY " | jq '.weather' ) openclaw message send \ --channel feishu \ --message "$CITY 今日天气:$WEATHER "
# !/bin/bashSYMBOL=$1PRICE =$(curl -s "https://api.stocks.com/$SYMBOL " | jq '.price' ) openclaw message send \ --channel feishu \ --message "$SYMBOL 的最新价格是 $PRICE "
自动化工作流脚本 # !/bin/bashTODAY=$(date +%Y-%m-%d)# 从数据库或文件读取工作记录REPORT=$(cat ~workspace/tasks.log |grep $TODAY ) openclaw message send \ --channel feishu \ --message "📊 今日工作报告\n$REPORT "
# !/bin/bashCPU=$(top -bn1 |grep"Cpu(s)" |awk'{print $2}' |cut -d'%' -f1)MEM=$(free|grep Mem |awk'{printf "%.1f%%", $3/$2 * 100.0}' )DISK=$(df -h |awk'$NF=="/"{printf "%s", $5}' )if (( $(awk "BEGIN {print $CPU >80 }")));then openclaw message send \ --channel feishu \ --message "⚠️ CPU 使用率过高:$CPU %" fiif[[$DISK == *9?%* ]];then openclaw message send \ --channel feishu \ --message "⚠️ 磁盘使用率过高:$DISK " fi
# !/bin/bashBACKUP_DIR=~/.openclaw/backups DATE=$(date +%Y%m%d_%H%M%S)mkdir -p $BACKUP_DIR # 备份配置、数据、日志cp -r ~/.openclaw/openclaw.json $BACKUP_DIR / cp -r ~/.openclaw/workspace $BACKUP_DIR /workspace_$DATE # 删除 30 天前的备份find$BACKUP_DIR -mtime +30 -delete
# !/bin/bashBACKUP_FILE=~workspace/db_backup_$(date +%Y%m%d).sql if [ -f "~workspace/database.db" ];then sqlite3 ~workspace/database.db .dump >$BACKUP_FILEfi
网络脚本 # !/bin/bashURL=$1STATUS =$(curl -s -o /dev/null -w "%{http_code}" $URL )if [$STATUS -ne 200];then openclaw message send \ --channel feishu \ --message "❌ 网站异常:$URL (状态码: $STATUS )" fi
# !/bin/bashDOMAIN=$1EXPIRY =$(echo | openssl s_client -servername $DOMAIN -connect $DOMAIN :443 2>/dev/null | openssl x509 -noout -dates |grep notAfter |cut -d= -f2)DAYS=$(echo $(($(date -d "$EXPIRY " +%s) - $(date +%s))) / 86400)if [$DAYS -lt 30];then openclaw message send \ --channel feishu \ --message "⚠️ $DOMAIN 证书将在 $DITS 天后过期!" fi
# !/bin/bashIP=$1PORT =$2ifnc -z -w5 $IP$PORT ;then openclaw message send \ --channel feishu \ --message "$IP :$PORT 端口正常" else openclaw message send \ --channel feishu \ --message "❌ $IP :$PORT 端口不可达" fi
文件操作脚本 # !/bin/bashDIR=$1 fdupes -r $DIR |whileread -r file;doif["$file " !="$PREV " ];thenPREV=$fileelserm "$file " echo "已删除重复文件:$file " fidone
# !/bin/bashDIR=$1DAYS =$2find$DIR -type f -mtime +$DAYS -delete echo "已删除 $DIR 中 $DAYS 天前的文件"
AI 辅助脚本 # !/bin/bashFILE=$1 # 使用 AI 分析代码(需要配置) openclaw agent --message "请分析这个文件:$(cat $FILE) " --to feishu
# !/bin/bashLOG_FILE=$1 openclaw agent --message "总结这个日志文件的核心错误:$(tail -100 $LOG_FILE) " --to feishu
# !/bin/bashTEXT=$1 openclaw agent --message "翻译成英文:$TEXT "
# !/bashTYPE=$1 openclaw agent --message "生成 $TYPE 的测试数据(10个样本)"
# !/bin/bashFILE=$1 openclaw agent --message "审查这段代码的安全性:$(cat $FILE) "
30个常见问题解答
安装与配置 Q1:OpenClaw 支持哪些平台?
A:支持:
聊天平台:WhatsApp、Telegram、Discord、飞书、微信、Google Chat、Slack、iMessage、MS Teams
操作系统:macOS、Linux、Windows(Via WSL)
CPU:现代处理器(2015 年后)
内存:空闲 RAM > 2GB
磁盘:至少 5GB 空间
网络:允许端到端连接
Q3:是否需要显卡?
A:不需要,OpenClaw 主要是路由和管理工作流,不进行本地模型推理。
Q4:OpenClaw 是否支持多模型?
A:支持!可同时使用多个 AI 模型,并设置优先级和回退。配置示例如下:
{ "agents" : { "defaults" : { "model" : { "primary" : "anthropic/claude-sonnet-4-6" , "fallbacks" : [ "kimi-code" , "deepseek-chat" ] } } } }
使用技巧 Q6:如何让 AI 用专业口吻回复?
A:在 MEMORY.md 中设置:
Q7:如何禁用某个渠道?
A:在 openclaw.json 中:
{ "channels" : { "telegram" : { "enabled" : false } } }
openclaw channels remove --channel telegram --delete
Q8:如何让 AI 只在特定时间回复?
A:使用 Cron 设置:
openclaw cronadd\ --name "工作时间" \ --cron "* 9-18 * * 1-5" \ --system-event "已进入工作时间" openclaw cronadd\ --name "下班时间" \ --cron "0 0 20 * * 1-5" \ --system-event "已下班,工作消息转入离线模式"
明确告知 AI 不要暴露数据,在 MEMORY.md 中添加规则
在系统提示中加入安全约束
避免在公共渠道讨论敏感项目
定期检查 MEMORY.md 和 memory/*.md 文件内容(必要时编辑/清理)
Q10:如何让 AI 记住对话?
A:OpenClaw 默认会在会话内记住对话,但跨会话持久记忆需手动构建和写入到记忆文件中。可以:
自动写入到会话文件(但默认不会同步到长期记忆)
关键总结由用户手动或通过脚本写入到 MEMORY.md 或 memory/YYYY-MM-DD.md
启用记忆插件后配置记忆路径(例如:MEMORY.md + memory/*.md),并用 openclaw memory index 重建索引,之后检索生效
故障排除 Q11:启动失败,提示端口被占用怎么办?
A:检查并终止占用进程或更换端口:
# 检查哪个进程占用 18789 端口lsof -i :18789
# 1 . 检查 Token 是否有效 openclaw channels status --probe # 2 . 重新添加渠道 openclaw channels remove --channel telegram openclaw channels add --channel telegram --token YOUR_NEW_TOKEN # 3 . 查看日志 openclaw logs --lines 100
检查 Token 余额:openclaw models status --probe
设置备用模型(回退机制)
配置自动提醒(余额低于阈值时发送通知)
Q14:AI 回复很慢怎么办?
A:可能原因与解决方案:
网络延迟:检查网络连接
模型拥堵:切换为备用模型
上下文过大:运行 openclaw memory index 减少上下文压缩压力
响应超时:调大 agents.defaults.timeoutSeconds
Q15:如何查看详细错误日志?
A:实时查看错误:
openclaw logs --follow |grep -i error
高级功能 Q16:如何使用多个工作空间?
A:创建单独的配置文件:
Q17:如何让 AI 执行复杂工作流?
A:编写插件(skills)并在对话中使用。插件会自动注册工具,AI 可调用这些工具完成步骤。
# 完整备份cp -r ~/.openclaw ~/.openclaw.backup.$(date +%Y%m%d)# 仅备份配置和记忆tar -czf backup.tar.gz ~/.openclaw/openclaw.json ~/.openclaw/workspace
备份旧机器的整个 ~/.openclaw/ 目录
在新机器上安装 OpenClaw
恢复备份目录
更新配置中的 IP 地址、Token 等
常见异常 Q21:为什么 AI 会重复回复?
A:可能原因:
网络不稳定导致重试
渠道 API 限流
配置中启用了不合适的重复规则。解决方案:
# 检查日志 openclaw logs |grep"duplicate" # 调整重试策略(或禁用不必要的重复检测)
Q22:为什么 AI 无法理解我的意图?
A:优化建议:
使用更具体的描述
在 MEMORY.md 中添加使用场景
提供示例对话模式
Q23:为什么在某些群组中 AI 不响应?
A:检查群组权限设置(需要 @ 提及、白名单等):
{ "channels" : { "discord" : { "groups" : { "*" : { "requireMention" : true , "allowedFrom" : [ "server:123" ] } } } } }
Q24:如何限制 AI 的回复长度?
A:在系统提示中设置限制:
Q25:如何让 AI 自动过滤垃圾信息?
A:在系统提示中添加垃圾信号词;或编写插件进行预处理过滤。
Q26:如何监控 OpenClaw 的资源使用?
A:查看系统健康状态(不含命令历史):
也可查看 Gateway 的运行时指标,或通过 systemctl status openclaw-gateway 查看 GPU 占用(若使用本地模型)。
检查任务状态:openclaw cron status
检查任务列表:openclaw cron list --all
查看运行日志:openclaw cron runs --id <job-id> --limit 20
降低并发限制
不用的渠道 disable
避免过大上下文
Q29:如何让 AI 持续记住我的偏好?
A:写入 MEMORY.md/文件;可启用记忆与索引并设置索引路径:
openclaw memory status openclaw memory index
快速故障排除手册
启动阶段 症状 可能原因 解决方案 无法启动网关 Node 版本过低 升级到 Node 22+ 无法启动网关 端口冲突 更换端口或终止占用进程 Token 验证失败 API Key 错误 检查 API Key 是否有效 配置文件解析失败 JSON 格式错误 用 openclaw config get 验证
运行阶段 症状 可能原因 解决方案 渠道断连 网络问题 / Token 过期 检查网络并更新 Token AI 不响应 模型服务宕机 切换到备用模型 回复变慢 上下文过大 减少历史记录或提升环境上限 内存溢出 超出系统资源 结束其他进程或升级硬件
高级阶段 症状 可能原因 解决方案 插件加载失败 依赖缺失 进入 plugin 目录执行 npm install Cron 任务失败 路径错误 检查任务脚本路径和执行权限 浏览器无法启动 Chrome 路径错误 配置浏览器可执行文件路径
如果这篇文章对你有帮助,点赞、收藏、分享 给其他开发者!
免费资源
本文由【OpenClaw 技术分享】原创,转载请注明来源。
如果你想快速搭建 AI 机器人,加我微信,免费配置指导。
相关免费在线工具 curl 转代码 解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online
Base64 字符串编码/解码 将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
Base64 文件转换器 将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
Markdown转HTML 将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online
HTML转Markdown 将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online
JSON 压缩 通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online