All plugins

DSH / BUNDLE / BUNDLES

dsh-plugin-query-enhance

v0.1.0deadbushxw / dsh-plugin-query-enhancea732e2eb0f

InstallableBundlesBundles & other modulesCommunity · Topic auto-analysis

Overview

dsh-plugin-query-enhance

DSH Host plugin: ask for the current profile's bundles or plugin entries by name, state, or module, and keep plugin_manager list_bundles from returning every bundle's full declared-row list.

README / EN

Package documentation

Registry summary

DSH Host plugin: ask for the current profile's bundles or plugin entries by name, state, or module, and keep plugin_manager list_bundles from returning every bundle's full declared-row list.

dsh.pub verifies the pinned bundle contract, runtime facts, and distribution semantics. The complete README remains in the source repository.

Read the full README on GitHub

LIMITATIONS

Known limitations

- **无法扩展管理工具自身的 schema。** 插件不能给另一个插件注册的工具加参数,所以 list 类调用只能被默认**瘦身**,无法被过滤。过滤是 `plugin_query` 的职责;投影是 给"仍然伸手去够老工具"的调用方准备的兜底。 - **`list_plugins` 本来就被管理工具剥掉了一层。** 它在返回前已去掉展示元数据; 投影在这里再去掉 `patchId` 并保持同一信封,所以收益真实但有限,大头仍然是 `list_bundles`。 - **对声明行很多的 bundle,`detail: "full"` 依然很大。** 它按定义就是管理记录。用 `match` 可以把行收窄到命中的那些,通常这才让它变得可负担。 - **若 `pluginManager` 服务不存在,`plugin_query` 不会出现。** 投影那一半照常工作, 只是不注册该工具。可通过插件自身的 debug 日志区分这两种情况。 - **该工具会给每次请求增加一点固定开销。** 无论是否使用,它的 schema 与描述都会 被发送。描述刻意写短正是为此;而投影那一半零开销。 - **没有设置页。** 两项设置都是行配置,在 `cordis.patch.yml` 中修改。加一个设置页 意味着把字段标记为 volatile 并附带一个客户端半边,对两个布尔值来说动静太大。 - **投影是策略,不是过滤器。** 它决定的是"没有更好的问法时 `list_bundles` 回传 什么"。`intercept: false` 可精确恢复原行为。