如何为Qwen-MM-Plugins添加新能力?开发者必看的详细指南
如何为Qwen-MM-Plugins添加新能力?开发者必看的详细指南
Qwen-MM-Plugins是一个让任何智能体具备多模态原生能力的开源项目,本文将为开发者提供详细的指南,帮助你快速为其添加新能力。
快速入门:复制模板开始开发
添加新能力最快的方式是复制项目中已有的示例模板进行修改。项目提供了一个可直接运行的模板,位于src/capabilities/example/目录下。你只需将该目录复制一份,然后根据自己的需求进行修改即可。
新能力的结构组成
一个完整的Qwen-MM-Plugins能力通常包含以下两个部分:
-
Agent Skill:位于
skill/目录下,主要包含SKILL.md文件,用于描述能力的名称、功能等信息。 -
MCP server 包:这是一个Python包,目录名即为导入名,需要是合法的Python标识符。该包下通常包含:
__init__.py:定义版本信息、注册工具等__main__.py:通用入口文件tools/目录:存放具体的工具实现,每个工具一个.py文件
工具开发约定
在tools/目录下新建工具文件时,需要遵循以下约定:
-
定义一个Pydantic模型作为工具的参数,用于自动生成工具的
inputSchema并校验每次调用。 -
导出
TOOL变量,包含工具的名称、描述和参数模型。 -
实现
handle函数,接收参数并返回MCP content blocks(如文本或图片)。
示例代码结构如下:
from pydantic import BaseModel, Field
class EchoArgs(BaseModel):
message: str = Field(description="Text to echo back.")
repeat: int = Field(default=1, description="Repeat count (1-10).")
TOOL = {"name": "echo", "description": "...", "args": EchoArgs}
def handle(arguments: dict) -> list[dict]:
...
return [{"type": "text", "text": ...}]
运行与安装新能力
开发完成后,你可以通过以下方式运行和安装新能力:
从源码直接运行
python3 src/capabilities/yourname/qwen_mm_plugins_yourname --version
python3 src/capabilities/yourname/qwen_mm_plugins_yourname --check-system
安装到应用中
首先将你的能力添加到marketplace.json,然后执行以下命令安装:
claude plugin marketplace add <本地仓库路径或 git URL>
claude plugin install qwen-mm-plugins-yourname@qwen-mm-plugins
修改配置文件
添加新能力后,需要修改以下配置文件:
- pyproject.toml:添加入口、依赖项、包目录映射等。
- .claude-plugin/marketplace.json:在
plugins中添加新能力的信息。 - 插件目录下的.plugin.json:描述能力的元信息。
复用共享库代码
项目提供了一个共享库src/shared/,包含多种实用功能,如配置管理、内容处理、图像处理、视频处理等。你可以直接导入这些模块来复用代码,提高开发效率。
例如,使用共享库中的图像处理功能:
from shared.image import draw_boxes, save_image
测试新能力
完成开发后,不要忘记为新能力添加测试。项目的测试相关文档可以参考测试。虽然conftest会自动发现你的server包,但schema baseline等步骤需要手动添加。
通过以上步骤,你就可以成功为Qwen-MM-Plugins添加新的能力了。开始动手尝试吧!如果你在开发过程中遇到问题,可以查阅项目的官方文档或向社区寻求帮助。
更多推荐



所有评论(0)