1. 一台轻量服务器,怎么把 OpenClaw 的搭建成本压到最低
1.1 为什么我先在笔记本上翻车,才换到腾讯云
OpenClaw(原 Clawdbot)这名字最近在圈子里出现的频率越来越高,但真正动手部署过的人并不算多。我最早是在自己笔记本上跑的,当时想的很简单:下载个安装脚本,本地起个服务,能聊天就算成功。结果从 Docker Desktop 装到内存配额设置,从镜像拉取到端口映射,折腾到半夜才把 demo 跑通。第二天笔记本一合盖,所有任务全部断线,那一刻我才意识到,OpenClaw 这种“常驻型智能体网关”根本不适合放在个人电脑上。
所谓常驻型智能体网关,通俗理解就是一个 24 小时待命的“数字管家”,它要随时接收消息、执行技能脚本、处理回调。笔记本的合盖休眠、网络切换、系统更新都会打断它。换成腾讯云轻量服务器之后,体验完全不一样:SSH 断开不影响任务执行,后台挂着也不用担心散热和电量,Web 控制台随时登录。所以这篇文章里的“2 分钟搭建”,真实含义是:你已经有了一台装好 Ubuntu 的腾讯云服务器,接下来从零把 OpenClaw 装好并跑通基础对话。如果你还没买过服务器,先花几分钟去腾讯云控制台买一台轻量服务器,再回来继续看。
1.2 机型选型与系统镜像的选择逻辑
腾讯云的轻量应用服务器,2核4G、带宽5M的配置,对 OpenClaw 这类服务完全够用。它本质是一个“集装箱式”的云主机,自带了一套简化的管控界面,很适合个人开发者和中小项目。如果你只是想连 API 跑 Agent,2核2G 也能凑合;但如果你想在同一台机器上再跑 Ollama 本地模型,内存会非常紧张,建议直接上 4G。我实际用下来的感受是:2核4G 是舒服的起步线,别在这上面省几十块钱。
系统镜像这块,有一个容易被忽略的细节:腾讯云轻量服务器的镜像市场里,CentOS 和 Debian/Ubuntu 都有,但 OpenClaw 官方安装脚本在 Debian/Ubuntu 系上最稳。我建议选 Ubuntu 22.04 LTS,原因是它处于生命周期内,软件包版本新,Node 和 Docker 依赖的兼容性问题最少。Ubuntu 24.04 LTS 也可以,但某些第三方的二进制依赖还在适配中。下面是不同场景的选型参考:
| 使用场景 | 推荐配置 | 系统镜像 | 带宽 |
|---|---|---|---|
| 个人试玩、只接 API | 2核2G | Ubuntu 22.04 LTS | 4M |
| 接 API + 跑少量 skill | 2核4G | Ubuntu 22.04 LTS | 5M |
| 本地模型 + 多技能并发 | 4核8G | Ubuntu 24.04 LTS | 8M |
| 团队生产环境 | 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显示 running,logs里没有致命错误,再打开浏览器访问控制台。控制台能正常显示问候语并完成一轮对话,说明“壳”已经通了。但这只是第一步,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 费用,可以在腾讯云服务器上直接装 Ollama,OpenClaw 对本地模型的支持已经很成熟。我在 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,我建议不要急着堆技能,先把一个场景做深做透,跑顺了再扩展。毕竟折腾部署只是入场券,真正有价值的是让这个“数字管家”持续稳定地替你干活。