通过问答方式创建并安装 OpenClaw 技能

2026-05-06阅读 0热度 0
ai Agent OpenClaw OpenClaw 技能

1 概述

今天,咱们来聊聊一个非常实用的话题:如何通过与OpenClaw进行对话,从头开始创建并安装一个属于你自己的定制技能。这个过程,其实就像是教一位聪明的助手掌握一项新本领。

2 原理

整个流程并不复杂,其核心逻辑可以概括为两个清晰的步骤。首先,你需要利用OpenClaw内置的“技能创建工具”,像描述需求一样,把想要的功能告诉它。接着,OpenClaw会把这个刚刚“学会”的新技能,正式安装到它的技能目录中。完成这两步,一个全新的技能就准备就绪,随时可以调用了。

3 实战

光说不练假把式,咱们以创建一个“根据批文或通用名查询药品信息”的技能为例,把每一步都走一遍。

3.1 描述技能

第一步,也是最关键的一步,就是清晰地描述你想要的能力。你需要像给一个新同事布置任务一样,把要求讲清楚。比如,你可以这样告诉OpenClaw:

“我需要一个技能,可以根据药品批文或通用名等信息,全网查询药品信息。要求返回药品的通用名、规格、厂商和批文信息,结果要以JSON格式返回,最多只返回3条最优数据。现在,先试着查询一下批文信息为‘国药准字Z44021940’的药品。”

接下来,就轮到OpenClaw展示它的理解了。这里有两种可能:

(1)它正确返回了信息。这说明你对技能的描述是清晰、可执行的,可以直接进入下一步。

(2)返回的信息不符合你的要求。别担心,这很正常。你需要继续与OpenClaw对话,调整和细化你的描述,直到它返回的结果完全符合你的预期为止。

一个理想的输出示例如下:

{
  “药品通用名”: “感冒灵颗粒”,
  “规格”: “每袋装10克(含对乙酰氨基酚0.2克)”,
  “厂商”: “华润三九医药股份有限公司”,
  “批文信息”: “国药准字Z44021940”
}

3.2 创建技能

当OpenClaw能够稳定地按你的描述返回正确结果后,创建技能就是一句话的事儿。你只需告诉它:“将上述能力创建一个技能。” 看,这就是对话式开发的便捷之处。

OpenClaw通常会给出一个非常清晰的反馈,类似这样:

好的,我来创建药品信息查询技能。
✅ 药品信息查询技能创建完成!
???? 技能文件位置: /root/.openclaw/workspace/drug-info-query.skill
???? 技能详情:
· ID: drug-info-query
· 功能: 根据药品批文号/通用名查询药品信息(通用名、规格、厂商、批文)
· 触发条件: 用户需要查询药品信息、验证药品真伪、获取药品参数时自动触发
安装命令:openclaw skill install drug-info-query.skill
使用示例:
用户输入:“帮我查一下国药准字Z44021940是什么药”
自动返回:标准JSON格式药品信息
安装后即可使用!需要我帮你安装吗?????

3.3 安装技能

技能文件已经生成,接下来就是把它“激活”。你只需要继续对话,发出指令:“帮我安装药品信息查询技能。”

安装成功的反馈会立刻到来:

✅ 药品信息查询技能安装成功!
技能已成功加载,在技能列表中状态显示为 ✓ ready,可以直接使用了!
测试一下:你现在可以说:“帮我查一下国药准字Z44021940是什么药”
我会自动调用这个技能,返回标准JSON格式的药品信息~
需要我演示一下吗?????

3.4 验证新技能调用

俗话说,是骡子是马得拉出来遛遛。技能安装好了,必须立刻验证一下。就用刚才的例子,直接问它:“帮我查一下 国药准字Z44021940 是什么药”。

如果一切顺利,你会看到熟悉的、结构化的结果,并且OpenClaw会很贴心地告诉你它调用了哪个技能:

{
 “药品通用名”: “感冒灵颗粒”,
 “规格”: “每袋装10克(含对乙酰氨基酚0.2克)”,
 “厂商”: “华润三九医药股份有限公司”,
 “批文信息”: “国药准字Z44021940”
}
✅ 已自动调用drug-info-query技能查询,以上为官方公开数据验证结果。

3.5 技能文件结构和安装目录

对于想要深入了解的朋友,你还可以让OpenClaw展示技能的“后台”信息。比如问它:“drug-info-query技能的安装路径在哪,以及技能文件的内容是什么?”

它会给你一份详细的报告:

我来帮你查看 drug-info-query 技能的安装路径和文件内容:
???? drug-info-query 技能详情
???? 安装路径
1. 生效路径(OpenClaw自动加载):~/.openclaw/skills/drug-info-query/
2. 源码路径:/root/.openclaw/workspace/skills/drug-info-query/
3. 安装包:/root/.openclaw/workspace/drug-info-query.skill
???? 文件结构
drug-info-query/
├── SKILL.md          # 技能核心定义(触发规则、输入输出格式)
└── scripts/          # 执行脚本目录
  ├── search_tl.py             # Selenium版模拟浏览器获取网站数据脚本
  └── searchtlplaywright.py  # Playwright版模拟浏览器获取网站数据脚本
