OpenClaw开源AI自动化框架入门教程:支持30+平台本地部署与多模型接入
摘要:《龙虾新手指南:OpenClaw入门教程》一、什么是OpenClaw?OpenClaw 是一个开源的本地 AI 自动化框架。它不依赖云服务,所有任务都在你自己的设备上运行。支持 WhatsApp、Telegram、Discord、Twitter、Slack、Instagram 等 30+ 平台,能自动完成消息回复、内容发布、数据抓取等操作。它不是玩具项目。你可以把 OpenClaw 嵌入现有...

《龙虾新手指南:OpenClaw入门教程》
一、什么是OpenClaw?
OpenClaw 是一个开源的本地 AI 自动化框架。它不依赖云服务,所有任务都在你自己的设备上运行。支持 WhatsApp、Telegram、Discord、Twitter、Slack、Instagram 等 30+ 平台,能自动完成消息回复、内容发布、数据抓取等操作。
它不是玩具项目。你可以把 OpenClaw 嵌入现有工作流,用它调度 Claude、GPT 系列 API,也能直接接入本地模型(比如 Llama 3、Phi-3、Qwen2),做文本生成、分类、摘要或结构化提取。
二、为什么用 OpenClaw?
本地运行,数据不出设备
- 所有输入、中间状态、输出都保留在本地。聊天记录、截图、文件不会上传。
- 断网时照常工作——适合内网环境、敏感场景或旅行途中。
- 直接调用 GPU/CPU,没有网络延迟和 API 配额限制。大模型推理、OCR、截图识别都能压到本地跑。
跨平台任务统一编排
它把不同平台抽象成一致的操作接口:
- 即时通讯:WhatsApp(通过 Twilio)、Telegram Bot API、Discord Gateway
- 社交平台:Twitter v2 API、Mastodon、Reddit(PRAW)
- 协作工具:Slack Events API、Microsoft Graph(Teams)
典型用法:
- 在 Telegram 收到“订单查询”,自动查数据库并回传结果
- 每小时从 Discord 和 Slack 抓取带
#bug标签的消息,汇总进 Notion 表格 - 同步发布图文到 Twitter、Mastodon 和 Bluesky(自动适配字数/附件格式)
模型可插拔,按需切换
OpenClaw 不绑定任何模型。你在配置里声明能力需求,框架自动路由:
models:
default: "llama3-8b-instruct"
fallback: "gpt-4o-mini"
models:
llama3-8b-instruct:
type: "llm"
backend: "llama.cpp"
path: "./models/llama3.Q4_K_M.gguf"
n_gpu_layers: 40
gpt-4o-mini:
type: "api"
provider: "openai"
api_key: "${OPENAI_API_KEY}"实际使用中:
- 用本地 Llama 3 处理日常对话、日志摘要(零成本、低延迟)
- 遇到复杂推理或代码生成失败时,自动降级到 GPT-4o-mini(靠
fallback规则) - 用微调过的 Phi-3 做客服工单分类(加载
.gguf即可,不用改代码)
三、安装与配置
环境要求
- OS:Windows 10+、macOS 12+、主流 Linux 发行版(Ubuntu 22.04、Debian 12)
- Python:3.9–3.12(推荐 3.11)
- Git:用于拉取代码
💡 提示:Windows 用户建议开启 WSL2;macOS M 系列芯片用户优先用 llama.cpp + Metal 后端。安装步骤
1. 克隆代码库
git clone https://github.com/your-repo/OpenClaw.git
cd OpenClaw2. 创建并激活虚拟环境(强烈建议)
python -m venv venv
# Windows
venv\Scripts\activate
# macOS/Linux
source venv/bin/activate3. 安装依赖
pip install --upgrade pip
pip install -r requirements.txt部分平台需要额外依赖(如 WhatsApp 用 Twilio):
pip install twilio # 如果要用 WhatsApp
pip install python-telegram-bot # Telegram4. 配置模型
编辑 config.yaml,填入你的模型凭证和路径:
models:
default: "llama3-8b-instruct"
models:
llama3-8b-instruct:
type: "llm"
backend: "llama.cpp"
path: "./models/llama3.Q4_K_M.gguf"
claude-3-haiku:
type: "api"
provider: "anthropic"
api_key: "sk-ant-api03-..."✅ 注意:API 密钥不要硬编码。用环境变量更安全:
api_key: "${ANTHROPIC_API_KEY}"然后启动前执行
export ANTHROPIC_API_KEY=...
5. 配置平台连接
修改 platforms.yaml,只填你实际用的平台:
platforms:
telegram:
token: "${TELEGRAM_BOT_TOKEN}"
discord:
token: "${DISCORD_BOT_TOKEN}"
intents: ["message_content", "guild_messages"]🔑 获取方式:
- Telegram:@BotFather 创建 bot,拿到 token
- Discord:Discord Developer Portal → Application → Bot → Token
- WhatsApp:Twilio 控制台 → Account SID + Auth Token
6. 启动
python main.py首次运行会自动下载默认模型(可选),之后直接进入监听状态。
四、动手写两个例子
示例 1:Telegram 关键词自动回复
在 skills/telegram_reply.py 中写:
from openclaw import OpenClaw
oc = OpenClaw()
@oc.on_message("telegram")
def handle_hello(message):
if "hello" in message.text.lower():
return "Hello! Try `/help` for commands."
elif message.text.startswith("/help"):
return (
"Available commands:\n"
"/status — show running tasks\n"
"/ping — test bot responsiveness"
)保存后重启 main.py,发 /help 到你的 bot 就能看到响应。
示例 2:定时抓取 Twitter 热门话题
新建 skills/twitter_trends.py:
from openclaw import OpenClaw
oc = OpenClaw()
@oc.on_interval("twitter", interval=300) # 每 5 分钟执行一次
def fetch_trends():
trends = oc.get_trends(woeid=1) # 全球趋势
top_3 = trends[:3]
for i, t in enumerate(top_3, 1):
print(f"{i}. {t.name} ({t.tweet_volume or 'low volume'})")⚠️ 注意:Twitter v2 API 需要申请 Academic Research 访问权限,并在config.yaml中配置bearer_token。
五、排障清单
| 现象 | 快速检查点 |
|---|---|
ModuleNotFoundError | 确认虚拟环境已激活,且 pip list 能看到 openclaw |
| Telegram bot 无响应 | 检查 platforms.yaml token 是否正确;BotFather 是否设为 privacy mode: disabled |
| Discord 连不上 | 确认 intents 已在 Discord Developer Portal 开启对应权限(尤其是 message_content) |
| Llama 模型加载慢 | 检查 path 是否指向正确的 .gguf 文件;GPU 层数是否超出显存(n_gpu_layers: 0 强制 CPU) |
| API 调用报 401 | 检查环境变量是否导出成功:echo $OPENAI_API_KEY |
六、下一步怎么走?
- 把
skills/下的示例改成你的真实需求:比如自动归档邮件附件、同步飞书多维表格到本地 SQLite - 读
examples/目录里的完整工作流(含错误重试、限流、日志埋点) - 在 GitHub Issues 里搜
good first issue,提 PR 修一个小 bug 或加一个平台适配器