腾讯云Lighthouse部署OpenClaw AI智能体:从Docker配置到模型接入实战
2026/8/9 12:16:17 网站建设 项目流程

1. 项目概述:为什么选择在腾讯云Lighthouse上部署OpenClaw/ClawDBot?

最近在折腾AI智能体,OpenClaw(也叫ClawDBot)这个项目挺火的,它是一个开源的AI智能体框架,能帮你把大语言模型(比如GPT、Claude或者本地部署的Llama)变成一个能执行具体任务的“数字员工”。你可以让它帮你自动处理邮件、分析数据,甚至管理服务器。但很多朋友在第一步——部署上就卡住了,尤其是在云服务器环境。本地部署受限于硬件,而直接购买昂贵的云AI服务又不够灵活。这时候,腾讯云的Lighthouse(轻量应用服务器)就成了一个绝佳的折中方案:成本可控、开箱即用、网络环境稳定,特别适合个人开发者或小团队尝鲜和深度使用。

我花了几天时间,在腾讯云Lighthouse上从零开始完整部署了一套OpenClaw,期间踩了不少坑,也总结出了一套相对顺畅的流程。这篇指南就是我的实战记录,目标很明确:让你能跟着步骤,在半小时到一小时内,成功在腾讯云上跑起你自己的AI智能体。我们会涵盖从服务器选购、基础环境配置、Docker部署OpenClaw,到接入模型、配置技能等全流程,并重点分享那些官方文档可能没细说,但实际操作中一定会遇到的“坑”和解决方案。

2. 核心准备:腾讯云Lighthouse服务器选购与初始配置

部署的第一步是准备战场。腾讯云Lighthouse的选择和初始设置,直接决定了后续部署的顺畅度和使用体验。

2.1 服务器规格选择:平衡性能与成本

OpenClaw本身作为框架,资源消耗不大,但它的“大脑”——大语言模型(LLM)才是资源消耗的主力。因此,选购服务器的核心思路是:为模型运行预留足够资源。

  • 最低配置(尝鲜/测试):如果你打算主要使用云端API(如OpenAI GPT-4o、Claude 3.5 Sonnet),那么服务器主要承担OpenClaw框架的运行和转发请求。此时,选择2核CPU、2GB内存、50GB SSD的配置即可。腾讯云Lighthouse常有针对新用户的特惠活动,这个配置每月可能只需几十元。
  • 推荐配置(本地模型/生产试用):如果你想在服务器上本地部署轻量级开源模型(如Qwen2.5-7B-Instruct、Llama-3.2-3B),或者同时运行多个智能体,那么需要更强的算力。建议选择4核CPU、8GB内存、100GB SSD或更高配置。内存是关键,7B参数量的模型加载就需要约14GB内存(按FP16精度估算),8GB内存可以运行量化到4-bit或8-bit的版本。CPU核心数影响模型推理速度。
  • 地域选择:尽量选择离你或你的目标用户群体更近的地域,以降低网络延迟。对于国内用户,上海、广州、北京地域都是不错的选择。如果你需要访问国际AI服务,可以考虑香港地域(但需注意相关合规要求)。

实操心得:千万不要抱着“先买个最低配试试”的心态去跑本地模型。我一开始用2GB内存的实例尝试跑量化后的模型,直接触发OOM(内存溢出)导致系统崩溃,ssh都连不上,只能重启。建议至少从4GB内存起步。

2.2 系统镜像与安全组设置

购买服务器时,系统镜像推荐选择Ubuntu 22.04 LTS。这是一个长期支持版本,社区资料丰富,对Docker的支持也非常好,能避免很多因系统版本过新或过旧导致的兼容性问题。

安全组(防火墙)设置是保障服务器安全的第一步,也是部署服务后能否访问的关键。腾讯云Lighthouse控制台提供了便捷的安全组配置。你需要开放以下端口:

  • 22端口:SSH远程连接,必须开放。
  • 80端口:HTTP服务,用于后续可能部署的Web界面或反向代理。
  • 443端口:HTTPS服务,同上。
  • 3000端口:这是OpenClaw默认的Web用户界面端口,必须开放
  • 11434端口:如果你计划在本地部署Ollama来运行模型,这个端口是Ollama的API端口,也需要开放。

