装完 OpenClaw 别急着去折腾模型参数,也别上来就问“这东西到底能干嘛”。每次有人兴冲冲装完之后,跑过来问我的第一句话基本都一样:界面倒是起来了,但我让它干点正经活,它好像啥也干不了。这个阶段十有八九不是装坏了,而是你还没给它装上“技能”。OpenClaw 这种智能体运行时,真正拉开差距的地方不在壳子,而在技能生态——没技能的智能体就像刚拿到驾照没上过路的新手,车上路能开,但不知道往哪开。这篇就分享一下我实测下来最值得先装的 5 个技能,覆盖日常高频需求,装完立刻能让 OpenClaw 从“玩具”变成“工具”。
1. 为什么劝你先装技能:OpenClaw 的“技能”到底是个啥
1.1 技能不是插件,是“带说明书的工具包”
很多人容易把技能理解成老式软件里的插件或扩展包,装上就自动生效。OpenClaw 的技能模型其实更接近“给模型提供的一套工具描述+可执行脚本”。一个标准技能目录通常是这样的:
~/.openclaw/skills/ └── 技能名/ ├── SKILL.md ├── scripts/ │ ├── main.py │ └── requirements.txt └── assets/真正的核心是SKILL.md,它不是给人看的说明书,而是给模型看的。里面写清楚这个技能是干什么的、在什么场景下调用、有哪些参数、有没有演示案例。模型在推理过程中会先读这个文件,再决定要不要调用、怎么调用。你可以把它理解成一个“带使用说明书的工具箱”——模型拿到工具盒,先读说明书,觉得能用才动手。
所以我平时选技能时有个原则:技能能力再强,只要SKILL.md描述写得含糊,我一律不装。因为描述不清的技能等于让模型盲猜,结果就是要么一直不调用,要么调用时机完全不靠谱。
1.2 选技能的标准:高频、低门槛、马上能用
给 OpenClaw 装技能这事,没有绝对的标准答案,但有一个普适的挑选思路:先装那些“高频、低门槛、结果可验证”的技能。高频决定你每天都能用到,低门槛决定配置成本可接受,结果可验证决定你出了问题能快速排查。
就拿我自己来说,日常问智能体最多的是三类事:查资料、读文档、处理图文信息。所以我的第一批技能一定围绕这三件事展开,不会一上来就装那些看起来很炫但对数据要求极高的分析类技能。后者不是说不好,而是装完大概率吃灰,还得花大量时间喂数据、调权限。
提示:判断一个技能该不该装,可以问自己一个问题——如果模型不装这个技能,我用对话手动操作,要花多少步?如果答案是超过三步,那这个技能就值得装。
2. 先装这 5 个技能,覆盖日常 80% 的需求
下面这 5 个技能是我反复装、卸载、再装之后留下的组合,基本覆盖了我日常的绝大多数需求。我会把每个技能的用途、装完能干嘛、配置要点一次说清。
| 技能名 | 解决什么问题 | 配置难度 |
|---|---|---|
| web-search | 模型知识过期,需要实时联网查资料 | 简单 |
| web-reader | 拿到链接但读不出正文内容 | 简单 |
| ocr-tool | 截图、扫描件、图片里的文字提取 | 中等 |
| pan-sync | 云端网盘文件与本地工作目录互通 | 中等 |
| vault-writer | 读写笔记库,形成个人知识积累 | 简单 |
2.1 web-search:把过期知识库变成实时联网
这是我最先装的一个,没有它,OpenClaw 基本就是个记忆截止于训练数据的离线大脑。模型参数里存储的知识再丰富,也赶不上实时信息的更新速度。
装完web-search之后,我最常用的一招是直接问“帮我查一下 XX 产品最新的发布信息”,模型会自动走搜索流程,返回多条带标题和链接的结果。相比自己在浏览器里开十来个标签页,这一步把“查资料”压缩成了“问一句”。实测下来,对于信息收集类需求,效率提升是肉眼可见的。
配置上需要注意,web-search背后通常需要一个搜索 API 或自建的搜索端点。社区里最稳妥的是用 SearXNG 自建,既不用申请复杂权限,又能完全掌控结果源。如果你不想自建,用带免费额度的搜索 API 也可以,但记得在配置里把每日调用上限调低,防止突发任务把额度跑穿。
2.2 web-reader:让智能体“读得懂”网页正文
装了web-search只是解决了“找到链接”的问题,能不能把链接里的正文读出来就是另一回事了。直接丢一个 URL 给模型,它经常抓回来一堆导航栏、广告和 CSS 噪音,既浪费 token 又干扰判断。web-reader的价值就是把网页正文提取成干净的 Markdown 或纯文本,再交给模型分析。
这个技能装完之后我最大的体验变化是,给智能体发文章链接时,它终于能像人一样“读”而不是“看源码”了。你可以让它总结一篇长文、对比两个页面里的参数,甚至让它把网页内容整理成表格——只要正文能被正确提取,后面的处理都是水到渠成。
配置上,这个技能一般不需要额外的 API key,但你需要给它配置一个浏览器 UA 或者阅读模式选项,避免部分网站对非浏览器请求直接拒访。要是碰到反爬严格的站点,还可以配合代理抓取工具使用,这里就不展开了,按你们自己网络环境的实际情况来。
2.3 ocr-tool:从截图和扫描件里抠文字
这个技能是我在社区里被问得最多的一个。有一阵子很多人反馈“OpenClaw 技能市场里没找到 OCR 类技能”,其实不是没有,而是名字跟你预期的不一样。你搜ocr不一定搜得到,试试text-extract、image-ocr、paddleocr这些关键词,结果就出来了。
装完ocr-tool,我平时最常用的场景是:收到一张聊天截图,让智能体把里面的文字提取出来并按要点整理;或者拿到一份扫描版 PDF,先 OCR 成文本再让它做摘要。这个技能对本地部署的用户尤其友好,因为主流方案跑在本地就能完成,不需要把图片传到任何第三方服务,隐私有保障。
配置上最折腾的是识别引擎选择。社区有两个派系,一派用 Tesseract,安装简单但对中文和复杂版式支持一般;另一派用 PaddleOCR,中文识别率高但依赖稍重。我的建议是:日常使用选 Tesseract 起步,跑通流程之后,再根据实际准确率决定要不要上 PaddleOCR。别一开始就追求完美,先用起来更重要。
2.4 pan-sync:接一个云端网盘当长期文件柜
这个技能是很多人忽视但实际很实用的一个。OpenClaw 默认状态下只能读写本地文件,但你的文件不可能永远都在同一台机器上。网盘同步技能的价值,就是让智能体可以按需从云端拉取文件、处理完再传回去,形成一个“云端文件柜”。
我装pan-sync之后的具体用法:把待处理的合同、表格、文档放到网盘的指定目录,然后让 OpenClaw 去读取、分析、生成摘要,再把结果传回另一个目录。整个过程不需要我手动下载上传,批量处理几十个文件也只需要一条指令。
配置时最关键的步骤是授权账号。不同网盘的授权方式不太一样,但通用流程都差不多:先在技能配置里填入账号授权信息,再绑定一个工作目录,然后测试上传下载。有一个坑提醒一下:绑定目录的路径建议只用英文和数字,别带中文和特殊符号,否则某些脚本在处理路径时会出现编码问题,排查起来特别头疼。
2.5 vault-writer:把笔记软件变成智能体的第二大脑
如果你平时有用 Obsidian 或类似本地笔记软件的习惯,vault-writer绝对值得装。它让智能体可以读写你的笔记库,按标签检索内容,甚至把对话中的新知识追加到指定笔记里。
这个技能给我带来的最大改变是,OpenClaw 不再是“用完即走”的临时工具,而是成了有记忆的助手。每次查完资料、做完分析,我都让它把核心结论追加到当天的笔记里,一天下来自动整理出一份工作日志。这种积累是复用价值最高的,第二周再回顾时,你会发现那些当时觉得没用的信息,在实际决策中变成了关键参考。
配置上要区分两种情况:如果笔记库就在本地,直接指定 vault 路径即可;如果你想通过 Obsidian 的 REST API 访问,则需要安装对应插件并配置 token。我建议本地路径优先,少一层 API 就少一层故障点。
3. 技能安装与模型关联实操:从零到能跑
3.1 三种安装来源和一条安装命令
技能安装看着简单,但装错地方或者版本不对,后续排查会非常痛苦。我自己的习惯是先看本地已有技能,再决定从哪装。
# 查看本地已安装的技能 openclaw skill list # 在索引里按关键词搜索 openclaw skill search web-search # 从 GitHub 仓库安装 openclaw skill install github:作者名/技能名 # 安装多技能 openclaw skill install github:作者名/技能名 github:作者名/ocr-tool安装来源大致分三种:官方索引、GitHub 仓库、直接指定压缩包地址。官方索引的好处是经过简单审核,命名规范;GitHub 仓库则更多更快,但质量良莠不齐;压缩包适合离线环境或内网部署。
装完之后记得做一件事:openclaw skill list再看一眼,确认技能出现在列表里。如果没出现,先别急着重装,我会在第四节详细讲排查方法。
3.2 授权与密钥配置别踩坑
技能装上之后,真正花时间的是配置。好的技能会把所需的环境变量或密钥字段定义清楚,比如搜索 API 的 key、网盘的授权凭据、OCR 引擎的本地路径。配置命令一般是:
# 设置技能级配置 openclaw config set skills.web-search.api_key xxxx openclaw config set skills.web-search.endpoint http://searxng.local # 查看当前配置 openclaw config get skills这里有个安全层面的建议:密钥一类的东西永远不要直接写进技能目录里的脚本文件。虽然很多示例代码为了演示方便会把api_key直接写死在里面,但一旦这个技能目录被备份或同步到别的机器,密钥就跟着走了。OpenClaw 提供了独立的配置层,就是为了让你把鉴权信息和技能逻辑分开,不要让偷懒埋下隐患。
3.3 把本地模型或云端模型挂给 OpenClaw
技能再强,也得有模型在背后调度。OpenClaw 在这方面做得比较友好的地方在于,它支持接入多种模型来源,本地模型和云端模型都可以。本地模型的典型配置是 Ollama 加 Qwen 这类小参数模型,云端模型则通过 OpenAI 兼容接口接入。
# 本地 Ollama 示例:qwen2.5:3b openclaw config set model.provider openai-compatible openclaw config set model.base_url http://127.0.0.1:11434/v1 openclaw config set model.model qwen2.5:3b openclaw config set model.api_key ollama拿qwen2.5:3b这类小参数模型来说,跑在本地的好处是免费、隐私好、响应快,但代价是复杂任务的理解能力偏弱,尤其是多技能协同调用时,模型可能无法准确判断该调用哪个技能。我的实际建议是:日常简单任务用本地小模型,碰到复杂任务再切到云端大模型。配置层面都留着,随时切换就行。
云端模型配置也很简单,把base_url换成服务商提供的接口地址,api_key换成对应密钥即可。很多云厂商都有免费试用额度,用来跑通流程绰绰有余,但注意不要在生产任务里依赖免费额度,稳定性不保证。
3.4 装完快速验证:让技能“跑起来”再谈优化
每次装完新技能,我建议你别直接投入正式任务,先做一轮 5 分钟的冒烟测试。拿web-search举例:
帮我用 web-search 查一下 2025 年大模型开源社区最活跃的项目,列出前 5 个。如果模型正确调用了技能,返回结果里会带有实时检索的痕迹,而不是靠训练知识硬答。再拿ocr-tool举例,你随手截一张包含文字的屏幕截图,丢给 OpenClaw,让它提取文字即可。这个测试能同时验证两件事:技能是否被正确加载,模型是否学会了调用它。
我在实际使用中的体会是,很多技能装上之后“不好用”,其实不是技能坏了,而是模型不知道该用什么触发的词去调用。SKILL.md里写明了触发场景,但模型不一定完全理解。这时候你需要微调技能描述,把更具体的触发词加进去。比如把“截图的文字提取”改成“当用户输入图片路径或粘贴图片内容时,优先调用 ocr-tool”,效果立竿见影。
4. 常见问题与排查思路实录
4.1 Windows 上常见 WSL2 环境校验失败
在 Windows 上跑 OpenClaw 的朋友,大概率碰到过类似这样的提示:无法安全验证 WSL2 环境,请先在 PowerShell 中运行wsl --status,解决报告的问题。
我在 Windows 上第一次撞上这个报错时也是一头雾水,排查了一圈发现本质原因是 WSL2 的内核组件没有完整就绪。解决办法不复杂:
# 查看当前 WSL 状态 wsl --status # 若显示内核过期或未安装,执行更新 wsl --update # 确认默认版本为 2 wsl --set-default-version 2更新完之后重启终端,再跑wsl --status确认状态正常,回到 OpenClaw 重试即可。这个报错的根源多数是系统补丁没打全,而不是 OpenClaw 本身有问题。
4.2 明明装了技能,模型却说“找不到”
这是被问得最多的问题:openclaw skill list里明明能看到技能,但对话里让模型调用时,它总说“没有这个技能”。
我排查这类问题时按三步走。第一步,确认技能是enable状态而不是disable;第二步,检查SKILL.md里的name字段是否和实际目录名一致,大小写也算,不一致会导致索引错乱;第三步,查看模型日志,看它是否读到了技能描述。
还有一个很容易被忽略的点:修改技能描述后,需要重启 OpenClaw 会话,或者执行一次技能索引重载,否则模型拿到的还是旧描述。这个问题我在不同环境里踩了不下三次,现在养成了习惯:每次改完技能描述,先重载再测试。
注意:如果技能目录里缺少
SKILL.md,或文件头部没有name和description字段,OpenClaw 会直接将整个目录视为无效技能。你不一定需要从零写复杂技能,但从别人仓库里复制技能时,千万要把整个目录完整带过去,别只复制脚本文件夹。
4.3 技能调用时报错或超时的快速定位
技能调起来之后,最常见的失败模式有两种:脚本报错和请求超时。
脚本报错又分两类。一类是缺依赖,比如python-pptx没装,这时去scripts/目录里找requirements.txt手动装一遍即可。另一类是脚本路径写死,例如脚本里用了/home/user/开头的绝对路径,换机器必然挂。所以我自己写技能时有一条原则:所有路径必须走相对路径,或者从环境变量读取。
请求超时则多半是网络或模型响应慢。先把超时时间适当放宽,比如从 30 秒调整到 60 秒;如果还超时,就用curl单独测一下技能脚本依赖的外部服务是否可达。注意,千万不要把网络超时直接等同于技能坏了,很多时候是外部依赖抽风。
4.4 进阶建议:如何判断“下一个该装什么”
装完基础 5 技能、跑通日常流程之后,你自然会遇到这么一个问题:我还需要更多技能吗?我的判断标准是——从“重复劳动”里找需求。如果你发现自己连续三天都在用同样的方式让 OpenClaw 处理同一类任务,那这就是一个技能化的绝佳候选。
比如你每天都要让模型把日报整理成固定格式的 PPT,那就可以找 PPT 生成类技能,或者干脆自己写一个。自己写技能没有想象中复杂,在~/.openclaw/skills/下新建目录,写一个SKILL.md描述触发方式,再放一个能完成动作的脚本即可。哪怕只是把一串固定逻辑封装成技能,也是值得的,因为技能化的好处是可持续复用,记录越多,后续越省力。
我个人实际使用中的体会是,技能装到一定数量之后,就该做减法了。那些装了一个月都没被调用过的技能,要么删除,要么重新打磨描述。技能生态的核心不是数量多,而是每个放在那里的技能都真正“能用、好用、在关键时刻会被调起来”。
这套组合用了一段时间后,我的明显感受是:OpenClaw 不再是一个需要我反复喂指令的玩具,而是一个能自动接活、处理完还能把结果归档的靠谱搭档。你按这个思路装完,大概率也会得到同样结论。