🎯 工具和技能是啥?
工具 是 OpenClaw 内置的基础能力,比如浏览器、文件系统、定时任务。 技能 是社区开发的扩展功能,比如查天气、发邮件、管理 GitHub。 两者都是让 AI 能做更多事情的"超能力"。
💡 区别:工具是 OpenClaw 自带的"基础装备",技能是后天学习的"武功秘籍"
🎮 举例:浏览器是工具,查天气是技能;文件操作是工具,GitHub 管理是技能
🔧 内置工具
这些工具随 OpenClaw 一起安装,开箱即用:
Browser
让 AI 帮你浏览网页、搜索信息、甚至帮你下单
用途:
示例:帮我在京东上找一下 iPhone 16 的价格
配置示例:
{
"tools": {
"browser": {
"enabled": true,
"headless": false,
"defaultTimeout": 30000
}
}
} 💡 小贴士
- headless: false 可以看到浏览器窗口,调试更方便
- 浏览器运行在沙箱中,安全性有保障
- 支持截图,可以直接看到网页内容
Node
连接你的手机,让 AI 能拍照、录屏、获取位置
用途:
示例:帮我拍张照片,看看我面前的这道菜是什么
配置示例:
{
"nodes": {
"enabled": true,
"autoPair": true
}
} 💡 小贴士
- 需要在手机上安装 OpenClaw Node App
- iOS 和 Android 都支持
- 拍照需要相机权限,记得在手机上授权
Canvas
可视化交互界面,AI 可以画图、展示数据、创建表单
用途:
示例:帮我画一个项目进度甘特图
配置示例:
{
"canvas": {
"enabled": true,
"autoOpen": true
}
} 💡 小贴士
- Canvas 支持实时协作
- 可以导出为图片或 PDF
- 手机端也能查看 Canvas 内容
Cron
定时任务,让 AI 在特定时间自动执行某些操作
用途:
示例:每天早上9点提醒我今天的待办事项
配置示例:
{
"cron": {
"jobs": [
{
"name": "morning-news",
"schedule": "0 8 * * *",
"message": "今天有什么重要新闻?"
}
]
}
} 💡 小贴士
- 使用标准 Cron 表达式:分 时 日 月 周
- 0 8 * * * 表示每天早上8点
- */5 * * * * 表示每5分钟执行一次
File System
读写文件,管理你的代码和文档
用途:
示例:帮我读取 project/README.md 的内容
配置示例:
{
"filesystem": {
"allowedPaths": ["/workspace", "/tmp"],
"maxFileSize": "10MB"
}
} 💡 小贴士
- 默认只能在 /workspace 目录操作
- 可以配置允许的目录白名单
- 支持大文件分块读写
🎓 技能系统
内置技能
OpenClaw 自带的技能,开箱即用
托管技能
从 ClawHub 下载的官方/社区技能
工作区技能
你自己开发的本地技能
🔥 热门技能推荐
热门技能
planning-with-files
Manus风格持久化规划工作流
team-tasks
多代理管道协调
openclaw-trading-assistant
AI交易助手
last30days-skill
社交媒体研究工具
开发工具
github
GitHub 仓库管理、PR review
git
Git 操作助手
docker
Docker 容器管理
database
数据库查询和管理
效率工具
todo
待办事项管理
notes
笔记记录和搜索
calendar
日历管理
邮件发送和读取
📦 安装技能
从 ClawHub 安装
最简单的方式,自动下载和配置
openclaw skills install planning-with-files 从 npm 安装
适合 npm 上发布的技能包
openclaw skills install @openclaw/skill-github 本地安装
安装自己开发的本地技能
openclaw skills install ./my-local-skill ✅ 安装后记得授权!
openclaw skills approve planning-with-files 为了安全起见,新安装的技能需要用户手动授权后才能使用。
💻 开发自己的技能
有特定的业务需求?自己开发一个技能吧!
// skills/hello-skill/index.ts
import { defineSkill } from '@openclaw/sdk';
export default defineSkill({
name: 'hello-skill',
description: 'Say hello to the user',
actions: {
greet: {
description: 'Greet the user by name',
parameters: {
name: { type: 'string', description: 'User name' }
},
handler: async ({ name }) => {
return { message: `Hello, ${name}! 👋` };
}
}
}
});
🚀 快速开始
- 创建 skills/my-skill/ 目录
- 编写 index.ts 定义技能
- 本地安装测试
- 发布到 npm(可选)
📚 学习资源
- • Skill SDK 文档
- • 示例技能仓库
- • 开发者 Discord 频道
- • TypeScript 类型定义