设置时,源IP可以暂时设置为0.0.0.0/0(允许所有IP访问)以便测试,但在生产环境中,强烈建议将其改为你固定的公网IP地址段,以减少被扫描和攻击的风险。

2.3 服务器初始化:连接与基础环境

购买完成后,通过SSH连接到你的Lighthouse实例。腾讯云控制台提供了网页版的VNC连接和获取初始密码的方法。

登录后,第一件事是更新系统并安装一些必备工具:

# 更新软件包列表并升级现有软件 sudo apt update && sudo apt upgrade -y # 安装常用工具 sudo apt install -y curl wget git vim net-tools htop

接下来是安装Docker和Docker Compose。这是部署OpenClaw最推荐的方式,能解决环境依赖的难题。

# 安装Docker官方GPG密钥 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg # 设置Docker稳定版仓库 echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null # 安装Docker引擎 sudo apt update sudo apt install -y docker-ce docker-ce-cli containerd.io # 安装Docker Compose插件(新方式) sudo apt install -y docker-compose-plugin # 验证安装 docker --version docker compose version # 将当前用户加入docker组,避免每次都要sudo sudo usermod -aG docker $USER # 注意:执行此命令后,需要退出当前SSH会话并重新登录,权限才会生效。

重新登录后,运行docker ps命令,如果不报错,说明Docker环境已经就绪。

3. 核心部署:使用Docker一键运行OpenClaw

环境准备好后,部署OpenClaw本身反而非常简单,这得益于其良好的容器化支持。

3.1 获取部署配置文件

OpenClaw的官方仓库通常提供了Docker Compose的示例文件。我们直接使用它。

# 创建一个项目目录并进入 mkdir openclaw-deploy && cd openclaw-deploy # 从官方仓库拉取docker-compose.yml示例文件 # 这里以某个公开的示例为准,实际请参考OpenClaw项目最新文档 curl -O https://raw.githubusercontent.com/openclaw/openclaw/main/docker-compose.yml

在运行前,我们需要编辑这个docker-compose.yml文件,进行一些关键配置。用vim或nano打开它。

3.2 关键配置解析与修改

一个典型的docker-compose.yml可能长这样,我们需要关注几个部分:

version: '3.8' services: openclaw: image: openclaw/openclaw:latest container_name: openclaw restart: unless-stopped ports: - "3000:3000" # 将容器的3000端口映射到主机的3000端口 environment: - OPENAI_API_KEY=${OPENAI_API_KEY} # 使用云端OpenAI API - OPENAI_BASE_URL=${OPENAI_BASE_URL} # 可改为其他兼容API的地址 - DEFAULT_MODEL=gpt-4o-mini # 默认使用的模型 # - OLLAMA_BASE_URL=http://host.docker.internal:11434 # 如果使用本地Ollama,取消注释并修改 volumes: - ./data:/app/data # 持久化存储数据 networks: - openclaw-network networks: openclaw-network: driver: bridge

需要修改和注意的环境变量:

  1. OPENAI_API_KEY:如果你使用OpenAI的官方API,需要在此处填入你的API Key。但更安全的做法是使用环境变量文件。创建一个名为.env的文件:

    # .env 文件内容 OPENAI_API_KEY=sk-your-actual-openai-api-key-here OPENAI_BASE_URL=https://api.openai.com/v1 DEFAULT_MODEL=gpt-4o-mini

    然后在docker-compose.yml中引用:env_file: - .env切记不要将真实的API Key直接硬编码在yml文件中,更不要提交到Git仓库。

  2. 使用本地模型(Ollama):如果你想在服务器上运行开源模型,需要先部署Ollama服务。可以在docker-compose.yml中增加一个Ollama服务,或者单独运行。然后修改OpenClaw的环境变量:

    environment: - OLLAMA_BASE_URL=http://ollama:11434 # 如果Ollama在同一个compose网络中 # 或者如果Ollama运行在宿主机上,Docker容器需要特殊方式访问 - OLLAMA_BASE_URL=http://host.docker.internal:11434 # 对于Linux,可能需要额外配置 - DEFAULT_MODEL=qwen2.5:7b-instruct # 你通过Ollama拉取的模型名

    踩坑记录:在Linux服务器上,Docker容器默认无法通过host.docker.internal访问宿主机服务。解决方法有两种:一是使用network_mode: host让容器共享主机网络(不推荐,有安全风险);二是在启动Docker时添加--add-host=host.docker.internal:host-gateway参数,或者在docker-compose.yml中为服务添加extra_hosts: - "host.docker.internal:host-gateway"。最清晰的方式是将Ollama也作为Compose中的一个服务。

  3. 端口映射:确保ports部分的3000:3000已设置,这样你才能通过http://你的服务器IP:3000访问OpenClaw的Web界面。

