OpenClaw国产轻量级AI智能体框架:RAG+Agent本地化部署入门指南

龙虾新手指南:OpenClaw——国产轻量级AI智能体框架入门
技术本质
RAG+Agent架构
OpenClaw 用 RAG(检索增强生成)补足大模型的知识盲区,用 Agent 拆解任务、调用工具、维护状态。它不靠大模型硬记所有信息,而是实时从本地知识库中检索相关内容,再让模型基于检索结果生成回答或执行动作。
比如你问“上个月销售会议纪要里提到的交付时间是哪天”,OpenClaw 会先在你提供的会议文档中定位相关段落,再让模型精准提取日期,而不是凭空猜测。
本地化执行能力
所有推理、检索、工具调用都在本地完成。没有请求发往云端,没有上下文上传到第三方服务。你的邮件内容、日程细节、航班号、聊天记录——全留在你自己的机器上。
无需外部 API 密钥
OpenClaw 不依赖 OpenAI、Claude 或任何商业大模型 API。它默认使用本地运行的 Llama 3、Qwen2 等开源模型(通过 Ollama 或 llama.cpp),开箱即用。你不需要注册账号、申请密钥、担心额度耗尽或账单突袭。
全链路可审计
每条用户指令进来后,OpenClaw 会记录完整的执行流水:原始输入 → 检索到的文档片段 → Agent 决策步骤(比如“需要调用 send_email 工具”)→ 工具参数 → 执行结果 → 最终回复。日志存为结构化 JSON,随时可查。
适配主流 IM 协议
目前支持微信(通过 WeChatPYAPI)、Telegram(通过 python-telegram-bot)、以及命令行 CLI。你不用切出聊天界面,直接在微信对话框里说“把上周日报发给张三”,它就调 SMTP 发出去;在 Telegram 里输“查下今天北京飞上海的航班”,它就拉取航旅 API 返回结果。
安装与配置
步骤一:环境准备
确保系统满足:
- 操作系统:Windows 10/11(WSL2 推荐)、macOS(Intel/M1/M2/M3)、Linux(Ubuntu/Debian/CentOS)
- Python:3.9–3.12(推荐 3.11)
- Git:用于拉代码
- (可选)Ollama:如果想跑本地大模型,
curl -fsSL https://ollama.com/install.sh | sh
Ubuntu/Debian 上快速准备:
sudo apt update && sudo apt install -y python3.11 python3.11-venv python3-pip gitmacOS(用 Homebrew):
brew install python@3.11 gitWindows 用户建议用 WSL2,避免路径和权限问题。
步骤二:安装 OpenClaw
- 克隆仓库(注意:替换为实际仓库地址,原文中的
yourusername需修正):
git clone https://github.com/OpenClaw-Org/OpenClaw.git
cd OpenClaw- 创建虚拟环境并安装依赖:
python3.11 -m venv .venv
source .venv/bin/activate # Linux/macOS
# .venv\Scripts\activate # Windows
pip install --upgrade pip
pip install -r requirements.txt⚠️ 如果pip install卡在chroma-hnswlib或llama-cpp-python,加--no-binary :all:参数重试,或按 README 中的平台编译说明操作。
步骤三:配置 OpenClaw
- 复制配置模板:
cp config.example.yml config.yml- 编辑
config.yml:
nano config.yml关键字段说明:
llm: 指定本地模型。例如:llm: type: ollama model: qwen2:7b base_url: http://localhost:11434tools: 启用哪些功能。如需发邮件,填入 SMTP 凭据;如需日历,填入 iCal URL 或 Google Calendar token。im: 选wechat、telegram或cli。微信需先扫码登录,Telegram 需 Bot Token。
微信配置提示:首次运行 python3 main.py 会弹出二维码,用手机微信「扫一扫」登录即可,后续自动复用 session。使用指南
启动 OpenClaw
python3 main.py启动后,你会看到类似这样的日志:
[INFO] Loaded LLM: qwen2:7b (Ollama)
[INFO] Loaded tool: send_email
[INFO] Loaded tool: add_calendar_event
[INFO] IM backend: wechat — waiting for messages...此时打开微信,找到已登录的联系人(或群),直接发送自然语言指令。
常见指令示例
- 发邮件
发邮件给 lisa@example.com,主题:项目进度同步,正文:附件是Q3交付计划,请查收。 - 加日程
明天下午2点和王工在会议室B开需求评审会,时长1小时 - 查航班
查CA123今天从北京首都到上海虹桥的起飞时间 - 查文档
上季度OKR文档里,市场部的O2是什么?
OpenClaw 会解析语义、调用对应工具、返回结构化结果(比如邮件发送成功 ✅,日程已添加到日历 📅),全部过程在聊天窗口内闭环。
验证执行结果
- 邮件:检查收件人邮箱是否收到
- 日程:打开你的日历应用查看新事件
- 航班:对比航旅网站或 App 的实时状态
- 文档检索:看返回内容是否来自你指定的知识库文件(如
okr_q3.pdf)
所有工具调用日志都写在 logs/ 目录下,按日期分文件,格式清晰可读。
常见问题
微信登录失败 / 消息不响应
- 确认
config.yml中im.type: wechat,且未误设为telegram - 检查
logs/wechat.log是否有login failed或session expired - 删除
wechat_session.pkl文件,重启main.py重新扫码 - WSL2 用户需确保 X11 转发开启(或改用
cli模式调试)
指令被忽略或答非所问
- 检查
config.yml中tools下对应功能是否设为enabled: true - 查
logs/agent.log:看是否检索到了相关知识片段。若retrieved_chunks: [],说明知识库没加载或关键词匹配失败 - 尝试更明确的指令,比如把“提醒我开会”改成“15分钟后提醒我参加产品站会”
pip install 报错 llama-cpp-python
Ubuntu/Debian:先装构建依赖
sudo apt install -y build-essential cmake libblas-dev liblapack-devmacOS:用
LLAMA_METAL=1强制启用 GPU 加速(M系列芯片)LLAMA_METAL=1 pip install llama-cpp-python --no-cache-dir- Windows:优先用预编译 wheel(见 llama-cpp-python releases)
实际使用场景
场景一:邮件处理(微信 + SMTP)
把 Outlook/Thunderbird 邮箱接入 OpenClaw 后,你在微信里说“把销售合同发给客户李总”,它自动:
- 从本地
contracts/文件夹找出最新版 PDF - 填写收件人、主题、正文模板
- 调用 SMTP 发送,返回“已发送至 li@client.com ✅”
全程不离开微信,不打开邮箱客户端。
场景二:日程管理(Telegram + iCal)
你在 Telegram Bot 对话中输入:“下周三上午10点和法务约线上合同审核,链接用Zoom”,OpenClaw 会:
- 创建
.ics事件,含 Zoom 链接、提醒前15分钟 - 写入你指定的网络日历(如 Nextcloud CalDAV)
- 向你 Telegram 回复:“✅ 已添加:合同审核(2024-06-12 10:00)”
场景三:航班提醒(CLI + 航旅 API)
命令行模式下运行:
echo "提醒我CA123航班起飞前2小时" | python3 main.py --im cli它会:
- 调用航旅公开 API 查询 CA123 当日计划
- 在本地启动定时任务(
APScheduler) - 到点推送微信消息:“CA123 北京→上海,预计14:25起飞,还有2小时,请准备值机”
下一步
- 把你的内部文档(PDF/PPT/Markdown)放进
knowledge/目录,运行python3 ingest.py构建向量库,让 OpenClaw 真正懂你公司的业务术语 - 修改
tools/email_tool.py,对接企业邮箱(如 Exchange Web Services) - 在
prompts/agent.jinja里调整 Agent 的 system prompt,让它更符合你的沟通风格(比如要求所有回复带 ✅/⚠️/❌ 状态图标)
官方仓库持续更新:https://github.com/OpenClaw-Org/OpenClaw
遇到问题,直接提 issue —— 维护者每天看。