跳转到内容

plugin.json 清单

plugin.json 是插件的唯一事实源,前后端扫描共用同一份清单。

字段必填说明
id插件 id,全局唯一、kebab-case,必须等于目录名
name插件分组显示名(侧栏分组标题)
description插件说明
group显式分组名;缺省按 order 归入默认分组
order排序权重,缺省 100;分组序取组内最小 order
keywords关键词数组,供全局搜索命中
legacyMigrations旧全局版本 → 新本地版本的迁移桥接映射

一个插件可声明多个工具项,各自独立导航、独立启停、独立设置 tab:

字段必填说明
id工具 id,全局唯一,路由 /tool/:id
name工具显示名
description一句话描述
iconlucide 图标名(如 RocketTable
entry页面入口,相对插件目录且含 frontend/ 前缀,如 frontend/views/Tool.vue
keepAlive默认 true;设为 false 退出缓存,切回重置

声明设置面板入口:

{
"settings": {
"entry": "frontend/settings/Settings.vue"
}
}
{
"id": "hello-world",
"name": "示例插件",
"description": "演示插件开发全链路:Rust 命令、SQLite、日志、HTTP、布局体系",
"group": "示例",
"keywords": ["demo", "示例"],
"order": 1,
"legacyMigrations": { "1": 1, "2": 2 },
"tools": [
{
"id": "hello-world",
"name": "示例工具",
"description": "Rust 命令调用、日志管道与 SQLite notes 读写",
"icon": "Rocket",
"entry": "frontend/views/Tool.vue",
"keepAlive": true
}
],
"settings": { "entry": "frontend/settings/Settings.vue" }
}