3.3 启动服务与验证

配置完成后,启动服务:

# 在包含 docker-compose.yml 和 .env 文件的目录下执行 docker compose up -d

-d参数表示在后台运行。使用以下命令查看日志和状态:

# 查看运行状态 docker compose ps # 查看OpenClaw容器的实时日志 docker compose logs -f openclaw

如果看到日志显示服务已启动在3000端口,没有报错,就可以打开浏览器访问了。

首次访问验证: 在浏览器地址栏输入http://<你的腾讯云服务器公网IP>:3000。如果能看到OpenClaw的登录或初始化界面,说明部署成功。首次使用可能需要创建一个管理员账户。

4. 模型接入:连接AI的“大脑”

部署好框架只是搭好了舞台,接入模型才是引入主角。OpenClaw支持多种模型接入方式。

4.1 方式一:使用云端API(最简单)

这是最快上手的方式。你只需要在OpenClaw的Web界面或环境变量中配置好API信息。

  1. 在OpenClaw Web界面,通常会有设置或模型配置页面。
  2. 填入你的API提供商(如OpenAI、Anthropic、DeepSeek等)的Base URL和API Key。
  3. 选择可用的模型(如gpt-4o-mini,claude-3-5-sonnet-20241022)。
  4. 保存后,即可在创建智能体时选择该模型。

优点:无需关心算力,模型能力强大且稳定。缺点:持续产生API调用费用,数据需要传输到第三方。

4.2 方式二:本地部署Ollama + 开源模型(更可控)

如果你想完全掌控数据,或者长期使用成本更低,可以在同一台Lighthouse服务器上部署Ollama来运行开源模型。

步骤1:部署Ollama同样使用Docker方式部署Ollama:

# 创建一个单独的目录,或者在上面的docker-compose.yml中新增服务 # 这里演示单独运行 docker run -d -v ollama_data:/root/.ollama -p 11434:11434 --name ollama --restart always ollama/ollama

步骤2:拉取并运行模型Ollama启动后,拉取一个模型,例如轻量级的Qwen2.5:

# 进入Ollama容器执行命令,或者直接在宿主机上通过curl操作API # 方法1:进入容器 docker exec -it ollama ollama pull qwen2.5:7b-instruct # 方法2:通过API拉取(推荐,可以看到进度) curl http://localhost:11434/api/pull -d '{"model": "qwen2.5:7b-instruct"}'

拉取需要时间,取决于模型大小和网络。7B模型大约4-5GB。

步骤3:在OpenClaw中配置Ollama修改OpenClaw的配置,将模型端点指向Ollama。如前所述,需要确保网络连通。如果Ollama和OpenClaw都用Docker Compose管理,配置最简单:

# 在docker-compose.yml中 services: ollama: image: ollama/ollama:latest container_name: ollama restart: unless-stopped volumes: - ollama_data:/root/.ollama networks: - openclaw-network openclaw: # ... 其他配置不变 environment: - OLLAMA_BASE_URL=http://ollama:11434 # 使用服务名访问 - DEFAULT_MODEL=qwen2.5:7b-instruct networks: - openclaw-network # 确保depends_on设置,让openclaw在ollama之后启动 depends_on: - ollama volumes: ollama_data: networks: openclaw-network: driver: bridge

然后重启服务:docker compose down && docker compose up -d

注意事项:在资源有限的服务器上运行7B模型,推理速度可能较慢(一次生成可能需要10-30秒)。你可以尝试更小的模型(如3B、1.5B),或者使用量化版本(如qwen2.5:7b-instruct-q4_K_M),Ollama在拉取时默认会下载一个优化过的版本。可以通过ollama pull qwen2.5:7b-instruct-q4_K_M指定。

5. 技能配置与实战:让你的智能体“活”起来

