OpenClaw 3.13 实战:从零在 Ubuntu 部署龙虾智能体,打通微信、浏览器与 Docker 全链路

OpenClaw 3.13 实战:从零在 Ubuntu 部署龙虾智能体,打通微信、浏览器与 Docker 全链路

文章目录

目前国内还是很缺AI人才的,希望更多人能真正加入到AI行业,共同促进行业进步,增强我国的AI竞争力。想要系统学习AI知识的朋友可以看看我精心打磨的教程 http://blog.ZEEKLOG.net/jiangjunshow,教程通俗易懂,高中生都能看懂,还有各种段子风趣幽默,从深度学习基础原理到各领域实战应用都有讲解,我22年的AI积累全在里面了。注意,教程仅限真正想入门AI的朋友,否则看看零散的博文就够了。

前言

这"龙虾"最近火得连楼下卖煎饼的大爷都在问怎么养,但你真要在Ubuntu上把这玩意儿跑起来,还得打通微信、浏览器这些渠道,里面的坑比龙虾壳上的刺还多。今天这篇就手把手教你从裸机到上线,全程Docker隔离,保证你的服务器不被这AI"钳子"夹坏。

一、先搞明白:这"龙虾"到底是个啥?

别被网上那些"AI取代人类"的标题党忽悠了。OpenClaw(社区爱称"龙虾")说白了就是一个住在你服务器里的数字长工。它由奥地利开发者Peter Steinberger在2025年底开源,原名Clawdbot,因为跟Claude太像被发了律师函,改成Moltbot(蜕皮的龙虾),最后定名OpenClaw。

跟ChatGPT那种"嘴炮型AI"不同,这货是"动手型"的。你给权限,它真能打开浏览器填表单、操作Excel、发微信消息。但记住,它是个双刃剑——工信部已经预警过,配置不当的OpenClaw实例可能被黑客当后门用。

咱们今天要部署的3.13版本(写稿时最新稳定版),核心架构就四块:

  • Gateway(网关):本地WebSocket服务器,默认蹲守在18789端口
  • Agent(智能体):干活的大脑,靠大模型API驱动
  • Skills(技能):教龙虾新本领的说明书,Markdown或脚本格式
  • Memory(记忆):它自己写的"日记",记着你的喜好和任务历史

二、Ubuntu环境准备:别让权限坑了你

我假设你已经有台Ubuntu 22.04/24.04的服务器(腾讯云阿里云都行)。第一件事:把Docker搞定,这是后续所有隔离措施的基础。

先卸载旧版(如果有)

sudoapt-get remove docker docker-engine docker.io containerd runc 

安装依赖

sudoapt-get update sudoapt-getinstall-y ca-certificates curl gnupg lsb-release 

添加Docker官方GPG密钥

curl-fsSL https://download.docker.com/linux/ubuntu/gpg |sudo gpg --dearmor-o /usr/share/keyrings/docker-archive-keyring.gpg 

加源

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"|sudotee /etc/apt/sources.list.d/docker.list > /dev/null 

安装Docker

sudoapt-get update &&sudoapt-getinstall-y docker-ce docker-ce-cli containerd.io docker-compose-plugin 

关键一步:免sudo运行,不然后续OpenClaw调Docker权限会炸

sudogroupadddockersudousermod-aGdocker$USER newgrp dockerdockerps# 验证下,不出permission denied就对了

防火墙记得开18789端口,云服务器要去控制台安全组放行,这是新手最容易卡住的地方。

三、Docker部署OpenClaw:把龙虾关进玻璃缸

官方推荐用Docker Compose部署,这样环境隔离最安全。咱们建个目录专门伺候这"龙虾":

