OpenClaw私有化AI助手搭建教程:源码编译与跨平台自动化部署指南

手把手教你用 OpenClaw 搭建私有化 AI 助手:从源码编译到跨平台自动化
这篇文章解决什么问题?
你有没有想过,如果能有一个 AI 助手,同时帮你处理 WhatsApp 的客户消息、Telegram 的群组通知、Discord 的社区管理,甚至自动回复邮件——而且所有数据都跑在你自己的机器上,不经过任何第三方服务器?
OpenClaw 就是干这个的。这个 GitHub 上拿了 150K+ 星标的开源项目,本质上是一个可自托管的 AI 网关:它把 Claude、GPT、本地模型(比如 Ollama 跑的 Llama)统一接入,然后通过各种平台的 API 把 AI 能力分发出去。你可以把它理解成一个"AI 总机",所有平台的消息进来,经过你选的模型处理,再把回复送回去。
为什么不用现成的 SaaS 服务?三个原因:数据隐私(客户聊天记录不外泄)、成本控制(本地模型零 API 费用)、灵活定制(想接什么平台接什么平台)。
环境准备
开始之前,确认你的机器满足这些条件:
| 项目 | 最低要求 | 推荐配置 |
|---|---|---|
| 操作系统 | Linux / macOS / Windows (WSL2) | Ubuntu 22.04 LTS |
| 内存 | 4GB | 8GB+(跑本地模型需 16GB+) |
| 磁盘 | 2GB 可用空间 | 10GB+ |
| 必装软件 | Git, Node.js 18+, pnpm | 最新 LTS 版本 |
先检查 Node.js 版本:
node --version
# 需要 v18.0.0 或更高如果没装或者版本太低,用 nvm 装一个:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
source ~/.bashrc
nvm install 20
nvm use 20为什么要用 nvm 而不是 apt 装 Node? 因为系统包管理器里的 Node 版本通常很旧,而且 nvm 可以让你在同一台机器上切换多个 Node 版本,后续维护方便很多。
再装 pnpm(OpenClaw 用它管理依赖):
npm install -g pnpm从源码编译部署
第一步:克隆仓库
git clone https://github.com/openclaw/openclaw.git
cd openclaw第二步:安装依赖并构建
pnpm install
pnpm buildpnpm install 会读取 package.json,把所有依赖下载到本地。pnpm build 则是把 TypeScript 源码编译成 JavaScript,输出到 dist/ 目录。
为什么要从源码编译而不是直接用 Docker? 两个好处:一是你可以修改源码定制功能(比如加个自定义平台),二是调试时可以直接看源码定位问题。当然,如果你只是想快速跑起来,项目也提供了 Docker 方式:
docker compose up -d第三步:初始化配置
cp .env.example .env打开 .env 文件,核心配置项长这样:
# AI 模型配置(至少配一个)
OPENAI_API_KEY=sk-xxx # OpenAI / GPT
ANTHROPIC_API_KEY=sk-ant-xxx # Claude
OLLAMA_BASE_URL=http://localhost:11434 # 本地模型
# 平台配置(按需开启)
WHATSAPP_ENABLED=true
TELEGRAM_BOT_TOKEN=your-telegram-token
DISCORD_BOT_TOKEN=your-discord-token
# 服务端口
PORT=3000为什么要在 .env 里配而不是直接改代码? 因为 .env 文件会被 .gitignore 忽略,不会意外提交到仓库泄露你的 API Key。这是行业标准做法。
第四步:启动服务
pnpm start看到这行输出说明启动成功:
🦞 OpenClaw is running on http://localhost:3000
✅ Connected platforms: WhatsApp, Telegram
✅ Active model: Claude 3.5 Sonnet连接第一个平台:以 Telegram 为例
Telegram 是最容易上手的平台,5 分钟就能跑通。
1. 创建 Telegram Bot
打开 Telegram,搜索 @BotFather,发送:
/newbot按提示输入名字和用户名,BotFather 会给你一个 Token,类似:
7123456789:AAHxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx2. 把 Token 写入配置
TELEGRAM_BOT_TOKEN=7123456789:AAHxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
TELEGRAM_ENABLED=true3. 重启服务
pnpm start4. 验证
在 Telegram 里找到你的 Bot,发一条消息:"你好,介绍一下你自己"。几秒后你应该收到 AI 回复。
为什么选 Telegram 做第一个? 因为 Telegram Bot API 是所有主流平台里最开放、限制最少的。不像 WhatsApp 需要企业认证,也不像微信有严格的反自动化机制。先在这里跑通,再接其他平台就有信心了。
接入更多平台
OpenClaw 支持 30+ 平台,配置方式大同小异。几个常用的:
| 平台 | 难度 | 需要什么 |
|---|---|---|
| 中 | Meta Business API 审核通过 | |
| Discord | 低 | Discord Developer Portal 创建应用 |
| Slack | 中 | Slack App + OAuth Token |
| 邮件 (IMAP) | 低 | 邮箱账号密码 |
| 钉钉 | 中 | 钉钉开放平台创建机器人 |
以 Discord 为例,核心步骤:
DISCORD_BOT_TOKEN=your-token-here
DISCORD_ENABLED=true然后去 Discord Developer Portal 创建应用,开启 Message Content Intent,邀请 Bot 进服务器。重启 OpenClaw 就搞定了。
切换 AI 模型
OpenClaw 的架构允许你灵活切换模型,甚至针对不同平台用不同模型:
# 全局默认模型
DEFAULT_MODEL=claude-3.5-sonnet
# Telegram 用便宜的 GPT-4o-mini
TELEGRAM_MODEL=gpt-4o-mini
# WhatsApp 用本地模型省钱
WHATSAPP_MODEL=ollama/llama3.1为什么要分平台配模型? 因为不同场景对质量的要求不一样。客服消息需要准确,用 Claude;群聊闲聊用便宜的 GPT-4o-mini 就够了;内部测试跑本地模型零成本。
如果要用本地模型,先用 Ollama 拉一个:
ollama pull llama3.1
ollama serve确保 Ollama 在 http://localhost:11434 跑着,OpenClaw 就能自动调用。
实际使用场景
场景一:跨境电商客服自动化
把 OpenClaw 接上 WhatsApp Business API,设置系统提示词:
你是一个专业的电子产品客服,回复要简洁友好。
如果客户问价格,回复最新的价格表。
如果客户要退货,引导他们填写退货表单。效果:客户发消息问"这个耳机多少钱?",AI 自动回复价格和购买链接,24 小时不间断。
场景二:社群运营助手
接上 Discord + Telegram,让 AI 自动回答新人常见问题,过滤垃圾消息,每天发一条社区日报。
场景三:个人效率工具
接上邮件,让 AI 自动分类收件箱,把重要邮件摘要发到你的 Telegram。
常见问题
Q: 启动报错 EADDRINUSE 怎么办?
端口被占了,换个端口:
PORT=3001或者杀掉占用进程:
lsof -i :3000
kill -9 <PID>Q: WhatsApp 连不上?
WhatsApp Business API 需要 Meta 审核,个人号直接用会被封。建议先用 Telegram 测试,确认流程跑通再搞 WhatsApp。
Q: 本地模型回复很慢?
检查 GPU 是否被识别:
nvidia-smi如果没 GPU,CPU 跑 7B 模型大概 5-10 秒一条回复,属于正常现象。可以换更小的模型(如 llama3.1:8b → phi3:mini)。
Q: 多个平台消息会串吗?
不会。OpenClaw 用 conversation_id 隔离每个会话,平台之间互不干扰。
下一步学什么?
- 自定义 Prompt 模板:在
prompts/目录下创建不同场景的提示词文件 - 接入更多模型:试试 DeepSeek、Qwen 等国产模型,性价比很高
- 搭建工作流:结合 Dify 或 Coze,让 AI 不只是聊天,还能调用 API、查数据库
- 加入社区:OpenClaw 的 GitHub Discussions 里有很多实战案例
相关教程推荐:
有问题欢迎在评论区留言,或者加入龙虾社区交流群一起讨论。