写这篇攻略之前,我先说个背景。OpenClaw 在 2026 年已经不算什么冷门工具了,基本可以理解为“开源版本的智能命令行助理”,你给它配上任意一家大模型的 API,它就能在服务器上帮你读文档、写代码、调用各种 Skill 工具,甚至接入微信、飞书这类 IM 当机器人用。我自己大概从 1.x 版本就开始折腾,到现在的 2.0,踩过的坑比大多数教程里写得都多。如果你手里恰好有一台腾讯云服务器,又想在 2026 年把 OpenClaw 从零开始跑起来,那就直接照着我这份操作走,基本不会翻车。
这篇内容会覆盖四件事:OpenClaw 的选型思路、腾讯云服务器的基础准备、大模型 API 接入,以及 Skill 配置。中间会穿插大量我在实际部署中遇到的问题和解决方法,不绕弯子,按步骤来就行。
1. 先搞清楚 OpenClaw 到底是什么
1.1 一句话解释 OpenClaw
简单说,OpenClaw 是一个运行在终端里的 AI 代理框架。你给它一个任务,比如“检查服务器上 Nginx 日志并找出 5xx 错误最多的接口”,它会自己拆解步骤、调用命令、读取文件,甚至写一小段脚本去分析,最后把结论整理给你。和以往聊天机器人最大的区别是,它真的能“动手”,而不只是“动嘴”。
这类工具在 2025 年左右开始集中爆发,当时大家更熟悉的名字是 Claude Code、Codex CLI 这类官方闭源工具。OpenClaw 能在里面杀出来,核心原因是三点:第一,它不绑定某一家模型,OpenAI、Claude、DeepSeek、通义千问、豆包、本地 Ollama 全都能接;第二,它有一套开放的 Skill 机制,官方和社区贡献了非常多的技能包,基本是插件化思维;第三,它对服务器的操作是有审批机制的,不会一言不合就rm -rf,这在生产环境里特别重要。
1.2 和 Claude Code、Codex 等工具有什么区别
拿 Claude Code 举例,它确实很好用,但绑定 Anthropic 官方的 API,国内使用门槛高、网络不稳定,而且对第三方模型的支持几乎为零。Codex 同理,属于 OpenAI 生态内的产品。OpenClaw 走的是“模型无关”路线,你甚至可以在同一个任务里让 DeepSeek 做规划、让本地 Ollama 做代码补全,完全看你自己偏好。
还有一个很实际的区别:Claude Code 这类工具默认只能在交互式终端里跑,而 OpenClaw 从一开始就设计了“常驻服务”模式。你可以把它部署在云服务器上,通过 Web、微信、飞书等渠道随时调用。这也是我把 OpenClaw 装在腾讯云上的主要原因——我希望它成为一个随时能调的“团队助理”,而不是只在我打开电脑终端时才能用的工具。
1.3 为什么偏偏选腾讯云
网上关于腾讯云的风评经常围绕“新用户便宜”“生态全”这些点,但从技术角度说,它适合跑 OpenClaw 的原因更具体:
- 国内访问稳定,部署后拉取模型、调用 API 都不需要额外折腾网络,直接用就行。
- 自带容器镜像服务(TCR),当你用 Docker 方式部署 OpenClaw 时,可以把镜像推送到腾讯云内网仓库,服务器拉取速度快得离谱。
- 域名解析和 SSL 证书申请都在同一个控制台里,对新手来说少跳了很多平台。
如果你平时习惯用阿里云或者华为云,本文的步骤同样适用,只是控制台细节略有不同。核心逻辑是一样的。
2. 安装前的准备工作
2.1 选购腾讯云服务器(CVM)的建议
OpenClaw 本身不是吃性能的怪物,但你要跑 Skill、可能还要起 Docker,所以我建议至少 2核 4G 起步。如果你计划接入本地 Ollama 模型跑推理,那就要上 4核 8G 甚至更高,或者单独搞一台带 GPU 的机器。
操作系统方面,2026 年我推荐两个选择:
- Ubuntu 22.04 LTS:老牌稳定,社区资料最多,遇到问题随便一搜就有答案。
- Debian 12:更精简,内存占用低,适合 2G 内存的小机器。
不推荐在生产环境用 Windows Server 跑 OpenClaw,不是说跑不了,而是很多 Skill 脚本都是 Linux 向的,你在 Windows 上会额外消耗很多时间去适配。
带宽不用买太大,按量计费就行。OpenClaw 平时的流量主要是文本 API 调用,几 KB 到几十 KB 的请求,除非你让它去下载模型,否则流量基本可以忽略。
2.2 登录服务器并初始化基础环境
拿到服务器后,第一步是 SSH 登录。我习惯用终端直接连:
ssh root@你的服务器IP登录后先做两件事:更新系统、安装基础工具。
apt update && apt upgrade -y apt install -y git curl wget ufw docker.io docker-compose-v2这里多说一句,国内服务器直接访问 Ubuntu 官方源有时候速度特别慢,建议先换腾讯云镜像源。腾讯云控制台里有“镜像源”相关的指引,或者你直接手动改:
sed -i 's/archive.ubuntu.com/mirrors.tencentyun.com/g' /etc/apt/sources.list sed -i 's/security.ubuntu.com/mirrors.tencentyun.com/g' /etc/apt/sources.list apt update至于 Docker,如果你打算用容器方式部署 OpenClaw,这就必须装。如果只是命令行方式跑,那 Docker 可以先跳过,但后文我会讲为什么要尽量用 Docker。
2.3 安装 OpenClaw 本体:Linux、Windows、macOS 都有份
OpenClaw 官方提供三种安装方式:脚本一键安装、手动二进制安装、Docker 镜像。
Linux 服务器安装执行这一行就行:
curl -fsSL https://openclaw.sh/install | bash脚本会把 openclaw 可执行文件放到/usr/local/bin,并自动创建默认数据目录~/.openclaw/。装完验证一下:
openclaw --version如果提示找不到命令,多半是 PATH 没有刷新,重新登录一下 SSH 或者执行source ~/.bashrc即可。
Windows(Win10/Win11)安装用 PowerShell:
Invoke-WebRequest -Uri https://openclaw.sh/install.ps1 -OutFile install.ps1 .\install.ps1装完同样在 PowerShell 里执行openclaw --version验证。如果你在 Win11 上安装后出现“无法将 openclaw 项识别为 cmdlet、函数、脚本文件或可运行程序的名称”这个报错,说明安装目录没有加入 PATH。解决方式:手动把C:\Users\你的用户名\.openclaw\bin加入系统环境变量,然后重开 PowerShell。
macOS和 Linux 类似,但需要保证有 Homebrew:
brew install openclawDocker 方式拉取官方镜像:
docker pull openclaw/openclaw:latest2.4 初始化目录与配置文件
安装完成后,先别急着用,执行一次初始化:
openclaw init这个命令会做几件事:创建~/.openclaw/config.yaml配置文件、创建~/.openclaw/workspace工作目录、生成~/.openclaw/exec-approvals.json命令审批文件。后面两个文件非常关键,很多新手卡在“为什么 OpenClaw 不听我话执行命令”就是审批文件的问题,后面我会专门讲。
初始化完成后,快速跑一下医生检查:
openclaw doctor它会检查你的环境变量、网络连通性、模型 API 是否配置等。如果doctor报告都是绿色,恭喜你,核心安装已经完成。接下来就是最关键的“给 OpenClaw 接一个大模型大脑”。
3. 大模型 API 接入:给 OpenClaw 装“大脑”
3.1 为什么要单独配置 API
OpenClaw 本身不包含模型,它只是一个调度框架,真正做推理的是你接入的大模型服务商。你把任务发给 OpenClaw,OpenClaw 翻译成模型能理解的 Prompt,调用 API 得到回复,再根据回复内容决定下一步操作。这个过程类似你请了一个助理,助理本身不会“思考”,但 TA 能快速找到会思考的专家来帮你出主意。
所以没有 API Key,OpenClaw 就只是个漂亮壳子。考虑到 2026 年各类大模型 API 已经白菜价,国内的厂商甚至提供免费额度,这部分成本其实很低,但选型很重要。
3.2 主流 API 选型对比(2026 年实测数据)
我把自己试过的几家国内主流服务整理成一张表,方便你直观对比:
| 服务商 | 推荐模型 | 特点 | 免费额度 | 兼容 OpenAI 格式 |
|---|---|---|---|---|
| DeepSeek(深度求索) | deepseek-chat | 性价比极高,推理能力强,适合复杂任务 | 新用户送少量额度 | 是 |
| 阿里云百炼 | qwen-plus / qwen-max | 通义千问系列,国内稳定,生态完善 | 有免费试用额度 | 是 |
| 字节豆包 | doubao-pro | 中文生成自然,适合文案类 Skill | 有免费额度 | 是 |
| 智谱 AI | glm-4-plus | 老牌厂商,工具调用能力强 | 有少量免费 | 是 |
| 腾讯云混元 | hunyuan-pro | 如果你机器在腾讯云,调用延迟最低 | 视活动而定 | 是 |
| 本地 Ollama | qwen2.5:7b 等 | 完全离线,隐私安全,但需较强硬件 | 免费 | 是 |
我个人的实际建议是:新手先用 DeepSeek,因为便宜大碗,消耗大量 Token 也不心疼。等你的 Skill 越来越复杂,需要处理长文本、多步骤任务时,可以切换到 qwen-max 或混元这类更强的模型。
3.3 两种配置方式:环境变量 vs 配置文件
OpenClaw 支持两个渠道读 API 配置:环境变量和config.yaml。
方式一:环境变量(适合临时测试、Docker 注入)
export OPENCLAW_MODEL_PROVIDER=deepseek export OPENCLAW_MODEL_NAME=deepseek-chat export OPENCLAW_API_KEY=sk-你的真实密钥方式二:配置文件(适合长期使用)
编辑~/.openclaw/config.yaml:
model: provider: deepseek name: deepseek-chat api_key: sk-你的真实密钥 base_url: https://api.deepseek.com/v1 temperature: 0.2 max_tokens: 4096如果你用的是其他厂商,只需改provider、name、api_key、base_url四个字段。几乎所有兼容 OpenAI 格式的 API 填到base_url里都能直接跑。
配置完成后执行:
openclaw doctor如果输出里有Model API: connected或者类似字样,说明连通成功。
3.4 配置完怎么验证
假设 DeepSeek 是接好的,直接让 OpenClaw 做一个最简单的任务:
openclaw run "用一句话介绍你自己"如果它能用自然语言回答你,并且整个过程中没有报 401、403、timeout 之类的错误,说明 API 已经通了。到这一步,你已经打通了 OpenClaw 最核心的“大脑”。
4. Skill 配置:让 OpenClaw 从“会说话”变“会干活”
4.1 理解 Skill:它解决什么问题
光有“大脑”不够,OpenClaw 更像一个实习生,你给它一个宽泛任务,它能做,但效果好坏取决于它具备哪些“工具”。比如你让它“分析 Nginx 日志”,如果它没装日志分析 Skill,就只能手动敲 grep、awk,虽然也能做,但效率和规范化程度就差很多。
Skill 可以理解为一套预定义的“专业知识包”。每个 Skill 通常包含三样东西:Skill 说明文档(告诉模型什么时候用这个 Skill)、脚本或命令(实际执行动作)、参数定义(让模型知道如何调用)。装好 Skill 之后,OpenClaw 在拆解任务时就会主动匹配并调用合适的 Skill,效果立竿见影。
4.2 如何安装现成 Skill
OpenClaw 官方有一个 Skill 市场,直接在终端搜索安装:
openclaw skill search nginx openclaw skill install nginx-log-analyzer如果你在 GitHub 上看到别人分享的 Skill,也可以直接通过仓库地址安装:
openclaw skill install gh:username/repo-name如果 Skill 是在本地某个目录里,加载命令是:
openclaw skill add /path/to/skill-directory查看当前已安装的 Skill:
openclaw skill list我想特别提醒的是,安装 Skill 之前一定要看看它的脚本内容。Skill 本质上是一段可以在你服务器上执行的代码,有权限读写文件、调用网络。虽然 OpenClaw 社区整体氛围健康,但不排除恶意或粗制滥造的 Skill 存在。养成“装之前先读代码”的习惯,能替你省下很多麻烦。
4.3 动手写一个最简单的 Skill
为了让你彻底理解 Skill 机制,我带你写一个最简单的“问候 Skill”。这个 Skill 的作用是:当用户要求 OpenClaw 用英文或中文打招呼时,调用脚本快速反馈一条格式化消息。
第一步,创建 Skill 目录:
mkdir -p ~/.openclaw/skills/greeter/bin第二步,在greeter目录下创建SKILL.md:
--- name: greeter description: 当需要问候用户时使用此技能,支持中文和英文。 args: name: type: string description: 用户名 required: true --- # Greeter Skill 输出一段问候语。 ## 使用场景 - 用户说“你好”“hello” - 用户要求自我介绍第三步,在bin目录下放一个可执行脚本:
#!/bin/bash echo "你好,$1!我是 OpenClaw,很高兴见到你。"给脚本加执行权限:
chmod +x ~/.openclaw/skills/greeter/bin/greet.sh然后重新加载 Skill 并测试:
openclaw skill reload openclaw run "对张三打招呼"如果一切正常,OpenClaw 就会输出“你好,张三!”。这看起来简单,但背后发生的事情很值得理解:模型收到你的请求,先检索所有 Skill 的SKILL.md,判断哪个 Skill 匹配当前任务,然后用参数去调用对应的脚本,最后把脚本输出作为回复的一部分返回给你。这就是“让模型动手”的最小完整闭环。
4.4 Skill 调试与踩坑经验
Skill 配置最常见的坑有三个。
第一个坑是SKILL.md文件名写错,或 YAML 头部格式不规范,导致 OpenClaw 识别不到 Skill。我建议你安装完一个 Skill 后,立刻openclaw skill list确认列表里出现它,再用一条简单任务试调用。
第二个坑是脚本没有执行权限。从 Windows 或其他平台拷贝脚本到 Linux 时,可执行位经常是空的,导致调用失败。解决办法是部署后统一执行chmod -R +x ~/.openclaw/skills/,一劳永逸。
第三个坑是参数解析问题。模型在调用 Skill 时生成的参数格式可能和你脚本预期的不一致。比如脚本期望接收一个name参数,但模型传了两个。解决办法是在SKILL.md里写更详细的args定义和“参数示例”,让模型有更明确的参考。这属于 Prompt Engineering 的范畴,调了几次之后你会有感觉。
5. 腾讯云实战部署:从命令行工具到常驻服务
5.1 域名与二级域名解析
如果你只想在自己电脑上偶尔用一下 OpenClaw,跳过这一节没关系。但如果你希望把它部署到腾讯云上当常驻服务,甚至对接后续要讲的 IM 机器人,绑定一个域名几乎是必须的。
在腾讯云控制台购买或已有域名后,进入“DNSPod 解析”页面,添加一条 A 记录,主机记录填claw,记录值填你服务器的公网 IP。这样你就有了一个二级域名claw.yourdomain.com。
我记得很多新手在这里会卡在“我已经添加解析但访问不了”,排查顺序是:
- 确认域名已完成 ICP 备案,腾讯云对未备案域名的 80/443 端口访问是拦截的。
- 确认服务器安全组已放行 80 和 443 端口。
- 确认本机防火墙 ufw 也放行了对应端口。
ufw allow 80/tcp ufw allow 443/tcp ufw reload5.2 HTTPS 与反向代理
OpenClaw 的 Web 界面默认跑在一个本地端口上(比如 3000),不能直接对外网裸奔。我用的是 Caddy 做反向代理,它最大的好处是自动申请和续期 HTTPS 证书,配置极其简单。
安装 Caddy:
apt install -y caddy编辑/etc/caddy/Caddyfile:
claw.yourdomain.com { reverse_proxy 127.0.0.1:3000 }重载配置:
systemctl reload caddy之后通过浏览器访问https://claw.yourdomain.com,就能用 HTTPS 加密访问 OpenClaw 的 Web 界面了。Caddy 会自动处理证书,不需要你手动折腾。
5.3 systemd 方式守护进程
如果你用命令行方式启动 OpenClaw,SSH 断开后进程可能会被杀掉,这是我早期部署时最痛苦的问题。正确的做法是把它注册成 systemd 服务,让它在后台常驻、开机自启、崩溃自动拉起。
创建服务文件/etc/systemd/system/openclaw.service:
[Unit] Description=OpenClaw Service After=network.target [Service] Type=simple User=root EnvironmentFile=/root/.openclaw/env ExecStart=/usr/local/bin/openclaw serve Restart=on-failure RestartSec=10 [Install] WantedBy=multi-user.target然后启动并设置开机自启:
systemctl daemon-reload systemctl enable --now openclaw systemctl status openclaw如果你不希望以 root 身份运行,可以单独创建一个openclaw系统用户,然后User=openclaw。这属于安全加固的一个加分项,生产环境建议做。
5.4 用 Docker 部署并推送到腾讯云容器镜像服务
用 Docker 部署的好处是环境隔离、可重复、升级方便。我把自己的部署流程完整列出来供你参考。
本地构建镜像:
docker build -t openclaw-custom:2.0 .标记镜像并推送到腾讯云 TCR:
docker tag openclaw-custom:2.0 ccr.ccs.tencentyun.com/你的命名空间/openclaw-custom:2.0 docker login ccr.ccs.tencentyun.com --username 你的腾讯云账号ID docker push ccr.ccs.tencentyun.com/你的命名空间/openclaw-custom:2.0之后服务器上拉取并运行:
docker pull ccr.ccs.tencentyun.com/你的命名空间/openclaw-custom:2.0 docker run -d \ --name openclaw \ --restart always \ -p 3000:3000 \ -v /root/.openclaw:/root/.openclaw \ -e OPENCLAW_API_KEY=sk-xxx \ ccr.ccs.tencentyun.com/你的命名空间/openclaw-custom:2.0这里有个细节:把~/.openclaw挂载进容器,是为了让容器内的 OpenClaw 复用你宿主机上已经配置好的 Skill、审批文件和日志,不然容器一升级数据全丢。
腾讯云 TCR 的优势在于,服务器和镜像仓库都在腾讯云内网,拉取速度几乎可以跑满带宽,尤其镜像体积变大之后,对比从 Docker Hub 拉取,体验差别非常明显。
5.5 安全加固和权限控制
我个人强烈建议你至少做下面几件事:
- 不要把 API Key 写死在配置文件里提交到 GitHub,用
EnvironmentFile或容器环境变量注入。 - 设置
~/.openclaw/目录权限为700,防止其他用户读取你的密钥和对话记录:
chmod -R 700 ~/.openclaw修改 exec-approvals 策略。OpenClaw 在执行危险命令前会询问你,这个询问记录存在
exec-approvals.json里。你可以预先批准某些安全的命令类别(如ls、cat、git status),但对rm、curl | bash这类命令保持手动确认。如果 OpenClaw 的 Web 界面暴露在公网,务必设置访问认证,不要裸奔。
6. 常见问题与排查技巧实录
6.1 安装类问题
Q1:Windows 安装后提示“无法将 openclaw 项识别为 cmdlet、函数、脚本文件或可运行程序的名称”
原因几乎都是 PATH 没有配置对。手动把 OpenClaw 的 bin 目录(一般是C:\Users\你的用户名\.openclaw\bin)加到系统环境变量,重开终端。
Q2:Linux 一键安装脚本执行后openclaw命令不存在
先确认安装有没有真正成功,如果脚本有报错,多半是 curl 下载被中断。国内服务器直连官方脚本偶尔会出现超时,这种情况我一般会去 GitHub Releases 页面手动下载对应架构的二进制文件,放到/usr/local/bin并chmod +x,反而更快。
Q3:Ubuntu 22.04 + CUDA 环境跑本地 Ollama 时安装 Skill 报错
这不是 OpenClaw 的问题,是 Ollama 或 CUDA 版本不匹配。先用ollama run qwen2.5:7b验证本地模型能不能跑,确认后再回到 OpenClaw 的config.yaml里把 provider 改成 ollama、base_url 改成http://127.0.0.1:11434即可。
6.2 API 与模型调用问题
Q1:提示 401 Unauthorized 或 403 Forbidden
API Key 写错了,或者服务商拒绝了这个 Key 的调用权限。检查config.yaml里有没有多余的空格,以及是否误用了换行符。
Q2:API 连通,但 OpenClaw 回复很慢或者总是超时
可能是你选的模型响应速度本身较慢,也可能网络链路有问题。用腾讯云服务器调用腾讯云混元或者阿里的模型延迟会很低,用境外服务则会明显变慢。建议在腾讯云上部署时优先选国内服务商。
Q3:提示“no model available”或者“model not found”
OpenClaw 找不到你指定的模型名。确认一下你写的模型名在服务商文档里确切存在,比如 DeepSeek 的deepseek-chat是官方名字,不要随手写deepseek-v3之类的旧名。
6.3 Skill 与权限问题
Q1:安装 Skill 后 OpenClaw 完全不使用它
先openclaw skill list确认 Skill 在列表里。如果在,再检查SKILL.md的描述写的是否清晰。模型是根据描述来匹配任务的,如果你的描述写成“处理文件”,模型在遇到“帮我统计目录大小”时可能不会联想到它。把描述写得贴近实际触发场景,能大幅提高命中率。
Q2:出现 “legacy exec approvals exist at /root/.openclaw/exec-approvals.json. run ... ” 的提示
这是老版本升级后,审批文件格式需要迁移。OpenClaw 给出了明确的提示命令,一般是openclaw migrate或者openclaw approvals migrate。执行一下就好。如果你升级后一直没做迁移,OpenClaw 会拒绝执行任何需要审批的命令,造成“半天没反应”的错觉。
Q3:脚本执行失败,但不确定是什么原因
把 OpenClaw 的日志打开:
openclaw --log-level debug再看一下脚本本身是否有执行权限。我遇到过的教训里,90% 的 Skill“不工作”都是可执行位缺失或脚本依赖了不存在的外部命令。
6.4 部署与安全问题
Q1:修改 Redis 密码后,Redis 一直无法重启
这不是 OpenClaw 的问题,但在部署 Skill 时常会顺带踩到。最常见的原因是 Redis 配置文件里没有改对密码,或者 systemd 服务读取的是旧的配置缓存。修改/etc/redis/redis.conf里的requirepass后,执行systemctl daemon-reload再systemctl restart redis-server就能解决。
Q2:通过域名访问 Web 界面提示证书错误
如果是腾讯云 DNSPod 的免费证书,检查证书是否已经绑定正确域名。如果是 Caddy 自动管理证书,确认域名解析已经生效,且 80 和 443 端口都放行了。Caddy 申请证书要求 80 端口短暂可用,如果你只放行 443,它依然会失败。
Q3:重启服务器后 OpenClaw 没有自动启动
确认 systemd 服务是否设置了enable。如果已经 enable 还是没有,大概率是EnvironmentFile路径不存在,导致启动时加载环境变量失败。建议写一个openclaw.service里的ExecStartPre脚本,先创建目录和文件,保证依赖存在。
Q4:OpenClaw 和腾讯云的“WAF”报错
这里只提一句:如果你在域名前面挂了腾讯云 WAF,某些包含代码块的请求可能会被拦截,导致 OpenClaw 的 Web 交互异常。遇到这种情况,检查 WAF 的响应日志,把/api/路径加入白名单即可。不需要关闭整个 WAF。
最后说点实在的
OpenClaw 这个东西,越用越像在训练一个实习生。安装、接 API、装 Skill 只是最开始的三步,真正花时间的是你逐渐给它积累“岗位经验”——你会发现自己写的 Skill 越来越顺手,它对你服务器环境的理解越来越深,能帮你处理的杂活儿也越来越多。我个人整个流程走下来,最大的体会是:别追求一步到位。先装好、跑通一个最简单的任务,再去慢慢丰富 Skill 和模型配置,遇到问题就按日志追根因,少走很多弯路。
如果你在部署中碰到其他奇怪的报错,我建议先把openclaw doctor的结果和日志级别调高后的输出贴到社区提问,这类工具的问题大概率是环境差异导致的,带上日志才有人能帮你精准排查。