Workbench

插件分组

按依赖自动整理插件,并用界面或独立 JSON 文件维护人工分组。

插件目录只维护一份分组、顺序和选择状态,位于“插件”入口的左侧。分组整理管理对象,不决定业务应用的导航, 也不改变启停、依赖选择或配置。没有人工布局时,目录根据 required 依赖自动整理。

查找、选择与移动

操作结果
点击插件名称或普通行区域在当前文档打开插件,标签显示插件名
点击行内选择框,或 Ctrl / Cmd 点击增减多选,不打开插件
Shift 点击选择同组内的连续范围
拖动行首把手调整顺序或移动到分组;同一插件定义的 fork 一起移动
选择后点击“移动到分组”不使用拖拽也能批量调整归属
在目录中按 Esc清除选择

列表区域中的方向键移动焦点,Enter 打开焦点插件;Ctrl / Cmd + A 选择当前展开且符合筛选的条目,折叠组内的条目不参与键盘范围选择或全选。 焦点位于选择框、拖动把手或分组按钮时,保留按钮自身的键盘操作。完整搜索语法和快捷键见目录的 F1 帮助。 搜索用于缩小候选,不改写分组。运行状态保留在行内;详细诊断在插件详情和日志中查看,不依赖悬浮卡片。

点击“编辑分组”新增、改名或删除分组,再拖动或批量移动插件。提交编辑及拖动后会自动同步布局,无需另找全局保存按钮。 等待同步完成后刷新目录,结果应保留。失败会显示通知;刷新以服务端读取结果为准,不把暂时的拖动结果当成已持久化。

只有需要批量编辑或让 coding agent 操作时,才使用下文的 JSON 文件,无需新项目预先生成。

没有分组配置时

  • 一个业务入口和只为它服务的 required 依赖放在一起,名称使用入口插件的显示名。
  • 多个业务入口共用的依赖集中到“共享依赖”,这些业务入口仍保持独立。
  • 只有一个插件定义的集合保持平铺,不创建单成员自动组。fork 不计为另一个定义。
  • 全部插件没有关联时直接显示“全部插件”;没有插件时不生成占位组。

例如“报告 → 文档处理”和“研究 → 数据集”会成为两个组;如果两边都使用“认证 → 存储”,认证和存储进入共享依赖组。 自动分类只考虑源码声明的 required 依赖,包括 Plugin Part 的依赖。optional integration、运行状态和当前选择的 provider 不影响分类。 抽象依赖考虑当前目录中声明实现该角色的全部插件。

新增或删除插件后自动结果随目录更新。依赖环作为一个整体处理;有多个业务入口时,共用的下游插件不会把业务合并成一个大组。 自动布局无法推断业务领域名称,需要业务名称时可以人工命名。

保存人工布局

“编辑分组”支持新增、改名和删除;删除分组会把当前成员移回未分组。拖动可以调整成员和顺序。 成功同步后会固定当前布局,后续依赖改变不会打乱这些人工成员。尚未出现的新插件继续在未指定的插件中自动归类。 同一个插件定义的所有 fork 共用归属;移动任一成员时会一起移动整个 family,不能拆到不同组。

“恢复自动分组”清除人工设置,立即按当前依赖重新整理。空人工组会保留,方便继续拖入插件。

让 coding agent 编辑文件

分组独立存放在 persistence 根目录的 management/plugin-groups.json。例如配置 persistence: './.pluxel/persistence' 时,路径是 .pluxel/persistence/management/plugin-groups.json。 使用 memory persistence 时不会创建磁盘文件;自定义后端使用相同 namespace 和文件 key。

{
	"version": 1,
	"groups": [
		{
			"id": "research",
			"name": "研究与资料",
			"plugins": [
				"package:@example/research::ResearchPlugin",
				"package:@example/documents::DocumentPlugin"
			]
		}
	],
	"ungrouped": ["package:@example/auth::AuthPlugin"]
}
  • id 是自选的稳定组 key;改名时保持它不变。数组顺序就是组和成员顺序。
  • plugins 使用 canonical definition reference,不使用 class display name 或 fork reference。包入口格式如上;源码入口使用 source:<sourceSpace>/<path>::<exportName>,路径中的特殊字符遵循标准 Plugin reference 编码。
  • ungrouped 明确指定保持平铺的插件;没有列出的插件继续自动分类。
  • 暂时不在目录中的合法引用会保留,插件回来时恢复归属,不会因此安装或启动插件。
  • 空文档 { "version": 1, "groups": [], "ungrouped": [] } 与文件不存在都表示完全自动。无需预先生成全量分组文件。

文件需要包含这三个顶层字段;不接受重复组 key、重复插件归属、未知字段和非法引用。建议使用格式化 JSON,并原子替换文件。 文件变化会在下一次目录刷新时读取,不必重启宿主。语法或内容错误会显示读取失败,修复文件后重新刷新即可。 界面保存与文件编辑共用这份文档;避免同时编辑同一份布局,完整保存以最后成功写入为准。

操作运行中的开发应用时,coding agent 应按照开发控制台流程发现并固定实例,提交普通 TypeScript 操作,随后刷新目录检查结果。不要另建测试宿主来判断当前应用是否已更新。

最后更新于

本页目录