mkdir ~/openclaw-lab &&cd ~/openclaw-lab 
cat> docker-compose.yml <<'EOF' version: '3.8' services: openclaw: image: ghcr.io/openclaw/openclaw:3.13 container_name: openclaw-lobster restart: unless-stopped ports: - "18789:18789" environment: - NODE_ENV=production - OPENCLAW_PORT=18789 # 大模型API Key,这里以OpenAI为例,换成国产模型也行 - OPENAI_API_KEY=${OPENAI_API_KEY} - OPENAI_API_BASE=${OPENAI_API_BASE:-https://api.openai.com/v1} volumes: # 持久化存储,记住你的"龙虾"会越长越聪明 - ./memory:/app/memory - ./skills:/app/skills - ./config:/app/config networks: - clawnet networks: clawnet: driver: bridge EOF

重点来了:volumes那三块挂载是精髓。memory存它的长期记忆,skills放你自定义的技能插件,config放配置文件。这样即使容器炸了,你的"养虾成果"也不会丢。

启动前把API Key塞进环境变量文件:

echo"OPENAI_API_KEY=sk-your-key-here"> .env echo"OPENAI_API_BASE=https://api.openai.com/v1">> .env # 如果用国产模型,换成对应base url
docker compose up -d

等个一两分钟,访问http://你的服务器IP:18789,看到初始化界面就算成了。首次登录会让你设管理员密码,设复杂点,这玩意被爆破就全完了。

四、接入微信:让龙虾蹲在你的聊天列表里

这是国内玩家最关心的功能。OpenClaw支持多种接入渠道,微信是最实用的,但也是合规风险最高的。这里只讲技术原理,实际使用前请务必查阅微信官方文档,别违规操作导致封号。

微信接入本质上是通过企业微信API或微信iPad协议(WeChaty等库)转发消息。咱们用Docker再启一个微信适配器服务,跟主OpenClaw隔离:

docker-compose.yml里追加服务

wechat-adapter:image: wechaty/wechaty:latest container_name: openclaw-wechat restart: unless-stopped environment:- WECHATY_PUPPET_NAME=wechaty-puppet-padlocal # iPad协议,需token- OPENCLAW_GATEWAY=http://openclaw:18789networks:- clawnet depends_on:- openclaw 

配置里有个wechaty-puppet-padlocal,这是目前较稳定的iPad协议方案,但需要申请token(有免费额度)。配置好后,你的微信消息就会通过WeChaty转发给OpenClaw处理,回复再走原路返回。

切记:个人微信用协议接入属于灰色地带,生产环境建议用企业微信官方API,虽然功能受限但合法合规。

五、浏览器自动化:给龙虾装上"钳子"

OpenClaw最骚的操作是能控制浏览器。在./skills目录下建个新技能,让它帮你查资料:

mkdir-p skills/web-search cat> skills/web-search/skill.md <<'EOF' name: web-search description: 自动打开浏览器搜索信息并提取结果 tools: - browser - read ---- 当用户要求搜索信息时: 1. 使用browser工具打开百度或Google 2. 输入关键词并执行搜索 3. 使用read工具提取前5条结果标题和链接 4. 整理成Markdown格式返回 EOF

这个Markdown文件就是Skill(技能说明书)。OpenClaw的Agent读到后,就知道遇到搜索需求该调浏览器工具。实际执行时,它会在Docker里启动一个无头Chrome(Chromium),完成任务后自动销毁,不会污染你的宿主机。

想玩更高级的?可以接playwright或puppeteer技能包,让它自动填表、抢票、爬数据。但警告:别拿它干坏事,浏览器自动化最容易触发反爬机制,IP被封了别怪我。

六、安全加固:给你的"龙虾"上把锁

前面说过,OpenClaw默认配置可能有安全风险。咱们既然用了Docker,就必须做这几层防护:

1. 网络隔离

上面的Compose配置里用了clawnet这个自定义网络,千万别把18789端口直接暴露到公网(除非你有SSL+强认证)。建议用Nginx反代加Basic Auth:

