zju-real/plugin-manager
v2.0.0
管插件:搜插件市场、看某插件会带来哪些能力、安装(可填凭据)、停用/启用、卸载,以及导入自制或网址来的插件包。用户说「装个能做 X 的插件」「我装了哪些插件」「把那个插件卸了」时加载。只管插件本身;技能归 skill-manager,智能体归 agent-manager。
hosts
- mcp
scripts
- plugin-creator
- scripts/validate_plugin.py
plugin.json
- name
- plugin-manager
- version
- 2.0.0
- description
- 管插件:搜插件市场、看某插件会带来哪些能力、安装(可填凭据)、停用/启用、卸载,以及导入自制或网址来的插件包。用户说「装个能做 X 的插件」「我装了哪些插件」「把那个插件卸了」时加载。只管插件本身;技能归 skill-manager,智能体归 agent-manager。
- author
- HugAgentOS
- extensions
- org.hugagent
mcp.json
- plugin_managerstreamable-httphttp://mcp:9116/mcp
{
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
"name": "plugin-manager",
"version": "2.0.0",
"description": "管插件:搜插件市场、看某插件会带来哪些能力、安装(可填凭据)、停用/启用、卸载,以及导入自制或网址来的插件包。用户说「装个能做 X 的插件」「我装了哪些插件」「把那个插件卸了」时加载。只管插件本身;技能归 skill-manager,智能体归 agent-manager。",
"author": {
"name": "HugAgentOS"
},
"extensions": {
"org.hugagent": {
"mcp": {
"plugin_manager": {
"display_name": "插件管理",
"description": "管理当前执行环境的私有插件。本机安装读取目录或压缩包;云端安装读取当前账号的产物。上传云端和申请市场发布分别执行。",
"tools": [
{
"name": "search_plugin_market",
"description": "搜索插件市场,返回可安装的插件列表(slug/名称/分类/简介/是否已安装)。\n\n 用户想\"有没有能连飞书的插件 / 插件市场里有什么 / 找个能做 X 的插件\"时调用。\n - query:关键词(在 slug/名称/简介/分类里模糊匹配;留空=列全部)。\n - category:按分类过滤(可选)。\n 找到目标后**建议先用 get_plugin_info(slug)** 看看它会带进来什么,再决定装不装。\n ",
"inputSchema": {
"properties": {
"query": {
"default": "",
"title": "Query",
"type": "string"
},
"category": {
"default": "",
"title": "Category",
"type": "string"
}
},
"title": "search_plugin_marketArguments",
"type": "object"
},
"outputSchema": {
"properties": {
"result": {
"additionalProperties": true,
"title": "Result",
"type": "object"
}
},
"required": [
"result"
],
"title": "search_plugin_marketOutput",
"type": "object"
}
},
{
"name": "get_plugin_info",
"description": "查看某个插件的详情:会给你装进来哪些技能、哪些工具,需不需要填 API Key 之类的凭据。\n\n 【安装前先调它,把\"装了会多出什么\"讲给用户听】,别让用户装完才发现还要填密钥。\n 用户问\"这插件是干嘛的 / 装了会怎样 / 它安全吗\"时也用它。\n 返回里的 required_secrets 就是安装时要准备的凭据清单。\n ",
"inputSchema": {
"properties": {
"slug": {
"title": "Slug",
"type": "string"
}
},
"required": [
"slug"
],
"title": "get_plugin_infoArguments",
"type": "object"
},
"outputSchema": {
"properties": {
"result": {
"additionalProperties": true,
"title": "Result",
"type": "object"
}
},
"required": [
"result"
],
"title": "get_plugin_infoOutput",
"type": "object"
}
},
{
"name": "install_plugin_from_marketplace",
"description": "从插件市场安装一个插件到我的空间,装完里面的技能和工具立即可用。\n\n 用户说\"装上它 / 安装 X 插件 / 把这个能力加上\"时调用。slug 取自 search_plugin_market。\n - secrets:按插件 required_secrets 的 key 传入凭据,例如 {\"FIRECRAWL_API_KEY\":\"...\"}。\n 如果该插件需要凭据而你没传,会返回缺哪些 key——这时**先向用户要**,拿到后重试,\n 不要自己编一个假的填进去。\n 【铁律】未成功拿到 ✅ 前不要声称已安装。需要管理员开启\"自助导入插件\"权限。\n ",
"inputSchema": {
"properties": {
"slug": {
"title": "Slug",
"type": "string"
},
"secrets": {
"anyOf": [
{
"additionalProperties": {
"type": "string"
},
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"title": "Secrets"
}
},
"required": [
"slug"
],
"title": "install_plugin_from_marketplaceArguments",
"type": "object"
},
"outputSchema": {
"properties": {
"result": {
"additionalProperties": true,
"title": "Result",
"type": "object"
}
},
"required": [
"result"
],
"title": "install_plugin_from_marketplaceOutput",
"type": "object"
}
},
{
"name": "install_plugin",
"description": "安装插件到当前用户的云端私有库。接收当前云端包产物 ID,不接收本机路径。同名内容不同时返回冲突,请显式更新。成功后返回安装 ID、版本及可用状态。",
"inputSchema": {
"$defs": {
"ArtifactSource": {
"additionalProperties": false,
"properties": {
"kind": {
"const": "artifact",
"title": "Kind",
"type": "string"
},
"artifact_id": {
"title": "Artifact Id",
"type": "string"
}
},
"required": [
"kind",
"artifact_id"
],
"title": "ArtifactSource",
"type": "object"
}
},
"properties": {
"source": {
"$ref": "#/$defs/ArtifactSource"
}
},
"required": [
"source"
],
"title": "installArguments",
"type": "object"
},
"annotations": {
"readOnlyHint": false
},
"_meta": {
"org.hugagent/executor": {
"id": "plugin-manager",
"version": 1
}
}
},
{
"name": "list_plugins",
"description": "列出当前用户云端已安装的插件,返回精确安装 ID 和 revision。",
"inputSchema": {
"properties": {},
"title": "list_installedArguments",
"type": "object"
},
"annotations": {
"readOnlyHint": true
},
"_meta": {
"org.hugagent/executor": {
"id": "plugin-manager",
"version": 1
}
}
},
{
"name": "get_plugin",
"description": "读取一个已安装插件的版本、内容位置与组件信息。",
"inputSchema": {
"properties": {
"install_id": {
"title": "Install Id",
"type": "string"
}
},
"required": [
"install_id"
],
"title": "getArguments",
"type": "object"
},
"annotations": {
"readOnlyHint": true
},
"_meta": {
"org.hugagent/executor": {
"id": "plugin-manager",
"version": 1
}
}
},
{
"name": "update_plugin",
"description": "用完整包更新已有插件,先读取当前 revision。版本变化则拒绝覆盖。插件及子组件一起更新;插件内技能必须通过插件管理。",
"inputSchema": {
"$defs": {
"ArtifactSource": {
"additionalProperties": false,
"properties": {
"kind": {
"const": "artifact",
"title": "Kind",
"type": "string"
},
"artifact_id": {
"title": "Artifact Id",
"type": "string"
}
},
"required": [
"kind",
"artifact_id"
],
"title": "ArtifactSource",
"type": "object"
}
},
"properties": {
"install_id": {
"title": "Install Id",
"type": "string"
},
"source": {
"$ref": "#/$defs/ArtifactSource"
},
"expected_revision": {
"title": "Expected Revision",
"type": "string"
}
},
"required": [
"install_id",
"source",
"expected_revision"
],
"title": "updateArguments",
"type": "object"
},
"annotations": {
"readOnlyHint": false
},
"_meta": {
"org.hugagent/executor": {
"id": "plugin-manager",
"version": 1
}
}
},
{
"name": "uninstall_plugin",
"description": "撤销当前用户的插件安装登记。插件及子组件一起卸载,保留导入源文件和历史版本,不删除云端副本。",
"inputSchema": {
"properties": {
"install_id": {
"title": "Install Id",
"type": "string"
},
"expected_revision": {
"title": "Expected Revision",
"type": "string"
}
},
"required": [
"install_id",
"expected_revision"
],
"title": "uninstallArguments",
"type": "object"
},
"annotations": {
"readOnlyHint": false
},
"_meta": {
"org.hugagent/executor": {
"id": "plugin-manager",
"version": 1
}
}
}
]
}
},
"local_execution": {
"id": "plugin-manager",
"version": 1
}
}
}
}
What else this package ships
These files come with the package and this site does not publish them. They are listed so you know what is there before you install it.
- validate_plugin.py
Client extensions
Data this package carries for particular clients. The directory lists the clients named and never reads what is addressed to them.
- org.hugagent