很多朋友第一次接触 OpenClaw,装好主程序后第一反应是:这不就是一个能聊天的终端工具吗?直到看到别人演示“让 AI 自动整理项目周报”“让 AI 按我的说话风格回消息”,才发现差距全在 Skill 上。Skill 就是 OpenClaw 的插件机制,相当于给 Agent 装上专项能力的“外挂模块”。这篇文章我就以零基础视角,把 OpenClaw 安装 Skill 这件事拆成三步,从环境准备到目录结构,再到实际装一个 Skill 并跑通,全程带路径、带命令、带排查方法。
先说结论:OpenClaw 的 Skill 安装难度比很多人想象的低得多,核心就三件事:把 Skill 文件放到指定目录、让 OpenClaw 能识别它的元信息、然后在对话里调用。难点不在“装”,而在“搞懂它为什么这样设计”。这篇文章会把这套机制讲透,Windows 和 macOS 用户都能照着操作,不需要会写代码,能复制粘贴就能完成。
1. 动手前先搞清楚:OpenClaw 和 Skill 到底是什么关系
1.1 OpenClaw 是个什么工具
OpenClaw 是一个本地优先的 AI Agent 运行框架。你可以把它理解成一个“命令行总指挥”:它本身不内置具体行业知识,而是通过调用大模型、本地工具、脚本和外部服务,帮你完成一连串复杂任务。和直接在网页上跟 ChatGPT 聊天不同,OpenClaw 能直接读写你电脑上的文件、执行命令、调用 API,真正做到“让 AI 替你干活”。
2026 年这个时间点上,这类工具已经不算新鲜,同赛道还有 Claude Code、Codex 等产品,OpenClaw 的特点是开源、本地部署、扩展机制灵活,尤其适合需要把 AI 接入自己工作流的用户。它既能跑在 Windows 上,也能跑在 macOS 和 Linux 服务器上,装好后默认数据都存在~/.openclaw/这个隐藏目录里。
1.2 Skill 的本质:让 Agent 拥有“专项能力”的插件机制
Skill 在 OpenClaw 里是一个很具体的概念:它是一组放在特定目录下的文件,包含元信息、提示词和可执行脚本,用来教会 AI 在特定场景下怎么做一件事。
举个例子:你直接问大模型“帮我写一份项目周报”,它能写,但内容泛泛而谈,不知道你的项目进度、不知道你团队的模板格式、不知道要包含哪些数据。但如果你安装了一个“项目周报 Skill”,OpenClaw 在调用这个 Skill 的时候,会自动读取你的项目文件、提取关键数据、按照你指定的模板生成周报,甚至还能自动保存到指定位置。
这就是 Skill 的价值:它把“通用 AI”变成“懂你业务的专用 AI”。社区里流传的所谓 impeccable skill、taste skill、humanizer skill,本质上都是别人写好的 Skill 集合,有的负责让你生成的内容更像真人,有的负责统一文风,有的负责特定领域的专业输出。
1.3 为什么要用 Skill 而不是直接改提示词
很多人问过这个问题:我直接把要求写在提示词里不就完了?为什么要单独装 Skill?
两方面的原因。第一,提示词无法复用。每次新开对话都要重新贴一大段要求,而 Skill 是持久化存在的,只要在对话里提到“用某某 Skill”,它自动生效。第二,Skill 可以带逻辑和工具。优秀的 Skill 不只是几段文字,它还包含脚本,可以在运行时动态收集信息、调用 API、处理文件。比如一个“会议纪要 Skill”,它会先录音转文字,再按模板提炼结论,最后把纪要发到指定邮箱,这一整套流程都能在 Skill 里定义好。
换句话说,提示词是“告诉 AI 怎么做”,Skill 是“让 AI 自己知道该怎么做”。后者的上限高得多。
2. 第一步准备:装好 OpenClaw 主程序并确认环境没问题
2.1 环境要求与版本选择
安装 Skill 的前提是 OpenClaw 主程序能正常运行。不同平台的环境要求略有差异,但核心就三样:一个能用的终端、支持的操作系统、可访问的大模型接口。
Windows 用户建议用 PowerShell 7 以上版本,也就是终端里显示pwsh而不是powershell.exe的运行环境。Win11 自带的 Windows Terminal 可以直接用,但注意默认的 PowerShell 5.1 可能会有兼容问题,如果执行安装脚本报错,先检查一下版本。
macOS 用户建议安装 Homebrew 之后再用命令行安装,Linux 服务器则直接用curl脚本。OpenClaw 目前有稳定版和预览版两个通道,新手不要追新,选稳定版或者社区验证过的版本,等跑通一个 Skill 再折腾新功能。
2.2 Windows 下怎么装:PowerShell 一行命令
Windows 下的安装方式在官方文档里给的是命令行脚本,大致形式是这样:
# 请以官方文档最新地址为准,以下为常见安装格式 irm https://openclaw.example/install.ps1 | iex执行之后脚本会自动完成几件事:下载主程序、安装到用户目录、配置 PATH 环境变量、创建.openclaw配置目录。整个过程中如果有安全提示,选择“是”或“允许”,因为这类脚本需要写环境变量。
很多人会遇到这么一个问题:安装过程没报错,但关掉终端再打开,输入openclaw提示“无法将 openclaw 项识别为 cmdlet、函数、脚本文件或可运行程序的名称”。这个原因通常是 PATH 没生效。终端环境变量是在启动时读取的,安装时改的 PATH 不会自动更新到你当前已打开的窗口。解决办法很简单:关掉终端重新开一个,或者执行$env:Path = [Environment]::GetEnvironmentVariable("Path", "User")手动刷新当前会话。
还有一个问题是“PowerShell 安装 openclaw 能指定目录吗”,答案是可以。默认安装位置是用户的.openclaw目录(Windows 上通常是C:\Users\你的用户名\.openclaw\),如果你想把程序本体装到其他盘,安装前设置一个环境变量指向目标位置就行:$env:OPENCLAW_HOME = "D:\openclaw",然后再跑安装脚本。但要注意,无论程序本体装在哪,配置和 Skill 默认还是在C:\Users\你的用户名\.openclaw\下,不建议随便改这个目录,因为很多工具链默认找这里。
2.3 装完自检:目录、配置、命令识别
装完后打开终端,输入:
openclaw doctor这个命令会做一次环境自检,告诉你哪些依赖缺失、哪些配置有问题。如果没有doctor子命令(不同版本有差异),就直接输入openclaw --version看能否正常输出版本号。
然后确认目录结构。打开文件管理器,进入C:\Users\Administrator\.openclaw\(Windows)或~/.openclaw/(macOS/Linux),正常情况下你会看到类似这样的内容:
workspace/:AI 的工作目录,OpenClaw 默认在这里读写文件config.json或config.yaml:主配置文件skills/:Skill 存放目录(有些版本需要手动创建)exec-approvals.json:命令行执行审批记录runtime/:运行时数据
这里要注意,不同版本目录名可能略有差别。2.0 版本之后 OpenClaw 对 Skill 目录做了统一,基本上skills/和workspace/这两个目录是必须确认存在的。如果没看到skills/目录,可以先自己新建一个,不影响使用。
3. 第二步理解:Skill 到底放在哪、长什么样
3.1 Skill 的存放目录与工作区概念
在 OpenClaw 里,Skill 的存放位置直接决定它能不能被识别。常见的有两类位置:
一类是全局 Skill 目录,路径为~/.openclaw/skills/,放在这里的 Skill 对所有项目生效。我建议新手把自己写的、常用的 Skill 放这里,省心。
另一类是项目级 Skill 目录,通常是当前工作目录下的.openclaw/skills/,或者项目内的skills/文件夹。放在这里的好处是 Skill 跟着项目走,换电脑同步仓库就能带走,适合团队协作场景。
还有一类来自社区打包的 Skill 合集,解压后自带目录结构,你只需要把内容复制到上面说的两个位置之一就行。目录结构上,每个 Skill 应该是独立的一个文件夹,文件夹名就是 Skill 的 ID。类似这样:
~/.openclaw/skills/ ├── weekly-report/ │ ├── SKILL.md # 元信息和行为定义 │ └── scripts/ │ └── collect_progress.py ├── meeting-minutes/ │ ├── SKILL.md │ └── bin/ │ └── transcribe.sh └── email-polisher/ └── SKILL.md3.2 一个 Skill 的基本结构:元信息加提示词加脚本
打开任意一个 Skill 文件夹,最核心的文件是SKILL.md。这个文件头部通常有一段 YAML 格式的元信息,用来描述 Skill 的名称、描述、触发条件、作者,正文部分则是给大模型看的详细行为指令。一个基本的SKILL.md长这样:
--- name: weekly-report description: 自动收集本周工作记录并生成项目周报 version: 1.0.0 triggers: - "写周报" - "生成周报" --- 你是项目周报助手。当用户要求生成周报时,按以下步骤操作: 1. 读取 workspace 下的本周工作记录文件 2. 按模板格式整理成周报 3. 保存为 Markdown 文件到 workspace 并输出摘要 周报必须包含:本周完成、下周计划、风险与问题。别看结构简单,这套设计解决了两个关键问题:一是description和triggers让 OpenClaw 能判断“什么时候应该调用这个 Skill”;二是正文的步骤指令让大模型有章可循,而不是即兴发挥。
如果 Skill 需要执行本地命令或脚本,可以引用相对路径下的可执行文件。OpenClaw 在执行前会检查你有没有授权,所有操作记录都写在exec-approvals.json这个文件里。第一次运行某个脚本时,它会问你“是否允许执行”,确认后这条规则会被记录,下次不再提示。
3.3 社区里几个值得借鉴的 Skill 类型
看过几个 Skill 之后你会发现,好的 Skill 往往是在“约束 AI 的行为边界”。这里说几个社区里比较常见的类型,你装的时候心里就有数了。
写作风格类,比如 humanizer skill、taste skill,它们用来调整 AI 输出的人味和风格,通常是一大段精细的写作规则,配合几个正反例,让模型输出更自然、更有辨识度。
自动化流程类,比如自动整理文件、自动归档邮件、自动生成代码提交信息,这类 Skill 往往带了脚本,会真实地读写文件、执行 Git 命令。
专业领域类,比如数学建模 skill、科研 skill、仓颉 skill,它们把某个学科或工具链的规范封装进 Skill,让 AI 在专业场景下不再胡说。这类 Skill 通常很依赖高质量语料,安装前最好看看作者给的示例效果。
工作流类,比如结合 Obsidian 做项目管理、接入飞书发消息、调用 drawio 画图。这类 Skill 半数功能在外部 API 对接上,装好后能打通你的办公工具链。
看完这些类型你就明白了,Skill 可以是纯提示词,也可以带脚本工具。新手安装时不用纠结“这个 Skill 怎么没有脚本”,它可能就是一个精调过的提示词包,同样有价值。
4. 第三步实操:以“项目周报 Skill”为例装一个
4.1 场景设定:让 OpenClaw 自动生成周报
理论说再多,不如动手装一个。我以“项目周报 Skill”为例,走一遍完整流程。这个场景选得好是因为它足够典型:需要读文件、需要按模板输出、需要保存结果,基本覆盖了 Skill 的常见用法。
假设你在C:\Users\Administrator\.openclaw\workspace\下有一个项目文件夹,里面记录了这一周的工作流水,比如progress-notes.md,内容是你随手记的工作日志。你的目标很简单:让 OpenClaw 在你说“生成周报”的时候,自动读取这份日志、按固定格式生成周报、保存到本周的报告文件夹里。
4.2 创建 Skill 文件并写入配置
第一步,在 Skill 目录下创建文件夹。Windows 上打开 PowerShell,执行:
mkdir "$env:USERPROFILE\.openclaw\skills\weekly-report\scripts" -Force第二步,创建SKILL.md。Windows 下推荐直接用记事本或者 VS Code 写,避免 PowerShell 的编码问题。内容如下:
--- name: weekly-report description: 生成项目周报,自动读取工作日志并按模板输出 version: 1.0.0 triggers: - "生成周报" - "写周报" - "周报" --- 你是一位项目助理。用户要求生成周报时,按以下步骤执行: 1. 在 workspace 目录下查找 progress-notes.md 或类似的工作日志文件。 2. 按类别整理其中内容,提取关键成果、待办事项和风险问题。 3. 用 Markdown 表格输出周报,包含:本周完成、下周计划、需要协调的问题。 4. 将周报保存为 yyyy-MM-dd-weekly-report.md 到 workspace/reports/ 目录下。 5. 只输出保存路径和摘要,不要重复全文。写完保存,注意文件编码选 UTF-8。如果文件里有中文而编码不对,OpenClaw 读取时会出现乱码,Skill 就废了。
第三步,创建辅助脚本。这个 Skill 其实不依赖脚本也能用,但为了演示“带脚本的 Skill”怎么工作,我加一个简单的统计脚本,用来统计工作日志里出现次数最多的“完成”条目数:
import re from pathlib import Path ws = Path.home() / ".openclaw" / "workspace" log = ws / "progress-notes.md" if log.exists(): text = log.read_text(encoding="utf-8") items = re.findall(r"^[-*] (.*)$", text, flags=re.M) print(f"共记录 {len(items)} 条工作项") else: print("未找到 progress-notes.md")保存为scripts/count_items.py。这个脚本不复杂,但它说明了一个关键点:Skill 的脚本是在你本机运行的,OpenClaw 会先征求你的授权,再执行脚本并读取输出,AI 再根据输出继续做事。
4.3 在 OpenClaw 中启用并测试
放好文件之后,在终端里进入 OpenClaw 交互界面:
openclaw在对话框里输入:
请生成这个星期的周报正常情况下,OpenClaw 会匹配到weekly-report这个 Skill(因为触发词里有“周报”),然后开始执行步骤。你会看到它先读取工作日志,接着开始分析内容,中途可能询问你“是否允许执行 Python 脚本”,选择允许。
之后它会在workspace/reports/下生成一个新的 Markdown 文件,并告诉你文件路径和摘要。到这里,第一个 Skill 就算安装成功了。
4.4 把步骤归纳成 Install 三步法
把上面整个流程抽象一下,任何 Skill 的安装都是这三步:
- 放文件:把 Skill 文件夹复制到
~/.openclaw/skills/,或者项目下的.openclaw/skills/。 - 核对元信息:打开
SKILL.md,确认name唯一、description明确、triggers覆盖你的常用说法。这一步别偷懒,很多 Skill 不生效就是因为name写错或者triggers写得太偏。 - 重启并测试:重启 OpenClaw 会话,输入触发词让 Skill 跑一遍,观察输出和文件生成情况。
不管你是从社区下载的 Skill 包,还是自己写的,这三步流程都适用。区别只在于第一步是从网上复制文件夹,还是自己新建文件夹。从这个角度看,安装 Skill 的门槛真的不高。
5. 装 Skill 过程中最常见的坑和排查方法
5.1 命令无法识别
这个坑多半出在刚装完主程序的时候,输入openclaw提示“无法将 openclaw 项识别为 cmdlet、函数、脚本文件或可运行程序的名称”,原因已经在前面说过了, PATH 没有刷新。解决方案按顺序尝试:
- 关掉当前终端,重新开一个新的。
- 如果还不行,检查环境变量里有没有 OpenClaw 的安装路径。
- 如果你是用便携包安装的(社区有分发 openclaw 便携包),可能需要手动把解压目录加到 PATH。
补充一句:便携包不建议新手用。虽然省了安装流程,但后续更新、配置环境、安装依赖全靠手动,出错了很难排查。想少踩坑就用官方脚本装。
5.2 Skill 没有生效
文件放了,重启了,但输入触发词之后 AI 完全没反应。我总结下来有四个高频原因:
第一,目录不对。Skill 必须放在 OpenClaw 扫描的目录下,如果你放在workspace/里面,那只是普通的项目文件,不会被当作 Skill。第二,元信息不合法。SKILL.md头部的 YAML 字段写错了,比如少了name或者冒号用了中文全角,OpenClaw 会静默跳过这个 Skill,不报错。第三,触发词太宽泛。如果你设置的triggers是“帮助”,而你没直接说“帮助”这个词,模型可能不会主动联想到。第四,会话缓存。某些版本 OpenClaw 会缓存 Skill 列表,重启没生效就试试彻底退出进程再重新openclaw。
排查时可以用一个系统指令列出当前已识别的 Skill,一般是openclaw skills list或者直接在交互界面输入/skills,不同版本命令不一样,查看当前版本帮助就能找到。
5.3 审批与危险操作拦截机制
用带脚本的 Skill 时,OpenClaw 为了保证安全,默认会在执行命令前弹审批。所有审批记录存在一个 JSON 文件里,你可能会看到类似这样的提示:
Legacy exec approvals exist at /root/.openclaw/exec-approvals.json意思是旧版本的审批记录迁移到新版本了,一般会自动处理,不需要手动干预。如果你发现某个 Skill 每次运行都要反复确认,可以在配置里把这个 Skill 的脚本路径加入信任列表,但我不建议一上来就关掉所有审批。尤其当 Skill 来自第三方时,先读完它的脚本再给信任,确认脚本不会删除文件或外发数据。
我自己踩过这个坑:装了一个“自动清理临时文件”的 Skill,没仔细看脚本,差点把 workspace 里的备份给清了。从那以后,凡是第三方 Skill 带脚本的,我必须先打开脚本通读一遍。
5.4 卸载与清理
卸载 Skill 比安装还简单:进入skills/目录,删掉对应的 Skill 文件夹,然后重启 OpenClaw 即可。如果之前审批过这个 Skill 的某些命令,可以顺手清理exec-approvals.json里的相关条目,保持这个文件干净,后续审计也方便。
如果你要彻底卸载 OpenClaw 主程序,Windows 下需要做两件事:删除安装目录、清理用户环境变量里的 PATH 条目。macOS/Linux 下通常删除.openclaw目录并移除安装脚本生成的链接即可。有一点要提醒:.openclaw目录里包含你的所有配置、审批记录、workspace 文件,卸载前记得备份有用的部分。
我把这些安装和排障过程中的高频问题整理成一个速查表:
| 问题现象 | 可能原因 | 解决方向 |
|---|---|---|
| openclaw 命令不存在 | PATH 未刷新 | 重开终端或手动刷新 PATH |
| Skill 文件放好但不生效 | 目录错误 / YAML 格式错误 | 检查 skills 目录和 SKILL.md |
| Skill 执行时被反复拦截 | 审批规则未信任 | 在配置中手动添加信任项 |
| 中文内容乱码 | 文件编码不是 UTF-8 | 用 UTF-8 重新保存 |
| 旧版审批记录提示 | 版本升级迁移 | 按提示自动迁移,无需手动处理 |
| 脚本不执行 | 文件权限不足 | Linux/macOS 下chmod +x脚本 |
6. 装完 Skill 之后还能怎么玩
6.1 用内置生成器自己写 Skill
如果你装了几个 Skill 之后手痒,想自己做一个专属 Skill,OpenClaw 生态里通常有配套的辅助工具。常见的是skill creator和skill recorder。
skill creator像是一个引导式向导,你告诉它想做一个什么样的 Skill,它会帮你生成SKILL.md模板,你再按需补充细节。skill recorder则更取巧:你先按照目标流程手动操作一遍,它会把你的对话、命令、文件操作记录下来,生成一个 Skill 初稿。实测下来,生成的初稿能覆盖 70% 的流程,剩下的 30% 需要你手动润色指令。
这个方式特别适合把你的日常重复劳动沉淀下来。比如你每周都要整理报销单、每月都要汇总数据,与其每次都跟 AI 说一遍,不如花半小时录一个 Skill,以后一句话搞定。
6.2 接入本地模型与第三方工具
OpenClaw 的优势之一是可以灵活配置模型。如果你有本地 GPU,可以考虑接入 NVIDIA NIM 这类本地推理服务,好处是数据不出内网、没有按次计费、响应速度稳定。配置方法在主配置文件里加一个模型端点就行,Skill 本身不用改,因为 Skill 只是在约束“AI 的行为逻辑”,底层跑什么模型它不关心。
这也延伸出一个 Skill 安装思路:底模管能力,Skill 管行为。用同一个模型,装上不同的 Skill,输出效果能差出几个档次。所以技能不够的时候,先别急着换模型,多试试不同风格的 Skill,可能问题就解决了。
6.3 结合 Obsidian、飞书做真实工作流
再往深一层,Skill 的真正价值体现在打通工具链上。比如结合 Obsidian 做项目管理:你日常把想法、任务、会议记录随手写进 Obsidian,OpenClaw 通过一个 Skill 定期读取这些笔记,自动整理成项目进度、生成待办清单,再更新到 Obsidian 的项目看板里。整个过程你只负责写笔记,整理归档交给 Skill 完成。
类似的还有接入飞书。某些 Skill 封装了飞书 API,你可以在对话里让 OpenClaw “把这条消息发到项目群”“把今天的任务同步到飞书文档”。这些 Skill 安装方式和上面完全一样,只是内部多了 API 密钥配置。
你会发现,装 Skill 这件事学到的是方法论,会装第一个,就会装第一百个。核心永远是那三件事:文件放对地方、元信息写清楚、触发词设计到位。
我个人在实际操作中的体会是,不要看到一个 Skill 就装一个,装多了反而乱。我现在的习惯是:先明确自己要解决什么问题,再去社区搜对应的 Skill,装好后至少跑两周真实场景,确实有用才留下,没用的果断删除。这样的 Skill 库才干净、好用,AI 才能真正给你省时间。