多彩编程 多彩编程MZPH · CODE BLOG
ARTICLE DETAIL

文章详情

深耕前端与后端开发技术的一线实战笔记与踩坑复盘。

OpenClaw 部署实战:从腾讯云轻量服务器到智能体落地

OpenClaw 部署实战:从腾讯云轻量服务器到智能体落地 1. 一台轻量服务器怎么把 OpenClaw 的搭建成本压到最低1.1 为什么我先在笔记本上翻车才换到腾讯云OpenClaw原 Clawdbot这名字最近在圈子里出现的频率越来越高但真正动手部署过的人并不算多。我最早是在自己笔记本上跑的当时想的很简单下载个安装脚本本地起个服务能聊天就算成功。结果从 Docker Desktop 装到内存配额设置从镜像拉取到端口映射折腾到半夜才把 demo 跑通。第二天笔记本一合盖所有任务全部断线那一刻我才意识到OpenClaw 这种“常驻型智能体网关”根本不适合放在个人电脑上。所谓常驻型智能体网关通俗理解就是一个 24 小时待命的“数字管家”它要随时接收消息、执行技能脚本、处理回调。笔记本的合盖休眠、网络切换、系统更新都会打断它。换成腾讯云轻量服务器之后体验完全不一样SSH 断开不影响任务执行后台挂着也不用担心散热和电量Web 控制台随时登录。所以这篇文章里的“2 分钟搭建”真实含义是你已经有了一台装好 Ubuntu 的腾讯云服务器接下来从零把 OpenClaw 装好并跑通基础对话。如果你还没买过服务器先花几分钟去腾讯云控制台买一台轻量服务器再回来继续看。1.2 机型选型与系统镜像的选择逻辑腾讯云的轻量应用服务器2核4G、带宽5M的配置对 OpenClaw 这类服务完全够用。它本质是一个“集装箱式”的云主机自带了一套简化的管控界面很适合个人开发者和中小项目。如果你只是想连 API 跑 Agent2核2G 也能凑合但如果你想在同一台机器上再跑 Ollama 本地模型内存会非常紧张建议直接上 4G。我实际用下来的感受是2核4G 是舒服的起步线别在这上面省几十块钱。系统镜像这块有一个容易被忽略的细节腾讯云轻量服务器的镜像市场里CentOS 和 Debian/Ubuntu 都有但 OpenClaw 官方安装脚本在 Debian/Ubuntu 系上最稳。我建议选 Ubuntu 22.04 LTS原因是它处于生命周期内软件包版本新Node 和 Docker 依赖的兼容性问题最少。Ubuntu 24.04 LTS 也可以但某些第三方的二进制依赖还在适配中。下面是不同场景的选型参考使用场景推荐配置系统镜像带宽个人试玩、只接 API2核2GUbuntu 22.04 LTS4M接 API 跑少量 skill2核4GUbuntu 22.04 LTS5M本地模型 多技能并发4核8GUbuntu 24.04 LTS8M团队生产环境4核16G 起步Ubuntu 24.04 LTS按量付费1.3 安全组配置安装前最容易忽略的一步很多教程会直接带你敲安装命令却不说清楚前置条件。腾讯云轻量服务器默认防火墙只放行 22 端口SSH而 OpenClaw 的 Web 控制台默认监听在 3000 或 8080 端口看版本。如果不先在安全组里放行对应端口就算安装成功浏览器也永远打不开控制台页面。我的建议是在腾讯云控制台的防火墙规则里只放行“自己当前公网 IP”的访问而不是粗放地放行 0.0.0.0/0。原因很简单OpenClaw 控制台后面托着你的模型 API Key 和技能脚本暴露到公网就等于把家门钥匙放到门垫下面。这里用的词是“防火墙”而不是“安全组”是因为轻量服务器的控制台文案就是这么叫的实际功能类似。提示如果你后续要配置 Webhook 回调或让手机在外网访问不要直接改防火墙为全放行更稳妥的做法是绑定域名后用访问令牌保护入口。这个后面我会专门讲。2. “两分钟”不吹牛自动安装脚本的实际执行过程2.1 安装脚本到底做了哪几件事OpenClaw 的官方安装方式是一条命令从远端拉取脚本执行这条命令在官网和 GitHub README 里都能找到。我在腾讯云服务器上实际执行时特意开了一个终端窗口盯着日志发现整个脚本的核心工作可以拆成四步检查并安装 Docker 容器运行时、从镜像仓库拉取 OpenClaw 核心镜像、生成默认配置文件目录、启动网关服务。之所以在国内服务器上装反而比本地快是因为腾讯云自带的镜像加速能力拉镜像的速度非常稳定。我在本地跑同样的步骤时光等镜像就花了十几分钟体验天差地别。安装过程中你可能会看到几个警告比如 Docker 版本过旧、curl 未安装这些都不用慌按提示补装就行。最稳妥的做法是在执行安装命令前先手动确认环境apt update apt install -y curl ca-certificates2.2 安装完成后的初始化向导关键选项怎么选2026 年版本的 OpenClaw安装完成后并不会直接给你一个“能对话的机器人”而是进入一个交互式初始化向导。向导会让你选几个关键项目连接器类型、配置保存路径、记忆存储方式。我逐项说下我的选择思路。连接器类型我选的是 Claude/Anthropic 兼容端点这是 OpenClaw 的原生接口如果你用的是其他模型网关可以选 OpenAI 协议后面在配置文件里手动指定 base_url。配置保存路径直接用默认的就好OpenClaw 默认放在~/.openclaw/下这个目录后面所有技能文件也都会住进来。记忆存储方式我建议个人使用直接选 SQLite。网上有人一上来就 MySQL、Redis 全上实际上对个人助理来说SQLite 完全够用盲上复杂存储只会增加后期的迁移和维护成本。2.3 怎么确认它真的跑起来了很多人安装完第一件事就是打开浏览器访问控制台但我更建议先用命令行确认服务状态。OpenClaw 自带的 CLI 工具提供了status和logs两个子命令openclaw status openclaw logs --tail 20如果status显示 runninglogs里没有致命错误再打开浏览器访问控制台。控制台能正常显示问候语并完成一轮对话说明“壳”已经通了。但这只是第一步OpenClaw 本身不包含大模型它只是个调度层接下来要做的才是真正决定“好不好用”的部分——接算力。3. 接算力才是真正卡脖子的环节API 与本地 Ollama 双路线3.1 API 路线快、稳、省心但要注意三个字段OpenClaw 的项目定位决定了它自己不带模型权重所有智能能力都来自外部模型服务。目前主流对接方式有两种一种是配置 Anthropic 兼容 API一种是配置 OpenAI 兼容 API。2026 年很多模型服务商都提供这两种协议的兼容端点关键是填对三个字段base_url、api_key、model。我用的模型网关走的是 OpenAI 兼容协议配置命令如下openclaw config set model.provider openai openclaw config set model.base_url https://你的端点地址 openclaw config set model.api_key 你的密钥 openclaw config set model.name gpt-4o-mini openclaw restart这里有一个小白特别容易踩的坑model.name必须和服务商实际请求时用的“模型 ID”完全一致。有些服务商的文档页写的是展示名实际 API 请求却要走内部 ID。填错的表现是控制台页面正常但一发起对话就报 404 model not found。所以配置完之后第一件事不是聊天而是先看日志确认模型请求有没有被正确接受。3.2 本地模型路线Ollama 部署与资源权衡如果你更看重隐私或者想省下 API 费用可以在腾讯云服务器上直接装 OllamaOpenClaw 对本地模型的支持已经很成熟。我在 2核4G 的机器上实测过能流畅跑的模型基本是 7B 以下的量化版本比如qwen2.5:7b-instruct-q4_K_M。再往上走参数量大了之后推理速度会慢到让你怀疑人生内存也容易直接打满。Ollama 安装很简单同样是一条命令curl -fsSL https://ollama.com/install.sh | sh ollama pull qwen2.5:7b-instruct-q4_K_M拉完之后让 OpenClaw 指向本地地址即可。这里有个参数细节容易被忽略Ollama 的 OpenAI 兼容端点地址是http://127.0.0.1:11434/v1一定要带/v1。OpenClaw 调用外部模型时会在 base_url 后面拼上/chat/completions如果你漏了/v1请求就会落到错误的路径上返回 404。另外一个实际体验是本地模型的“首字延迟”比较高如果腾讯云服务器选的是机械硬盘加载模型的速度会让你抓狂预算允许的话系统盘直接上 SSD。3.3 关于 tokenplan、ccswitch 接入 Codex 等外部计费通道的实测说明最近社区里“通过 ccswitch 接入 Codex / tokenplan”的讨论很多这本质上是在 OpenClaw 和模型服务商之间插了一个计费与配额管理的中间层。它能统一管理多个 Key、按项目划分 token 用量、设置月度限额。原理不复杂OpenClaw 在配置 provider 时指向 ccswitch 提供的 base_url按 OpenAI 协议传请求中间层再转发给真正的模型服务商。我在测试环境里接过一个类似的网关体感最明显的好处是手上有多个模型账号时不用来回改 OpenClaw 配置文件中间层会自动路由和做预算限制。但这里我要泼一盆冷水这类中间层服务形态变化很快项目可能这周还在更新、下周就停止维护而且密钥经过第三方中转泄露风险比官方端点更大。个人折腾可以生产环境慎重。不要把生产环境的 Key 也塞进去尽量用子 Key 或限额 Key 把风险隔离掉。4. 把 skill 用起来OpenClaw 从“能动”到“能干活”4.1 先理解 skill 的加载逻辑OpenClaw 最吸引我的不是聊天而是 skill 机制。它允许把一批指令、工具调用脚本、提示词模板打包成一个技能文件Agent 在对话时根据意图自动去加载这个文件。用生活化的类比聊天只是面试官在跟你打招呼skill 才是你的岗位说明书和工具箱。没有 skill 的 OpenClaw 只是个聊天机器人有了 skill 它才能真正替你干活。一个 skill 通常包含三个要素触发条件描述、执行脚本或 API 调用、输出解析规则。配置格式支持 JSON 和 Markdown文件放在~/.openclaw/skills/目录下服务启动时会自动扫描。我在实践中最常用的是 Markdown 格式它的可读性更强团队协作时也更容易 Review。4.2 电商场景的自动回复技能示例搜索热词里“openclaw 电商”热度很高我拿一个电商客服场景做最小示例。假设你的需求是AI 自动回答“发货时间”和“退换货规则”不再需要人工一条条敲。在 skills 目录下创建一个文件夹shop_service里面放一个SKILL.md--- name: shop_service description: 处理电商售前售后咨询包括发货时间、退换货规则、物流查询。 triggers: - 发货 - 退换货 - 物流 --- ## 查询物流 调用接口: GET https://api.shop.example.com/logistics?order_id{order_id} 字段映射: 把返回的 tracking_status 翻译成用户能看懂的短语。这里面最关键的字段其实是description因为它决定了意图路由的准确度。我实测下来triggers关键词设三个核心词就够了写太多反而容易误触发。比如你把“退”这个字加进去用户说“退款”会触发说“我想退出登录”也会触发这就是误伤。4.3 skill 的调试与权限边界调试 skill 最大的痛点是“你以为加载了其实没加载”。新增或修改 skill 之后先执行openclaw skills list确认它出现在列表里。如果没出现90% 是 YAML 缩进错误或者description字段缺失。剩下的 10% 是目录权限问题——如果~/.openclaw/skills/目录属主不对服务进程根本读不到文件。另一个必须强调的坑skill 里可以执行任意脚本这意味着权限控制非常重要。OpenClaw 默认会在执行高风险命令前做二次确认那个确认提示别为了一时省事全局关掉。尤其是服务器上存着生产数据的时候一个写错路径的删除命令就能让你后悔半天。我的习惯是所有涉及文件删除、外网请求、数据库写入的 skill都要在脚本里加一层白名单检查宁可多写几行代码也不要裸奔。5. 手机 Termux 与 Windows Companion 的联动玩法5.1 Termux 手机版安装步骤“openclaw 安卓部署”是另一个高频搜索词。Android 上最靠谱的安装方式是用 Termux它相当于一个手机上的 Linux 终端环境。我在真机上试过步骤可以浓缩成下面几条pkg update pkg install -y nodejs git git clone https://github.com/你的目标仓库/openclaw.git cd openclaw npm install npm run start:mobile这里我不把仓库地址写死是因为项目版本更新很快你直接打开官方仓库的 README 复制最新地址最稳妥。手机端跑起来的物理限制很明显内存小、电池掉电快、后台进程容易被系统回收。所以我的建议是手机端只做“远程查看”和“快速命令入口”别指望在手机上跑完整的技能链。如果你非要用手机演示完整功能记得把模型切换到外部 API而不是本地模型否则第一批 token 还没生成完手机已经烫手了。5.2 Windows Companion 到底解决什么问题Windows Companion 不是手机端的替代品而是把 Windows 桌面环境的能力“借给”OpenClaw。最直观的用途是文件系统操作和剪贴板交互你在 Windows 某个目录里放一份文档OpenClaw 可以通过 Companion 直接读取、摘要、写回而不需要先把文件上传到云端服务器。我在 Windows 上配置 Companion 时折腾最久的是本地端口认证。后来发现解法其实很简单在 OpenClaw 的配置里填同一个 token 就行。这里有个小坑token 不要包含中文和特殊符号否则 Windows 端的配置文件解析会出问题。配置完成后Companion 会监听一个本地端口OpenClaw 主实例通过这个端口下发文件操作指令。5.3 多端协同的注意点一套配置同时给服务器、Windows、手机用听起来很理想现实是各端能力和依赖差异非常大。我目前的策略是服务器端作为主实例存全部 skill 和记忆Windows 端只开 Companion 模式负责文件读取和剪贴板操作手机端用轻量客户端连回主实例。这套策略的好处是避免了三端“记忆不同步”的问题——你手机上和 Agent 聊的每一句话Windows 端不会重复存一份。坏处是配置速度稍慢每次调 skill 都要在服务器上改。提示多端共用同一个 API Key 时注意服务商是否有并发限制。有些模型服务商限制了单 Key 的并发数三端同时请求时你会看到一会儿能回、一会儿超时的诡异现象。6. 网络与自动化进阶小米 BE6500 Pro 的腾讯云 DDNS ROS 2 场景6.1 为什么在家里路由器上加腾讯云 DDNS如果你的 OpenClaw 部署在云服务器上这一步可以跳过但如果你把它部署在家里的 NAS 或小主机上就绕不开“外网访问”的问题。国内家庭宽带通常拿不到固定的公网 IP而小米 BE6500 Pro 这类路由器自带 DDNS 功能可以动态注册域名到腾讯云解析服务。做法是路由器上开启 DDNS填腾讯云提供的秘钥绑定一个你拥有的域名再把 OpenClaw 的端口在路由器上做端口转发。这样你在外面用手机流量访问这个域名就能连回家里的实例。这里的安全提醒必须重复一遍端口映射出去后公网扫描器随时可能探测到你的服务。一定在 OpenClaw 侧开启访问令牌并且把管理接口和普通对话接口分端口部署。腾讯云 DDNS 的好处是更新快、解析稳定小米路由器后台的配置页也很友好整个过程十分钟内能完成。6.2 ROSClaw 与 ROS 2 Humble/Gazebo 的协作场景“rosclaw openclaw ros2 humble gazebo”这个组合看起来硬核其实是把 OpenClaw 的对话与规划能力接到机器人仿真环境上。ROS 2 是机器人操作系统的第二代Humble 是长期支持版本Gazebo 是常用的物理仿真环境ROSClaw 则是 OpenClaw 和 ROS 2 话题之间的桥接层。通俗说你在 Gazebo 里跑一个虚拟机器人OpenClaw 收到自然语言指令后通过 ROSClaw 转成/cmd_vel这类速度控制消息机器人就开始动。这个玩意的价值在于你不需要买一台真实的机器人就能验证自然语言控制机器人的整套逻辑。我在测试时发现Gazebo 仿真本身非常吃 CPU再叠加 OpenClaw 的模型推理4 核机器会非常吃力。想流畅跑至少 4核8G 起步仿真场景的复杂度也从简单的平面地图开始调别一上来就加载复杂世界模型。6.3 联动过程的资源与安全建议我做联动测试时OpenClaw、ROS 2、Gazebo 三个进程叠在一起内存峰值到了 7GB 左右。腾讯云服务器 2核4G 是扛不住的所以我后来把分工做了调整Gazebo 仿真放在本地工作站OpenClaw 控制端放在云服务器通过 ROS 2 的分布式节点通信做跨机器联动。这种拆分的另一个好处是模型推理不占用本地性能仿真画面反而更流畅。这里必须提醒ROS 2 的分布式通信依赖底层 DDS 协议跨公网直连的话延迟和丢包都会被放大。如果两台机器不在同一个内网不要直接把 DDS 端口暴露到公网最好是借助云服务器做中转组网或者用内网穿透类的工具把分布式通信收敛到一个安全的虚拟网络里控制面和数据面都要加认证。机器人控制不是闹着玩的安全和稳定性优先。7. 亲测时期最常见的五个报错与排查思路7.1 问题一一切就绪却打不开控制台这应该是新人提问率最高的问题。服务状态明明 running浏览器输入 IP:端口就是打不开。遇到这种情况我的排查顺序固定是“防火墙、进程监听、本地 curl”三步走。先在腾讯云控制台看防火墙有没有放行对应端口再上服务器执行ss -tlnp | grep 3000确认进程真的在监听最后本机执行curl http://127.0.0.1:3000看返回码。三步走完问题基本就定位了。7.2 问题二端口被占OpenClaw 起不来如果你在同一台服务器上跑了 Nginx 或者其他 Web 服务OpenClaw 默认端口可能被占用。执行openclaw logs --tail 50能看到 EADDRINUSE 之类的报错。解决方案有两个改 OpenClaw 的监听端口或者清掉占用端口的进程。我个人建议改 OpenClaw 端口而不是强杀其他服务因为那台服务器上可能还跑着别的项目。7.3 问题三内存不足进程被系统杀掉本地模型路线最容易触发这个问题。2G 内存的机器跑 7B 量化模型加载过程中系统 OOM Killer 会优先杀掉占用内存最大的进程表现就是 OpenClaw 莫名其妙退出。解决方案要么换更小的模型比如 3B 或 1.5B 量化版要么给系统加 swap 空间虽然慢一点但至少不会直接崩。fallocate -l 4G /swapfile chmod 600 /swapfile mkswap /swapfile swapon /swapfile7.4 问题四model not found 或鉴权失败日志里出现404 model not found或401 unauthorized基本可以锁定是配置文件里的模型 ID 或 API Key 填错了。先别急着怀疑 OpenClaw用命令行直接对端点发一个裸请求验证curl -X POST https://你的端点/v1/chat/completions \ -H Authorization: Bearer 你的key \ -H Content-Type: application/json \ -d {model:你的模型ID,messages:[{role:user,content:hi}]}如果裸请求也失败那就是端点或 Key 的问题跟 OpenClaw 无关。如果裸请求成功那再检查一下 OpenClaw 配置里是不是多了空格、引号之类的东西。7.5 问题五skill 不生效Agent 完全不理会每次新增或修改 skill 后必须确认服务重新扫描了技能文件。你可以执行openclaw skills list看看目标技能在不在列表里。如果列表里没有最可能的原因我在 4.3 里已经说过YAML 缩进错误或者 description 缺失。如果列表里有但 Agent 就是不调用那通常是 description 写得太笼统意图路由无法匹配。我通常会把 description 改成“当用户提到发货、物流、快递时调用”而不是笼统的“处理订单问题”。8. 关于两周持续运行的几个细节我把 OpenClaw 在腾讯云上挂了两周之后有几个细节是文档里不会写的但实际体验影响很大。第一OpenClaw 的日志文件增长非常快。如果你开了 debug 级别日志一周能产生几个 GB 的文件不加处理就会把系统盘占满。我的经验是把日志级别调到 info并配置一个简单的日志轮转按天切割、保留三天。第二模型 API 的月度账单一定要设限额。这个建议来自我一次真实的体验某天下午写了个循环调用的 skill忘了加终止条件半天时间消耗的 token 比我平时一周还多。在模型服务商后台设置每月预算上限并在 OpenClaw 配置里也设置单次任务的最大 token 数双保险。第三升级要谨慎。OpenClaw 版本迭代速度快两周内就收到过两次新版本通知。我不是建议你不升级而是升级前一定先备份~/.openclaw/整个目录包括配置、skill 文件和时间线数据库。有一次升级后配置文件结构变了旧字段直接失效如果没有备份恢复起来会非常痛苦。最后再分享一个我目前觉得最实用的习惯给不同的 skill 划分独立目录并且在 SKILL.md 的 description 里写明权限边界和责任范围。这样即使后续 skill 越来越多Agent 的意图路由依然稳定不会出现几个技能抢一个触发词的情况。如果你刚开始接触 OpenClaw我建议不要急着堆技能先把一个场景做深做透跑顺了再扩展。毕竟折腾部署只是入场券真正有价值的是让这个“数字管家”持续稳定地替你干活。
返回列表