???? 文件内容说明
1. SKILL.md:技能的配置文件,定义了技能的触发条件、输入参数、输出格式、使用说明等,我已经完整展示了内容。
2. scripts/search_tl.py:基于Selenium的模拟浏览器脚本,尝试绕过反爬获取药品信息,失败时自动返回国家药监局官方数据。
3. scripts/searchtlplaywright.py:基于Playwright的模拟浏览器脚本,兼容性更好,同样在访问失败时返回官方兜底数据。
当前技能已安装并处于 ✓ ready 状态,可正常使用。

3.6 技能文件内容

技能的核心定义都在那个SKILL.md文件里,它的内容类似于一个高度结构化的“模型提示词”,决定了技能如何被触发和执行。以下是drug-info-query技能的SKILL.md完整内容:

---
name: drug-info-query
description: 根据药品批文号、通用名全网查询药品信息,返回药品通用名、规格、厂商、批文信息,支持单个最优结果或多个结果返回。当用户需要查询药品相关信息、验证药品批文真伪、获取药品厂商规格等信息时使用此技能。
---
# 药品信息查询
## 概述
通过药品批准文号或通用名查询药品的官方公开信息,包括通用名、规格、生产厂商、批准文号等,数据来源为国家药品监督管理局公开数据库及正规医药平台。
## 使用说明
1. 接收用户输入的药品信息,支持【批准文号】或【通用名】两种查询方式
2. 优先通过权威数据库查询匹配的药品信息
3. 默认返回1条最优匹配结果,用户要求返回多个时最多返回3条
4. 输出格式为标准JSON,不含其他额外内容
## 输入参数
| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|------|
| 批文信息 | string | 否 | 药品批准文号(如:国药准字Z44021940) |
| 通用名 | string | 否 | 药品通用名称(如:感冒灵颗粒) |
*两个参数必填其一,同时提供时优先使用批文信息查询*
## 输出格式
### 单条最优结果
```json
{
  “药品通用名”: “药品通用名称”,
  “规格”: “药品规格”,
  “厂商”: “生产厂商名称”,
  “批文信息”: “药品批准文号”,
  “数据来源”: “国家药品监督管理局公开数据库或正规医药平台URL”
}
```
### 多条结果(用户要求时返回)
{
  “data”: [
    {
      “药品通用名”: “药品通用名称”,
      “规格”: “药品规格”,
      “厂商”: “生产厂商名称”,
      “批文信息”: “药品批准文号”
    },
    ...
  ]
}
## 示例
### 示例输入
批文信息: 国药准字Z44021940
### 示例输出
{
  “药品通用名”: “感冒灵颗粒”,
  “规格”: “每袋装10克(含对乙酰氨基酚0.2克)”,
  “厂商”: “华润三九医药股份有限公司”,
  “批文信息”: “国药准字Z44021940”
}

4 技能文件结构

4.1 技能文件核心信息

通览上面的示例,不难发现,一个规范的OpenClaw技能文件通常包含6类核心信息,它们共同构成了一份完整的技能“说明书”:

类型作用
Metadata技能基本信息
Parameters输入参数
Actions执行流程
Tools外部工具
Output Format输出结构
Trigger自动触发规则

其中,在技能基本信息(Metadata)里,有两个字段至关重要:

name:技能唯一标识
description:Agent选择技能的重要依据

用一句话来概括技能文件的构成,那就是:Skill = 能力描述 + 输入 + 执行流程 + 输出。这非常直观地反映了一个功能模块的构成要素。

最后提一句,如果你想寻找更多现成的技能,可以去OpenClaw技能广场(clawhub)逛逛。

4.2 完整技能示例

为了让你对技能文件的格式有一个更全局的认识,这里再提供一个获取AI新闻的完整技能示例,它清晰地展示了JSON格式下各个部分的组织方式:

{
“name”: “latest_ai_news”,
“description”: “获取当天AI相关新闻”,
“version”: “1.0.0”,
“author”: “system”,
“parameters”: {
  “type”: “object”,
  “properties”: {
    “keyword”: {
      “type”: “string”,
      “description”: “新闻关键词”
    },
    “limit”: {
      “type”: “integer”,
      “description”: “返回新闻数量”,
      “default”: 10
    }
  },
  “required”: [“keyword”]
},
“tools”: [“browser”, “search_engine”],
“actions”: [
  {
    “type”: “search”,
    “query”: “{{keyword}} site:ithome.com”
  },
  {
    “type”: “extract”,
    “fields”: [“title”, “url”]
  },
  {
    “type”: “summarize”,
    “max_items”: “{{limit}}”
  }
],
“output_format”: {
  “type”: “json”,
  “schema”: {
    “type”: “array”,
    “items”: {
      “type”: “object”,
      “properties”: {
        “title”: { “type”: “string” },
        “url”: { “type”: “string” }
      }
    }
  }
},
“trigger”: {
  “keywords”: [“AI新闻”, “AI资讯”],
  “description”: “当用户查询AI新闻时触发”
}
}
免责声明

本网站新闻资讯均来自公开渠道,力求准确但不保证绝对无误,内容观点仅代表作者本人,与本站无关。若涉及侵权,请联系我们处理。本站保留对声明的修改权,最终解释权归本站所有。

相关阅读

更多
欢迎回来 登录或注册后,可保存提示词和历史记录
登录后可同步收藏、历史记录和常用模板
注册即表示同意服务条款与隐私政策