OpenClaw的核心价值在于其“技能”(Skills)系统。智能体通过调用技能来与现实世界交互。

5.1 内置技能与自定义技能

OpenClaw通常自带一些基础技能,如:

  • 网页搜索:让AI能获取实时信息。
  • 代码执行:在沙箱中运行Python代码,进行数据分析或计算。
  • 文件读写:管理服务器上的文件。
  • HTTP请求:调用外部API。

启用这些技能通常需要在Web界面的“技能”或“插件”管理页面进行配置。例如,配置网页搜索可能需要填入Serper或Google Search API的密钥。

5.2 配置一个实战技能:自动发送邮件

我们以配置一个“发送邮件”技能为例,展示如何让智能体执行具体任务。

  1. 准备SMTP信息:你需要一个邮箱的SMTP服务器信息(如QQ邮箱、163邮箱或企业邮箱)。以QQ邮箱为例,需要在邮箱设置中开启POP3/SMTP服务并获取授权码(不是登录密码)。

  2. 在OpenClaw中配置技能

    • 进入OpenClaw Web管理界面,找到技能配置区域。
    • 找到“Email”或“SMTP”相关技能,点击配置。
    • 填入以下信息:
      • SMTP服务器:smtp.qq.com
      • 端口:465(SSL) 或587(TLS)
      • 发件人邮箱:your-email@qq.com
      • 密码/授权码:你的QQ邮箱授权码
      • 默认收件人:(可选)
  3. 创建智能体并测试

    • 创建一个新的智能体(Agent)。
    • 在它的技能列表中,勾选上刚刚配置好的“发送邮件”技能。
    • 给智能体下达指令:“请给test@example.com发送一封邮件,主题是‘OpenClaw测试’,内容为‘这是一封来自腾讯云Lighthouse上部署的OpenClaw智能体的测试邮件。’”
    • 观察智能体的执行过程。它应该会理解你的指令,调用邮件技能,并成功发送。

5.3 技能组合与复杂工作流

真正的威力在于技能组合。你可以创建一个智能体,让它:

  1. 使用“网页搜索”技能查找今天某地的天气。
  2. 使用“代码执行”技能,将天气数据整理成一份简报。
  3. 使用“发送邮件”技能,在每天上午9点将简报发送给你。
  4. 使用“HTTP请求”技能,如果发现暴雨预警,则触发一个钉钉/飞书群通知。

OpenClaw的“工作流”或“计划任务”功能可以帮你编排这些复杂的自动化流程。这需要你在Web界面中通过图形化或YAML方式定义任务的触发条件和执行步骤。

6. 网络与安全优化:让服务更稳定、更安全

在公网服务器上运行服务,安全和稳定性不容忽视。

6.1 使用Nginx反向代理与配置HTTPS

直接通过IP和端口访问既不安全也不专业。我们需要用Nginx做反向代理,并配置SSL证书启用HTTPS。

步骤1:安装Nginx

sudo apt install -y nginx

步骤2:配置Nginx站点创建一个新的配置文件:

sudo vim /etc/nginx/sites-available/openclaw

内容如下(替换your_domain.com为你的域名或服务器IP):