server { listen 443 ssl; server_name your-domain.com; location / { auth_basic "Restricted"; auth_basic_user_file /etc/nginx/.htpasswd; proxy_pass http://localhost:18789; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } } 

2. 权限最小化

OpenClaw的容器默认跑的是root,这很危险。改一下Compose,用非root用户跑:

services:openclaw:image: ghcr.io/openclaw/openclaw:3.13user:"1000:1000"# 映射宿主机普通用户...其他配置 

3. 资源限制

防止你的"龙虾"发疯吃光服务器资源:

deploy:resources:limits:cpus:'2'memory: 4G reservations:cpus:'0.5'memory: 512M 

4. 审计日志

企业级部署一定要开审计。在config目录下放个audit.json:

{"auditEnabled":true,"logPath":"/app/logs/audit.log","logCommands":true,"logAccess":true}

这样它每执行一个shell命令、每访问一次文件,都有记录。万一出事了能溯源。

七、实战:让它自动处理日报

来,咱们跑个完整流程。假设你是个项目经理,每天要让"龙虾"自动:

  1. 登录企业邮箱(浏览器自动化)
  2. 下载昨天的日报附件(文件操作)
  3. 解压并分析Excel内容(代码执行)
  4. 把统计结果发到你微信(消息推送)

在Skills目录建个daily-report:

---- name: daily-report schedule: "0 9 * * *" # 每天早上9点 任务流程: 1. 使用browser登录mail.yourcompany.com 2. 搜索主题含"日报"且日期为昨天的邮件 3. 下载附件到/tmp/reports/ 4. 使用python脚本分析Excel(pandas读取,统计完成率) 5. 生成文字摘要 6. 调用wechat-adapter发送消息给用户 

然后在OpenClaw的Web面板里激活这个Skill,设置好你的企业邮箱凭证(用环境变量或加密存储,千万别硬编码在skill文件里)。

第二天早上9点,你就会收到微信消息:“昨日日报已收齐,平均完成率87%,张三 delay 了任务…”。

八、踩坑总结:这些雷我帮你踩过了

  1. 内存爆炸:OpenClaw默认会缓存大量对话历史,小内存服务器(<2G)一定加swap,否则OOM杀进程哭都没地方哭。
  2. 微信被封:频繁发消息或加好友会触发风控。建议把消息频率限制在每分钟5条以内,且别用它群发营销信息。
  3. Skills不生效:改完skill文件需要重启容器,或者进Web面板点"Reload Skills",热加载有时有延迟。
  4. 中文乱码:Ubuntu服务器默认locale可能没设UTF-8,先执行locale-gen zh_CN.UTF-8,不然微信发过来的是乱码。
  5. API Key泄露:千万别把.env文件提交到GitHub。OpenClaw社区已经有案例,Key泄露后被薅羊毛,一晚上烧了2000刀。

写到这,你的Ubuntu服务器上应该已经跑着一只听话的"数字龙虾"了。它每天帮你处理重复性工作,你在旁边看着就行。但记住,它只是个工具,不是爹。别指望它解决所有问题,也别完全放手让它自己乱搞—— especially 涉及钱和隐私的操作,必须人工确认。

最后提醒:OpenClaw迭代速度极快,3.13版本的配置到了3.14可能就有变动。部署前务必查阅官方文档。祝养虾愉快,记得给服务器备份,别让它"蜕皮"的时候把你也蜕了。

目前国内还是很缺AI人才的,希望更多人能真正加入到AI行业,共同促进行业进步,增强我国的AI竞争力。想要系统学习AI知识的朋友可以看看我精心打磨的教程 http://blog.ZEEKLOG.net/jiangjunshow,教程通俗易懂,高中生都能看懂,还有各种段子风趣幽默,从深度学习基础原理到各领域实战应用都有讲解,我22年的AI积累全在里面了。注意,教程仅限真正想入门AI的朋友,否则看看零散的博文就够了。

在这里插入图片描述
Could not load content