@linxin666/dsh-client-ui-community-plugins 0.2.0 → 0.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.i18n.yaml +2 -2
- package/README.md +8 -4
- package/README.zh.md +8 -4
- package/lib/client.js +714 -68
- package/lib/client.js.map +1 -1
- package/package.json +2 -2
package/README.i18n.yaml
CHANGED
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
# side as of the last confirmed-consistent state. Both languages carry equal authority;
|
|
3
3
|
# after editing either side, bring the other along and re-record with:
|
|
4
4
|
# node scripts/verify-docs.mjs --write <dir>
|
|
5
|
-
README.md:
|
|
6
|
-
README.zh.md:
|
|
5
|
+
README.md: 68af65134032e141366d53b6e498de0735c6107f
|
|
6
|
+
README.zh.md: d118eccba8dadd4c45fbc0b77806f21c528513af
|
package/README.md
CHANGED
|
@@ -2,12 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
English | [中文](README.zh.md)
|
|
4
4
|
|
|
5
|
-
Community plugin
|
|
5
|
+
Community plugin marketplace section for the dsh web GUI settings page: a first-level settings entry (alongside Web UI Plugins, Skin Center and Pet) that opens directly expanded, lists community-contributed plugins in a marketplace-style grid (search box, category filter pills, cards), and carries its own enable switch. When the sibling Plugin manager plugin (`@linxin666/dsh-client-ui-plugin-manager`) is installed and the browser is local, cards install and uninstall entries directly in the GUI; otherwise the section degrades to a read-only index with a one-click copy-install-command button per card.
|
|
6
6
|
|
|
7
7
|
## What it does
|
|
8
8
|
|
|
9
9
|
- **First-level section**: registers one settings section next to General / Models / Plugins / Agent presets and the Web UI Plugins, Skin Center and Pet sections. The content renders directly expanded (no disclosure fold), with its own enable switch backed by the community-plugins settings namespace.
|
|
10
|
-
- **Marketplace display**: entries render as a searchable, category-filterable card grid — a search box over names, descriptions and authors, category pills with per-category counts, and a two-column card layout (name, npm/repo marker, a `category · author` meta line, a two-line description, a repository link
|
|
10
|
+
- **Marketplace display**: entries render as a searchable, category-filterable card grid — a search box over names, descriptions and authors, category pills with per-category counts, and a two-column card layout (name, npm/repo marker, a `category · author` meta line, a two-line description, and a repository link).
|
|
11
|
+
- **In-GUI install and uninstall**: when the Plugin manager plugin provides its `pluginManager` cordis service and that face reports loopback (local browser), each card gains an Install button with a live stage line (fetch / download / extract / write) polled from the host, an "installed, takes effect after restart" badge, and an Uninstall button behind a confirmation dialog. Installs and uninstalls write through the Plugin manager's own channels, so the card stays in sync with the Plugin manager tab (via the service's change subscription). Only one mutation runs at a time; while one is in flight the other cards' buttons are disabled.
|
|
12
|
+
- **Graceful degradation**: without the Plugin manager plugin, or from a remote (non-loopback) browser, the section renders the read-only index exactly as before — every card keeps its copy-install-command button in all states as a fallback, and a subtle hint explains what enables in-GUI install.
|
|
11
13
|
- **Index only**: every entry links to the contributor's own repository; the package never vendors the listed code. The registry lives in community.json and is compiled into the client bundle by scripts/community-index.
|
|
12
14
|
|
|
13
15
|
## Install
|
|
@@ -15,7 +17,7 @@ Community plugin index section for the dsh web GUI settings page: a first-level
|
|
|
15
17
|
### From npm (recommended)
|
|
16
18
|
|
|
17
19
|
```sh
|
|
18
|
-
dsh plugin --profile web add @linxin666/dsh-client-ui-community-plugins
|
|
20
|
+
dsh plugin --profile web add @linxin666/dsh-client-ui-community-plugins@latest
|
|
19
21
|
```
|
|
20
22
|
|
|
21
23
|
### From the repository (development)
|
|
@@ -33,11 +35,13 @@ Restart `dsh web` for the card to appear in the settings page.
|
|
|
33
35
|
|
|
34
36
|
- **Enable switch**: inside the Community Plugins first-level section itself (the section carries its own switch). Turning it off hides the index list until it is turned back on; the choice persists in the community-plugins settings namespace.
|
|
35
37
|
- **Category filter**: entries may carry a `category` in community.json — one of the fixed marketplace categories `ui`, `agent`, `tools`, `knowledge`, `integration`, `security` or `utility`. The card renders them as filter pills with counts, plus a search box over names, descriptions and authors; the "npm published / repo install" marker on each card comes from the `npm` field.
|
|
36
|
-
- **Running a listed plugin**: the
|
|
38
|
+
- **Running a listed plugin**: with the Plugin manager plugin installed and a local (loopback) browser, click Install on a card — the entry's npm package is used when published, else the contributor repository URL. Without it, copy the card's install command into a terminal, e.g. `dsh plugin --profile web add <name>`. Either way the install takes effect after restarting `dsh web`, and the plugin then provides its own switch and config (if any) in the plugin configuration section. Uninstall from a card requires the same confirmation and likewise applies on restart.
|
|
37
39
|
|
|
38
40
|
## Known limitations
|
|
39
41
|
|
|
40
42
|
- The card shows on the dsh settings page only when its prerequisite (`@deepseek-ai/dsh-client-ui-settings`) is present.
|
|
43
|
+
- In-GUI install/uninstall requires the Plugin manager plugin (`@linxin666/dsh-client-ui-plugin-manager`) and a local browser; remote browsers get the read-only copy-command index.
|
|
44
|
+
- Installs and uninstalls staged from the card take effect only after restarting `dsh web` (the "installed" badge says so on the card).
|
|
41
45
|
- Entries are curated by maintainers in community.json; the card ships the build-time snapshot.
|
|
42
46
|
|
|
43
47
|
## License
|
package/README.zh.md
CHANGED
|
@@ -2,12 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
[English](README.md) | 中文
|
|
4
4
|
|
|
5
|
-
面向 dsh web GUI
|
|
5
|
+
面向 dsh web GUI 设置页的社区插件市场分区:作为一级菜单项(与 Web UI 插件、皮肤中心、宠物同级)直接展开,以插件市场风格网格展示社区贡献的插件(搜索框、分类筛选胶囊、卡片),并配有自己的启用开关。当安装了配套的「插件管理器」插件(`@linxin666/dsh-client-ui-plugin-manager`)且浏览器为本机访问时,卡片可直接在界面内安装与卸载条目;否则分区退化为只读索引,每张卡片保留一键复制安装命令按钮。
|
|
6
6
|
|
|
7
7
|
## 功能
|
|
8
8
|
|
|
9
9
|
- **一级菜单项**:在设置页注册一个一级分区,与通用设置 / 模式 / 插件 / Agent 预设以及 Web UI 插件、皮肤中心、宠物同级;内容直接展开(无折叠层),自带启用开关,由 community-plugins 设置命名空间持久化。
|
|
10
|
-
- **市场风格展示**:条目以可搜索、可按分类筛选的卡片网格呈现——按名称 / 简介 / 作者的搜索框、带各分类计数的筛选胶囊,以及双列卡片布局(名称、npm/仓库标记、`分类 · 作者`
|
|
10
|
+
- **市场风格展示**:条目以可搜索、可按分类筛选的卡片网格呈现——按名称 / 简介 / 作者的搜索框、带各分类计数的筛选胶囊,以及双列卡片布局(名称、npm/仓库标记、`分类 · 作者` 元信息行、两行简介与仓库链接)。
|
|
11
|
+
- **界面内安装与卸载**:当插件管理器插件提供 `pluginManager` cordis 服务且该服务报告为回环访问(本机浏览器)时,每张卡片提供「安装」按钮(轮询宿主进度,实时显示 获取信息 / 下载 / 解压 / 写入 阶段行)、「已安装 · 重启后生效」徽标,以及带确认对话框的「卸载」按钮。安装与卸载都经由插件管理器自身的通道写入,因此卡片与「插件管理」标签页保持同步(通过服务的变更订阅)。同一时间只允许一个变更操作;进行期间其他卡片的操作按钮禁用。
|
|
12
|
+
- **优雅降级**:未安装插件管理器插件、或从远程(非回环)浏览器访问时,分区呈现与此前完全一致的只读索引——所有状态下每张卡片都保留「复制安装命令」兜底按钮,并以一行提示说明如何启用界面内安装。
|
|
11
13
|
- **只做索引**:每个条目链接到贡献者自己的仓库;本包不打包任何被索引的代码。注册表在 community.json,由 scripts/community-index 编译进客户端 bundle。
|
|
12
14
|
|
|
13
15
|
## 安装
|
|
@@ -15,7 +17,7 @@
|
|
|
15
17
|
### 从 npm 安装(推荐)
|
|
16
18
|
|
|
17
19
|
```sh
|
|
18
|
-
dsh plugin --profile web add @linxin666/dsh-client-ui-community-plugins
|
|
20
|
+
dsh plugin --profile web add @linxin666/dsh-client-ui-community-plugins@latest
|
|
19
21
|
```
|
|
20
22
|
|
|
21
23
|
### 从仓库安装(开发调试)
|
|
@@ -33,11 +35,13 @@ dsh plugin --profile web add link:$(pwd)/packages/dsh-community-plugins
|
|
|
33
35
|
|
|
34
36
|
- **启用开关**:位于「社区插件」一级分区自身(分区卡片自带的开关)。关闭后隐藏索引列表,重新打开即恢复;选择持久化在 community-plugins 设置命名空间。
|
|
35
37
|
- **分类筛选**:条目可在 community.json 中带 `category`(固定市场分类之一:`ui`、`agent`、`tools`、`knowledge`、`integration`、`security` 或 `utility`),卡片将它们渲染为带计数的筛选胶囊,并提供按名称 / 简介 / 作者搜索的搜索框;每张卡片上的「npm 已发布 / 仓库安装」标记来自 `npm` 字段。
|
|
36
|
-
-
|
|
38
|
+
- **运行已登记的插件**:已安装插件管理器插件且使用本机(回环)浏览器时,直接点击卡片上的「安装」——条目已发布 npm 时用包名,否则用贡献者仓库地址。未安装时,复制卡片上的安装命令到终端执行,如 `dsh plugin --profile web add <包名>`。两种方式都在重启 `dsh web` 后生效,随后插件自带的开关与配置(若有)出现在插件配置区。从卡片卸载同样需要确认,同样在重启后生效。
|
|
37
39
|
|
|
38
40
|
## 已知限制
|
|
39
41
|
|
|
40
42
|
- 仅当依赖的 `@deepseek-ai/dsh-client-ui-settings` 存在时,该卡片才会出现在 dsh 设置页。
|
|
43
|
+
- 界面内安装 / 卸载依赖插件管理器插件(`@linxin666/dsh-client-ui-plugin-manager`)与本机浏览器;远程浏览器只能得到只读的复制命令索引。
|
|
44
|
+
- 从卡片发起的安装与卸载在重启 `dsh web` 后才生效(卡片上的「已安装」徽标已注明)。
|
|
41
45
|
- 条目由维护者在 community.json 中登记审核,卡片展示构建时的快照。
|
|
42
46
|
|
|
43
47
|
## License
|