QClaw Skills 技能系统开发教程与插件机制解析

浅丽吖_9139

浅丽吖_9139

2026-05-20

383人浏览

原创

qclaw自定义技能开发需严格遵循五步规范:一、标准目录结构(含skill.yaml、main.py等5文件);二、skill.yaml配置(含name、description、input/output schema);三、main.py执行逻辑(run函数签名、i/o限制、返回格式);四、依赖管理(requirements.txt精确版本、禁止非pypi源);五、本地vetting验证(qclaw-vet与qclaw-run测试)。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

qclaw skills 技能系统开发教程与插件机制解析 - php中文网

如果您希望为 QClaw 构建自定义技能,但尚未掌握其开发规范与插件机制,则可能是由于对 skill.yaml 结构、main.py 执行契约或依赖注入方式理解不足。以下是完成技能开发与机制解析的系统性步骤:

一、理解 Skill 的标准目录结构

QClaw 技能必须遵循统一的文件组织规范,该结构是技能被识别、校验和加载的前提。缺失任一关键文件将导致 skill-vetter 审查失败或运行时 ImportError。

1、创建根目录,命名为符合 Python 包命名规则的技能名(如 pdf_to_word)。

2、在根目录下新建 skill.yaml 文件,用于声明元信息与接口契约。

3、添加 main.py 文件,作为技能唯一可执行入口,必须包含 run() 函数且接收 dict 类型 input 参数。

4、编写 requirements.txt,仅列出 runtime 依赖项(禁止包含 torch、tensorflow 等大体积库,除非确需)。

5、提供 README.md,至少包含“用途”“输入示例”“输出说明”三部分。

二、编写 skill.yaml 配置文件

skill.yaml 是 QClaw 调度器匹配用户指令的核心依据,其 description 字段参与语义向量检索,input/output 定义决定参数自动注入是否成功。

1、使用 UTF-8 编码保存文件,禁止 BOM 头。

2、name 字段须为 ASCII 字符,长度不超过 32 位,不得含空格或特殊符号。

3、description 字段应包含不少于 20 字的自然语言描述,并嵌入至少两个典型触发词,例如:“将 PDF 文档转换为可编辑 Word 格式”。

4、input 字段中每个参数需明确 type(string / number / boolean / array / object)、required(true / false)及 example 值。

5、output 字段必须指定 schema,且顶层字段名与 main.py 中 return 字典的键严格一致。

三、实现 main.py 的执行逻辑

main.py 是技能的实际执行单元,QClaw 在调用时会以子进程方式启动该脚本,并通过标准输入传入 JSON 格式的 input 数据。run() 函数返回值将被序列化为 JSON 并传递给后续流程。

1、在文件顶部添加标准 shebang 行:#!/usr/bin/env python3。

2、定义 def run(input: dict) -> dict: 函数,禁止修改函数签名或添加额外参数。

Qwen Logo Designer
Qwen Logo Designer

商业LOGO设计技能:依据用户描述,使用阿里云百炼千问图像模型(qwen‑image‑2.0‑pro)生成专业商业LOGO图片。适用场景:设计公司/品牌LOGO、生成商业标识图标、创建品牌视觉符号、按描述生成logo图片。支持自定义尺寸、风格、负面提示词等。

下载

3、所有 I/O 操作必须限定在 input 中指定的路径范围内,禁止硬编码绝对路径。

4、若需调用外部命令,必须使用 subprocess.run(..., timeout=30, check=True),并捕获 CalledProcessError。

5、成功时返回包含 status: "success" 和 result 键的字典;失败时返回 status: "error" 与 message 键,message 值不可为空字符串或纯空格。

四、配置依赖与环境隔离

QClaw 使用 PEP 517 兼容的构建后端为每个技能创建独立虚拟环境,requirements.txt 的内容直接影响环境初始化成败及安全扫描结果。

1、仅允许指定 PyPI 上公开可索引的包名与精确版本号,格式为 package_name==1.2.3。

2、禁止使用 git+https:// 或 file:// 等非 PyPI 源地址。

3、若依赖 C 扩展,须在 comments 中注明 # [requires-binary: true],否则 skill-vetter 将拒绝安装。

