OpenClaw AI 助手部署实战
引言
最近在帮朋友搭建一个智能助手项目,接触到了 OpenClaw 这个开源框架。说实话,一开始我也没太在意,觉得市面上类似的工具挺多的。但折腾了一周下来,发现这玩意儿确实有点东西——部署简单、功能丰富,关键是社区很活跃,有什么问题基本都能找到解决方案。
今天就把整个部署过程整理一下,分享给有需要的朋友。我会从环境准备开始,一直到跑通第一个 Demo,全部流程都过一遍。如果你也在考虑搭建自己的 AI 助手,希望这篇文章能帮你少走弯路。
一、环境准备与依赖安装
在开始之前,先说说我的运行环境:一台 2 核 4G 的云服务器,系统是 Ubuntu 22.04。这个配置跑 OpenClaw 足够了,性价比也比较高。
首先更新一下系统包:
sudo apt update && sudo apt upgrade -y
接下来安装 Python 和必要的依赖。OpenClaw 需要 Python 3.9 以上版本:
sudo apt install python3.9 python3-pip python3.9-venv git -y
然后创建个项目目录,我习惯放在 /opt 下面:
sudo mkdir -p /opt/openclaw
cd /opt/openclaw
python3.9 -m venv venv
source venv/bin/activate
激活虚拟环境后,安装 OpenClaw 的核心包。这里有个小坑要提醒一下,默认的 pip 源在国内访问会比较慢,建议先换成国内镜像:
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
pip install openclaw-core openclaw-web openclaw-cli
安装完成后,验证一下版本:
claw --version
如果输出版本号,说明基础环境就搞定了。
二、配置文件详解
OpenClaw 的配置主要靠 config.yaml 文件。新手第一次配置可能会有点蒙,我当初也是研究了好一会儿才搞明白各个参数的作用。
在项目根目录创建配置文件:
touch config.yaml
下面是完整的配置示例,我加了详细的中文注释:
# 服务基本配置
server:
host: 0.0.0.0 # 监听地址,0.0.0.0 表示接受所有连接
port: 8080 # 端口号
workers: 2 # 工作进程数,根据服务器配置调整
模型配置
model:
provider: openai # 支持 openai、anthropic、local 等
api_key: ${OPENAI_API_KEY} # 从环境变量读取,更安全
model: gpt-4 # 使用的模型
temperature: 0.7 # 生成随机性,0-2 之间
max_tokens: 2000 # 单次响应最大 token 数
知识库配置(可选)
knowledge:
enabled: true
vector_store: chroma
embedding_model: text-embedding-ada-002
data_path: ./knowledge
日志配置
logging:
level: INFO # DEBUG、INFO、WARNING、ERROR
file: ./logs/openclaw.log
max_size: 10MB # 单个日志文件大小
backup_count: 5 # 保留的日志文件数量
配置文件中有个小技巧:敏感信息不要直接写在文件里,用环境变量引用会更安全。我习惯创建一个 .env 文件:
touch .env
写入以下内容:
OPENAI_API_KEY=你的API密钥
ANTHROPIC_API_KEY=你的Claude密钥(如果需要)
然后在启动脚本里加载这个文件。为什么要这么麻烦?主要是为了安全——即使配置文件不小心泄露了,密钥也不会暴露。
三、Docker 部署方案
如果你熟悉 Docker,用容器部署会更省心。OpenClaw 官方提供了 Dockerfile,直接用就行。
首先创建 Dockerfile:
FROM python:3.9-slim
WORKDIR /app
安装系统依赖
RUN apt-get update && apt-get install -y \
git \
curl \
&& rm -rf /var/lib/apt/lists/*
复制项目文件
COPY . .
安装 Python 依赖
RUN pip install --no-cache-dir -r requirements.txt
暴露端口
EXPOSE 8080
启动命令
CMD ["python", "-m", "openclaw", "serve"]
构建镜像:
docker build -t openclaw:latest .
运行容器:
docker run -d \
--name openclaw \
-p 8080:8080 \
-v $(pwd)/config.yaml:/app/config.yaml \
-v $(pwd)/logs:/app/logs \
--env-file .env \
openclaw:latest
用 Docker 的好处是环境隔离,不容易出问题,而且迁移也方便。我后来改成 Docker 部署后,基本没遇到过环境冲突的问题。
四、接入知识库
OpenClaw 的一大亮点是支持知识库增强。简单来说,你可以让它学习自己的文档,这样回答问题时会更加精准。
知识库功能需要先准备文档。我测试时用了一些技术文档和常见问答:
mkdir -p knowledge
把你的文档放进去,支持 txt、md、pdf 等格式
cp your_docs/*.md knowledge/
然后初始化知识库:
claw kb init --source ./knowledge --name my-knowledge
这个命令会处理文档、生成向量嵌入。第一次运行会比较慢,需要等待一段时间。处理完成后,启动服务时加上 --use-knowledge 参数就会自动加载:
claw serve --use-knowledge --knowledge-name my-knowledge
实测效果还不错。问一些文档相关的问题,它能准确引用相关内容。不过要注意,文档质量很重要,如果原始内容就有错误或者表述不清,生成的回答也会受影响。
五、Web 界面与 API 调用
服务启动后,可以通过 Web 界面直接交互:
http://你的服务器IP:8080
界面挺简洁的,左边是对话区域,右边可以查看对话历史和上下文。用起来跟常见的聊天机器人差不多,上手很快。
如果需要程序化调用,OpenClaw 提供了 REST API:
# 发送对话请求
curl -X POST http://localhost:8080/api/v1/chat \
-H "Content-Type: application/json" \
-H "Authorization: Bearer 你的API密钥" \
-d '{
"message": "你好,请介绍一下你自己",
"stream": false
}'
返回的 JSON 大概是这样的:
{
"code": 0,
"message": "success",
"data": {
"reply": "你好!我是 OpenClaw AI 助手,很高兴为你服务...",
"conversation_id": "conv_abc123",
"usage": {
"prompt_tokens": 50,
"completion_tokens": 120,
"total_tokens": 170
}
}
}
如果需要流式输出,把 stream 改成 true 就行,会返回 Server-Sent Events。
总结
好了,以上就是 OpenClaw 部署的全过程。整体来说难度不大,按照步骤来基本不会遇到什么问题。
几个小建议:
1. 第一次部署建议用低配置机器测试,熟悉流程后再换到生产环境
2. 配置文件里的参数可以根据实际需求慢慢调整,不用一次性全部配好
3. 记得做好数据备份,特别是知识库和日志
4. 生产环境建议配合 Nginx 做反向代理,加个 HTTPS 更安全
如果部署过程中遇到什么问题,欢迎在评论区留言交流。好了,这就是今天的分享,我们下期再见!
OpenClaw AI 助手部署实战
本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
评论交流
欢迎留下你的想法