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 更安全

如果部署过程中遇到什么问题,欢迎在评论区留言交流。好了,这就是今天的分享,我们下期再见!