4、所有包必须满足 manylinux2014 兼容性要求,macOS 用户需额外验证 arm64/x86_64 双架构支持。

5、requests 库默认已预装,不得重复声明;openai、qwen、dashscope 等模型 SDK 需显式声明版本。

五、本地调试与 vetting 流程验证

在提交至 SkillHub 前,必须通过本地 vetting 工具链验证技能合规性,避免因元数据错误或执行异常被市场自动拒收。

1、确保已安装 qclaw-devkit:pip install qclaw-devkit==0.9.7。

2、进入技能根目录,执行 qclaw-vet --strict,检查 skill.yaml 语法、路径合法性及依赖可解析性。

3、运行 qclaw-run --input '{"src_path": "/test/sample.pdf", "dst_path": "/test/out.docx"}',观察 stdout 是否输出合法 JSON。

4、手动触发一次失败场景(如传入不存在的 src_path),确认 error 状态返回且 message 字段含具体原因。

5、vetting 输出中出现 [CRITICAL] 或 [BLOCKER] 级别提示时,必须修复后重新运行,不可跳过。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

qclaw qwen skills

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
LLVM自定义Pass怎么写
LLVM自定义Pass怎么写

本专题聚焦LLVM自定义Pass开发,整理Pass类结构、run()方法、PreservedAnalyses、CMake构建、插件注册、-load-pass-plugin加载和测试用例编写流程。

2026.09.30

80

10

LLVM RISC-V参数配置教程
LLVM RISC-V参数配置教程

本专题介绍LLVM对RISC-V基础ISA和扩展的支持方式,涵盖RV32、RV64、标准扩展、实验性扩展、厂商扩展、-menable-experimental-extensions和版本差异。

2026.09.30

80

14

LLVM IR中间表示入门指南
LLVM IR中间表示入门指南

本专题整理LLVM IR的核心概念,包括中间表示作用、模块结构、函数、基本块、SSA形式、类型系统和常见语法,帮助新手理解LLVM编译流程中的关键层。

2026.09.30

80

12

PDF转图片方法
PDF转图片方法

需要把 PDF 页面用于上传、预览、分享或图片归档时,PDF 转图片方法专题整理 JPG/PNG 格式选择、逐页导出、清晰度设置、批量下载和结果检查等流程,帮助用户稳定完成 PDF 图片化处理。

2026.09.30

60

26

PixTV AI视频生成与无限画布创作
PixTV AI视频生成与无限画布创作

PixTV专题整理AI视频与视觉内容创作相关功能使用教程,涵盖AI生图、视频生成、无限画布、多模型创作、素材管理、声音音乐及视频剪辑等功能,帮助用户快速掌握PixTV从创意到成片的完整制作方法。

2026.09.29

60

15

Buffalo框架数据库开发全教程
Buffalo框架数据库开发全教程

本专题围绕Buffalo框架数据库开发,讲解database.yml多环境配置、soda与fizz迁移生成回滚、模型结构体标签、增删改查与条件查询、一对多与多对多关联、数据校验、回调钩子、事务处理及原生SQL执行能力。

2026.09.23

280

15

Buffalo框架路由与请求处理实操指南
Buffalo框架路由与请求处理实操指南

本专题讲解Buffalo框架路由与请求处理机制,涵盖路由注册与分组、资源路由、Handler编写规范、Context上下文方法、参数绑定、中间件编写挂载、Session与Cookie读写、Flash消息及错误页面定制方法。

2026.09.23

160

15

Buffalo框架零基础入门教程
Buffalo框架零基础入门教程

本专题整理Buffalo框架入门内容,涵盖Go环境准备、buffalo CLI安装、新项目生成、目录结构说明、dev热加载启动、数据库连接配置与常见报错排查,帮助新手按约定优于配置的思路跑通第一个Buffalo框架应用。

2026.09.23

140

15

Conan创建软件包配方指南
Conan创建软件包配方指南

本专题介绍通过conanfile.py创建软件包的方法,讲解包名、版本、依赖和构建设置等基础信息,以及source、build、package、package_info等常用方法的作用及编写思路。

2026.09.22

80

12

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程