server { listen 80; server_name your_domain.com; # 或你的服务器IP location / { proxy_pass http://localhost:3000; # 指向OpenClaw服务 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; # 以下两行对WebSocket很重要,如果OpenClaw有实时功能 proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } }

创建符号链接并测试配置:

sudo ln -s /etc/nginx/sites-available/openclaw /etc/nginx/sites-enabled/ sudo nginx -t # 测试配置语法 sudo systemctl reload nginx # 重载配置

现在,你可以通过http://your_domain.com访问OpenClaw了。

步骤3:使用Let‘s Encrypt配置HTTPS(免费SSL证书)安装Certbot工具:

sudo apt install -y certbot python3-certbot-nginx

获取并安装证书:

sudo certbot --nginx -d your_domain.com

按照交互提示操作,Certbot会自动修改Nginx配置,将HTTP重定向到HTTPS,并管理证书续期。

6.2 基础安全加固

  1. 修改SSH端口:编辑/etc/ssh/sshd_config,将Port 22改为一个非标准端口(如Port 23456),然后重启SSH服务sudo systemctl restart sshd务必在操作前确保新端口已在安全组中开放,并保持一个现有连接不关闭以测试新端口,否则可能被锁在服务器外。
  2. 禁用root密码登录:在sshd_config中设置PermitRootLogin prohibit-passwordPermitRootLogin no,并改用密钥对登录。
  3. 配置防火墙(UFW):Ubuntu自带的UFW防火墙易于使用。
    sudo ufw allow 23456/tcp # 允许新的SSH端口 sudo ufw allow 80/tcp sudo ufw allow 443/tcp # 如果你不再需要直接访问3000端口,可以关闭它,因为我们已经用了Nginx代理 # sudo ufw deny 3000/tcp sudo ufw enable
  4. 定期更新:设置无人值守更新或定期手动执行sudo apt update && sudo apt upgrade
  5. 备份数据:定期备份OpenClaw容器挂载的本地数据卷(./data目录)。腾讯云Lighthouse也提供快照功能,可以在重大变更前创建系统盘快照。

7. 运维与故障排查:保持智能体稳定运行

部署完成只是开始,日常运维和问题排查同样重要。

7.1 常用Docker命令

  • 查看日志docker compose logs -f openclaw(实时查看)
  • 重启服务docker compose restart openclaw
  • 停止服务docker compose down(会停止并删除容器,但保留数据卷)
  • 更新镜像:先拉取最新镜像docker compose pull openclaw,然后docker compose up -d
  • 进入容器docker exec -it openclaw /bin/bash(用于调试)。
  • 查看资源占用docker stats

7.2 常见问题与解决方案

问题1:访问http://IP:3000连接被拒绝或超时。

  • 检查:服务器安全组是否开放了3000端口?sudo ufw status查看防火墙规则。
  • 检查:OpenClaw容器是否正在运行?docker compose ps
  • 检查:容器日志是否有错误?docker compose logs openclaw。常见错误是环境变量配置不对导致启动失败。

问题2:智能体调用模型时长时间无响应或报错。

  • 如果使用Ollama:首先检查Ollama服务是否正常,curl http://localhost:11434/api/tags查看已拉取的模型。检查OpenClaw中OLLAMA_BASE_URL配置是否正确(容器内网络)。尝试在Ollama容器内直接运行对话测试:docker exec -it ollama ollama run qwen2.5:7b-instruct
  • 如果使用API:检查API Key是否正确,是否有余额,网络是否能访问API端点(在服务器上curl测试一下)。

问题3:服务器内存/CPU占用过高。

  • 排查:运行htop命令查看进程。罪魁祸首通常是Ollama运行的模型。
  • 解决:考虑换用更小的模型,或者使用更激进的量化(如q4_K_S)。调整Ollama的并行参数(OLLAMA_NUM_PARALLEL)限制并发请求。如果使用API方案,则此问题不显著。

问题4:Docker容器启动失败,提示端口被占用。

  • 解决sudo netstat -tulpn | grep :3000查找占用端口的进程,停止它或修改docker-compose.yml中的端口映射(如"8080:3000")。

问题5:数据丢失。

  • 预防:确保docker-compose.yml中配置了数据卷持久化(- ./data:/app/data)。定期备份这个./data目录。

7.3 性能监控与日志管理

对于长期运行的服务,建议配置基础监控:

  • 基础监控:腾讯云Lighthouse控制台自带CPU、内存、流量监控图表。
  • 日志管理:Docker容器的日志默认会增长。可以配置日志轮转,在docker-compose.yml中为服务添加日志驱动和大小限制:
    services: openclaw: # ... 其他配置 logging: driver: "json-file" options: max-size: "10m" max-file: "3"
    这会将每个容器的日志文件限制为最多3个,每个10MB。

部署和运维OpenClaw的过程,就是一个典型的云原生应用管理实践。从资源规划、容器化部署、网络配置到安全加固和故障排查,每一步都考验着对系统和工具的理解。当看到自己部署的智能体能够稳定运行,并按照指令完成一个个任务时,那种成就感远超单纯调用一个在线API。这个在腾讯云Lighthouse上搭建的AI智能体平台,不仅是一个工具,更成为了一个可扩展、可定制的自动化基础架构起点。你可以基于它,继续探索更复杂的技能集成、多智能体协作,或是将其作为后端服务,为你自己的应用注入AI能力。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询