2026年到目前为止,我本地和云服务器上运行时间最长的Agent进程,一个是家里NAS上的监控脚本,另一个就是OpenClaw——社区里更多人叫它Clawdbot。我身边不少朋友第一次听这个名字是在技术群里的"部署成功"截图里,真正轮到自己装的时候,往往会被一堆概念绕晕:Skills、session锁、Teams connector、云端一键脚本、本地源码编译……这篇文章不是官方文档的复读,而是我把云上和本地两条部署路径、外加Skills加载逻辑完整走一遍之后整理的实操记录。打算装OpenClaw跑自动化任务、或者只是想给自己的Agent工作流加点"技能包"的人,可以直接照着抄。
提前说一句:OpenClaw版本迭代很快,我下面写的命令以2026年主流版本的README为准,如果你拉到的是更新版本,个别参数可能有差异,但不影响整体思路。
1. 部署之前:为什么选OpenClaw,以及本地还是云端
1.1 OpenClaw到底是什么,它和Claude Code是什么关系
先花两分钟把概念捋清楚。OpenClaw是一个开源的AI Agent运行时,核心逻辑和Claude Code一脉相承:给模型一个终端环境、一套可调用的工具,让它能自己看目录、读写文件、执行命令、调用API,最终把一句模糊的指令变成一串实打实的操作。Clawdbot是社区对它的昵称,慢慢就成了同义词。
Skills是这套体系里最关键的扩展机制。没有Skills的Agent只是一个聪明的聊天框,有Skills之后,它才变成"会写前端页面""会做竞品分析""会跑数学建模脚本"的干活工具。所以部署OpenClaw只是第一步,真正让它有价值的动作是装上符合你使用场景的Skills。这个逻辑顺序很重要,后续所有章节都是围绕"装起来"和"让它干活"两条线展开的。
1.2 本地部署与云上部署,选哪个
这里没有标准答案,只有适不适合。我整理了一张很直接的对比表,你可以按自己的实际场景对号入座。
| 维度 | 本地部署 | 云上部署 |
|---|---|---|
| 目标场景 | 个人日常、和本地目录文件深度交互 | 7×24自动化、团队共享、聊天机器人 |
| 硬件门槛 | 内存4GB以上,以API调用为主的话CPU不太挑 | 2核4G起步,主要吃内存和网络带宽 |
| 数据隐私 | 文件不出机器,隐私更可控 | 数据放在云盘,需要自己管理密钥 |
| 使用成本 | 主要是电费和API费用 | 服务器月租加API费用 |
| 稳定性 | 电脑休眠、断网就会中断 | 只要服务器不挂,服务常在 |
我的建议很直接:如果你只是想在开发环境里有个Agent帮你改代码、整理文档,本地部署就够了,省事;如果你想让Agent每天定时跑任务、或者把它接进Teams这类聊天工具当团队助手,直接上云,别折腾本地常驻。两条路我后面都会写,你可以按需跳着看。
1.3 部署前的统一准备
不管走哪条路,有几样东西是绕不开的:
- 一个模型API Key。OpenClaw底层仍然要调用大模型,Anthropic、OpenAI以及部分国产模型的接口都有人跑通,配置里填上对应的provider和key就行。
- 一台能跑Node.js的设备。OpenClaw本体用TypeScript写,依赖Node.js运行时,建议直接装最新的LTS版本(目前是22.x)。
- Git,用来拉代码和克隆Skills仓库。
- 动手之前把目录规划好。我习惯统一放在
~/.openclaw下面,配置、会话、Skills都从这个目录读取。
账号准备方面多说一句:如果打算上云,国内云厂商基本都有新用户免费试用额度,阿里巴巴、腾讯这些大厂的试用期足够你把整个部署流程完整跑一遍。拿一台免费试用机练手,认真学完部署流程再决定要不要付费,是很划算的思路。我见过不少人一上来就买了高配机器,最后跑个Agent连一半性能都用不上,纯属浪费。
2. 云上部署:从空白服务器到服务常驻
2.1 服务器初始化:系统选择与基础环境
我先讲最常见的Ubuntu路径。买一台Ubuntu 22.04或24.04的云服务器,2核4G配置够用。拿到机器后第一件事是更新系统、装基础工具:
sudo apt update && sudo apt upgrade -y sudo apt install -y git curl然后安装Node.js 22 LTS。这里我遇到过坑:直接用apt装的node版本往往偏老,OpenClaw跑起来会报语法错误。建议用NodeSource的官方源装:
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash - sudo apt install -y nodejs node -v装完确认打印出来的版本号是v22.x.x再往后走。这一步别偷懒,版本不对后面全是怪问题。接着确认npm版本能跟上:npm -v,如果版本太旧就sudo npm install -g npm@latest。
2.2 一键部署脚本的执行过程
现在很多教程里提到的"OpenClaw一键部署脚本",本质就是把安装依赖、拉取仓库、初始化配置、注册systemd服务这几步封装成了一段shell脚本。社区里的脚本不少,使用方式大同小异:
git clone https://github.com/openclaw/openclaw-installer.git cd openclaw-installer ./install.sh --with-docker脚本会自动检测系统类型,安装Node和Docker(如果选了with-docker),然后克隆OpenClaw主仓库到/opt/openclaw,执行npm install并生成默认配置。跑完以后,OpenClaw会以systemd服务的形式常驻后台,开机自启,日志写到/var/log/openclaw。
如果你不想用别人写的脚本,也可以手动安装,无非就是把上面几步拆开执行。我建议至少第一次部署用来源可靠的一键脚本,省去排查环境依赖的时间;跑通之后你自然就知道每一步在干什么了。
关于"yolo最新版"那个说法也顺带解释一下:社区里有些人把快速迭代的一键脚本新版本戏称为"yolo版",它们往往只是改了安装细节、补充了镜像源或者更新了依赖版本。你只需要记住,部署时以脚本仓库的最新提交为准,别用网上转载的旧命令,很多部署失败的案例都是因为用了几个月前的历史版本。
2.3 配置模型凭据并验证OpenClaw能正常回复
安装完成后,第一次启动前要做的事是填模型配置。OpenClaw的配置存放在~/.openclaw/config.json(如果以root运行则路径相应变化)。一个最小可用的配置长这样:
{ "model": { "provider": "anthropic", "model": "claude-sonnet-4-5", "apiKey": "填入你的key" }, "skills": { "dir": "~/.openclaw/skills" }, "server": { "port": 5178 } }填完重启服务,然后进入交互终端验证:
openclaw chat输入一句最简单的指令,比如"输出你的版本号和当前工作目录"。如果它能正常回复,说明模型链路通了,接下来才值得继续折腾Skills和聊天工具接入。我见过太多人先把Teams接好、Skills装了一堆,最后发现模型Key填错了,白忙一场。正确的顺序永远是:先确认能对话,再谈扩展。
2.4 接入Microsoft Teams:把Agent变成团队机器人
把OpenClaw接进Teams是云上部署最常见的使用场景。整体分三步:在Microsoft Azure侧创建机器人应用、拿到App ID和密码;在OpenClaw配置里填写Teams connector信息;重启服务并安装到团队频道。
具体到操作,Azure侧的步骤是:进入Microsoft Entra管理后台,在应用注册中新建应用,勾选Teams的机器人权限,然后到"证书与密码"里生成一个客户端密码。回到OpenClaw这边,把App ID、密码、租户ID填进配置的connectors.teams段:
"connectors": { "teams": { "enabled": true, "appId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "appPassword": "你的客户端密码", "tenantId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" } }重启服务后,在Teams应用管理里把机器人添加到团队,私聊或@它即可触发对话。这里最容易踩的坑是权限配置:机器人默认只能访问被明确授权的频道和文件,别忘记配置完整,否则会出现"机器人在线但答不了话"的怪状。
3. 本地部署:Ubuntu与macOS的完整流程与常驻维护
3.1 为什么本地部署要单独写一节
你可能觉得云上部署都跑通了,本地不就是换台机器重复一遍。实际上本地的坑完全是另一批:常驻进程管理方式不同、和Claude Code这类工具共存的目录冲突、电脑休眠导致的会话中断……接下来把本地路径的关键点逐个说清楚。
3.2 依赖安装与源码方式安装OpenClaw
Ubuntu用户参考2.1的先决条件即可,macOS用户需要注意用Homebrew装:
brew install node@22 git如果之前装过旧版Node,建议先卸载干净再装新版,避免npx openclaw时莫名其妙用了老版本。然后无论哪个平台,我都推荐用源码方式安装,方便后续升级:
git clone https://github.com/openclaw/openclaw.git ~/openclaw-source cd ~/openclaw-source npm install npm run build npm linknpm link会把openclaw命令软链到全局,后面随时git pull && npm run build就能升级。我不太推荐直接用npm install -g openclaw,因为这类Agent框架发版很勤,全局安装容易在升级时留下旧版本的碎片文件,排查起来很麻烦。
3.3 OpenClaw与Claude Code的共存策略
很多人的电脑上原本就装了Claude Code,这时候本地部署OpenClaw就要注意会话目录和Skills目录的隔离。OpenClaw默认的会话目录是~/.openclaw/sessions,Skills目录是~/.openclaw/skills,而Claude Code用的是~/.claude下的结构,两者默认互不干扰。
但有一个矛盾点:你从GitHub上看到的很多Skills同时兼容两个生态,安装脚本会试图写入两边目录。我的经验是给两者各建一套独立目录,别图省事用符号链接共用,否则某个Skills升级时会把另一个工具的配置搞坏。两者在一个项目里协同工作时,我习惯让Claude Code负责代码仓库内的操作,OpenClaw负责跨项目、跨目录、定时任务类的工作,分工明确后冲突就少很多。
手动从GitHub装Skills到Claude Code也是很多人问的点,其实原理一模一样:把仓库clone到~/.claude/skills目录即可,和OpenClaw的安装逻辑没有本质区别,理解了Skills的目录结构之后,这个操作完全没有神秘感。
3.4 本地常驻与休眠问题的处理
本地部署遇到最多的问题不是装不上,而是"第二天起来发现它死了"。电脑休眠、显示器关闭、路由器重启都会让进程中断。我的解法是:
- 优先在云上部署需要7×24在线的服务,本地只跑白天用得上的任务;
- 如果必须在本地常驻,macOS用户可以用
caffeinate -s openclaw serve防止系统睡眠,Linux桌面用户配置好systemd用户服务并取消自动挂起; - 把OpenClaw的日志打开,定期
tail一眼,确认它没有在某个夜里静默退出。
给Linux用户的systemd用户服务示例,保存到~/.config/systemd/user/openclaw.service:
[Unit] Description=OpenClaw local agent After=network.target [Service] Type=simple ExecStart=/usr/bin/openclaw serve Restart=on-failure WorkingDirectory=%h/.openclaw [Install] WantedBy=default.target注意ExecStart里的路径要换成which openclaw的实际输出,不同安装方式路径不一样。然后执行:
systemctl --user daemon-reload systemctl --user enable --now openclaw最后这条建议很土但很有效:本地Agent服务一旦开始依赖它,就要把它当真正的后端服务对待,而不是一个随便开开的小工具。
4. Skills机制拆解:让OpenClaw从"能对话"变成"能干活"
4.1 Skills的本质:给模型的"岗位说明书"
我理解Skills很简单:它是一组结构化的指令和脚本,告诉模型"当用户的需求落在某个领域时,你应该按照什么流程、调用哪些工具、产出什么格式的结果"。你可以把它类比成给新员工发的岗位手册——模型本身很聪明,但如果没有手册,它遇到具体任务时只能靠猜,发挥不稳定;有了手册,它就能稳定地按步骤产出。
一个标准的Skills在文件系统里长这样:
superpowers/ SKILL.md scripts/ brainstorm.py assets/ template.md其中SKILL.md是这个技能的核心,头部的YAML元数据声明技能名称、描述、适用场景,正文则写得像一份可执行的SOP。模型在对话时一旦判断任务符合描述,就会读取这份文档并按步骤执行。理解这个结构之后,无论是安装别人的Skills还是自己写,你都会非常清晰。
4.2 安装Skills的几种姿势
我整理了三种最常见的安装方式。
第一种,直接把Skills目录放到~/.openclaw/skills下。适合别人直接给你的技能包,放进去之后重启OpenClaw即可识别。
第二种,用命令行从市场安装。OpenClaw生态里已经有不少公开的skills库,常见命令是:
openclaw skills install superpowers openclaw skills search 数学建模 openclaw skills list第三种,从GitHub仓库接入。很多优秀的Skills直接托管在GitHub上,命令类似:
openclaw skills add https://github.com/xxx/awesome-skills.git在找Skills的时候,我会优先在GitHub里搜awesome-openclaw-skills这类聚合仓库,另外社区里流传的skills库网址也值得收藏,基本是同样的内容源。需要提醒的是,新的Skills先装到独立目录里试运行,确认它对当前模型版本没有副作用,再决定要不要放进正式目录。原因我会在排错章节展开。
4.3 值得安装的Skills:从superpowers到各垂直场景
社区讨论度最高的当属superpowers,它是一套偏通用的技能合集,覆盖任务拆解、思考规划、代码审查等场景,装上之后Agent整体的"主动性"会明显提升。我通常建议新用户第一件装的就是这个。
除此以外,按使用场景分类,我见过大家常装的有这么几类:
- 前端开发类:能根据需求描述生成组件代码、做页面搭建,配合预览工具链能快速出原型;
- 写作与学术类:辅助论文结构搭建、文献整理、数学建模赛题的思路拆解和数据可视化。去年华为杯建模比赛前后,很多参赛者就专门装了一套建模Skills,让Agent帮忙做数据清洗、统计检验、出图表,那一段时间相关的Skills仓库更新都特别勤;
- 内容创作类:比如AI漫剧脚本、分镜拆解、口播文案生成,这类Skills看起来小众,实际用起来很出效果;
- 技术调试类:社区里甚至有Android应用分析、接口抓包、日志排查这类偏技术实战的Skills,新手不建议一上来就碰,但生态的丰富度可见一斑。
另外提一句,Codex和OpenCode生态里也有类似Skills的东西,格式大同小异,很多可以在Agent框架之间互相移植。你如果之前用过其中一家的技能包,搬到OpenClaw上往往只需要改一下目录结构就能跑。
4.4 自己写一个最小Skills
写Skills不需要多高深的编程能力,我以"每天生成一份项目进度摘要"为例。创建目录和文件:
mkdir -p ~/.openclaw/skills/daily-summary cd ~/.openclaw/skills/daily-summary touch SKILL.md然后在SKILL.md里写:
--- name: daily-summary description: 扫描当前项目目录下的git提交记录,生成当天的进度摘要 --- ## 使用场景 用户要求"生成今日项目进度"或"今天干了什么"时使用此技能。 ## 执行步骤 1. 运行 git log --since="今天0点" --oneline 获取当天提交 2. 按提交信息归类为功能开发、修复Bug、文档与杂务 3. 输出一份Markdown格式的摘要,包含提交数、主要改动、遗留风险写完保存,重启OpenClaw之后就能在对话里触发。原理很简单:模型读到了SKILL.md中的描述和步骤,遇到匹配指令时会按里面的流程走。这也是我鼓励所有人都尝试一次的动作——自己写过一个Skills之后,你对这个机制的理解会完全不同,后面排查问题也更有底气。
5. 高频翻车现场:session file locked与部署期常见报错
5.1 一次完整排查session file locked的链路
"agent failed before reply: session file locked (timeout 60000ms) openclaw"这句话,几乎每个长期使用OpenClaw的人都见过。我最近一次遇到是在云服务器上同时开了两个OpenClaw进程测试Teams接入时。
报错本身的意思是:Agent还来不及回复,就被提示会话文件被锁住,等了60秒也没拿到锁。根因大多不是文件真的被某个人占用,而是几种情况叠加:
- 多个OpenClaw进程同时监听同一个session目录,都试图写同一个会话文件;
- 上一次进程被强杀(比如
kill -9),留下了过期的锁文件; - 同一个配置目录被两个不同用户或权限的进程访问,导致文件锁无法释放。
我的排查链路很固定,分享给你。
第一步,确认有几个OpenClaw在跑:
ps aux | grep openclaw如果发现两个以上,保留主服务,把其他全部停掉。
第二步,查看会话目录里的锁文件:
ls -la ~/.openclaw/sessions/如果看到.lock后缀的文件,先别急着删,确认对应进程确实不存在后再删除:
rm ~/.openclaw/sessions/*.lock第三步,检查目录属主。服务器上如果曾经用sudo启动过OpenClaw,目录可能变成root所有,普通用户启动时就会反复锁失败:
chown -R $(whoami) ~/.openclaw第四步,最稳妥的办法是把会话目录和锁文件目录分离,给每个部署实例独立的session路径,开两个实例也互不干扰。在配置里设置环境变量:
export OPENCLAW_SESSION_DIR=~/.openclaw/sessions-prod这套组合拳打完,绝大多数session file locked都能解决。剩下的少数情况,多半是网络存储(比如挂载的NAS目录)自带的文件锁机制跟OpenClaw不兼容,我的建议是会话目录不要放在网络盘上。
5.2 其他高频报错清单
除了session锁问题,新用户前两周会遇到的问题基本集中在这张表里:
| 现象 | 常见原因 | 对策 |
|---|---|---|
| 启动时报Node版本错误 | node版本过旧 | 换Node 22 LTS并重新npm install |
| Skills装了但对话里不生效 | Skills目录不是配置指向的目录 | openclaw skills list核对路径 |
| 调用模型超时 | API Key过期或额度不足 | 检查账单和Key状态 |
| 机器人接入Teams后不回复 | 权限配置不全 | 检查应用权限和租户ID |
| 服务频繁重启 | systemd服务缺少Restart策略 | 配置Restart=on-failure |
这张表是我在实际使用中整理的,基本覆盖了部署阶段的高频故障。遇到问题时不要急着重装,先对照症状找原因,多数情况是配置问题而不是环境问题。
5.3 部署之后的日常运维
我强烈建议养成三个习惯:定期git pull升级主程序、备份~/.openclaw下的配置和Skills目录、关注发布版本的breaking changes。Agent框架的升级不像普通应用那么平滑,有些新版本会调整Skills的元数据格式,不提前看更新说明,很容易出现"升级完技能全部失效"的情况。
备份我一般用一行tar命令:
tar -czvf openclaw-backup.tar.gz ~/.openclaw --exclude=sessions会话文件没有必要备份,乱七八糟的临时状态恢复起来反而添乱,配置和Skills才是值钱的东西。如果你收集了不少Skills,建议定期用openclaw skills export导出一份清单,万一换机器或者目录被误删,能一次性恢复大部分环境。
6. 生态扩展与实践建议:Teams、Obsidian与个人配置习惯
6.1 把OpenClaw接进日常工具链:Obsidian与Teams
我发现很多人给OpenClaw配了Obsidian。这其实是Skills生态带来的红利:Obsidian整理笔记的模式很固定,而Agent擅长的恰恰是批量、重复、有固定规则的文本处理。社区里常见的做法是用Obsidian Local REST API插件开放本地vault,然后给OpenClaw装一个笔记类Skills,它就能直接读取、搜索、归纳你的Markdown笔记,甚至按你指定的模板生成新笔记。思维碎片直接丢给Agent整理成结构化文档,这种体验用过就回不去。
Teams接入在2.4已经详细写过,这里补充一个我的观点:尽量不要让机器人在多个频道同时活跃,先在一个团队频道验证好权限、回复速度和内容格式,再逐步放开。减少噪音,你的团队才能真的接受一个话痨机器人。
6.2 学术与创作场景的Skills组合思路
热词里"数学建模skills"和"ai漫剧常用skills"这两条很有意思,恰好代表了两类截然不同的需求。
数学建模场景,核心是"数据清洗、统计检验、可视化、报告生成"这条流水线。建议的Skills组合是:一个数据处理类、一个绘图类、一个论文排版类,再配合模型本身的能力。这样从拿到赛题到出初稿,大部分机械工作都能在Agent辅助下完成,参赛者可以把精力放在模型设计上。我见过有队伍就是靠这套组合拳,在有限时间内把三篇规范文档的初稿全部自动生成,再人工精修,效率提升不是一点半点。
内容创作场景则完全不同:AI漫剧这类需求,重点在脚本、分镜、运镜描述和旁白节奏。这类Skills往往不是一个大而全的包,而是好几个小技能配合:剧情大纲生成、分镜文本格式化、角色一致性提示词生成。很多创作者直接用这类Skills批量生成多集脚本框架,再人工精修,产出速度比纯手工快好几倍。文科背景的朋友也不用担心,这些Skills都是自然语言驱动的,不涉及写代码。
6.3 OpenClaw与WorkBuddy等工具的取舍
被反复问到"OpenClaw和WorkBuddy哪个好",我的回答通常是:先确定你要的是什么样的工作方式。OpenClaw是终端优先、开源、Skills生态开放,适合愿意自己动手、希望随时把Agent接入自定义工具链的人;WorkBuddy类产品更强调开箱即用的工作流整合,界面和配置对新人更友好,但可扩展空间相对封闭。我的看法是,如果你已经在用命令行工作流,OpenClaw几乎没有学习成本;如果你更依赖图形界面和现成模板,可以先用WorkBuddy上手,理解了Agent工作流之后再试着切到OpenClaw做深度定制。两个东西不冲突,选你的审美和习惯就好。
6.4 几个让我"用回不去"的配置习惯
最后分享几个实际使用中沉淀下来的习惯,没有顺序,都是经验之谈:
- 所有API Key只放在环境变量或配置文件的引用里,不要直接写死在Skills脚本中,尤其是Skills目录要分享给别人的时候;
- 为每个长期任务建独立的session目录,便于排查和恢复,也避免单个会话文件越来越大;
- 每周挑一个固定时间检查OpenClaw的升级日志和Skills市场的新内容,保持20分钟左右的更新维护;
- 学会用
openclaw skills export导出自己攒下的技能清单,换机器的时候能一次性恢复。
说实话,OpenClaw这套东西的复杂度并不低,但它胜在开放和可塑性。云上和本地的部署方式会变,Skills的格式也可能演进,但动手实践过程中沉淀下来的判断力和排查思路,才是真正值钱的部分。如果你正在部署的路上卡在某一步,把报错原文完整贴出来,对照我写的排查顺序走一遍,大概率能找到答案。