dsh-plugin 0.1.1 → 1.1.0

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.
Files changed (67) hide show
  1. package/README.en.md +56 -28
  2. package/README.md +56 -28
  3. package/client/client.js +2282 -230
  4. package/client/client.js.map +1 -1
  5. package/lib/http/routes.js +432 -0
  6. package/lib/index.js +17 -8
  7. package/lib/services/install-types.js +11 -0
  8. package/lib/services/install.js +4 -0
  9. package/lib/services/installed-versions.js +66 -0
  10. package/lib/services/loader.js +98 -0
  11. package/lib/services/npm-resolve.js +67 -0
  12. package/lib/services/pending-restart.js +34 -0
  13. package/lib/services/preflight.js +94 -0
  14. package/lib/services/profile.js +88 -0
  15. package/lib/services/progress.js +50 -0
  16. package/lib/services/task-queue.js +457 -0
  17. package/lib/types/http/routes.d.ts +23 -0
  18. package/lib/types/index.d.ts +27 -0
  19. package/lib/types/services/install-types.d.ts +69 -0
  20. package/lib/types/services/install.d.ts +18 -0
  21. package/lib/types/services/installed-versions.d.ts +24 -0
  22. package/lib/types/services/loader.d.ts +43 -0
  23. package/lib/types/services/npm-resolve.d.ts +6 -0
  24. package/lib/types/services/pending-restart.d.ts +13 -0
  25. package/lib/types/services/preflight.d.ts +6 -0
  26. package/lib/types/services/profile.d.ts +24 -0
  27. package/lib/types/services/progress.d.ts +17 -0
  28. package/lib/types/services/task-queue.d.ts +82 -0
  29. package/package.json +27 -6
  30. package/src/client/components/CatalogControls.tsx +104 -0
  31. package/src/client/components/CatalogHeader.tsx +78 -0
  32. package/src/client/components/CatalogList.tsx +75 -0
  33. package/src/client/components/CategoryTabs.tsx +35 -0
  34. package/src/client/components/Dropdown.tsx +80 -0
  35. package/src/client/components/NotificationsModal.tsx +243 -0
  36. package/src/client/components/PluginCard.tsx +104 -0
  37. package/src/client/components/PluginHubSection.tsx +342 -0
  38. package/src/client/components/ProgressView.tsx +23 -0
  39. package/src/client/components/icons.tsx +125 -0
  40. package/src/client/components/modals.tsx +368 -0
  41. package/src/client/hooks/useCatalog.ts +202 -0
  42. package/src/client/hooks/useTaskQueue.ts +502 -0
  43. package/src/client/index.tsx +8 -422
  44. package/src/client/lib/catalog.ts +240 -0
  45. package/src/client/lib/env.ts +16 -0
  46. package/src/client/lib/failures.ts +165 -0
  47. package/src/client/lib/format.ts +22 -0
  48. package/src/client/locales.ts +188 -18
  49. package/src/client/styles/Dropdown.module.css +123 -0
  50. package/src/client/styles/Header.module.css +432 -0
  51. package/src/client/styles/List.module.css +324 -0
  52. package/src/client/styles/Modal.module.css +1006 -0
  53. package/src/client/styles/tokens.module.css +91 -0
  54. package/src/client/types.ts +80 -0
  55. package/src/server/http/routes.ts +432 -0
  56. package/src/server/index.ts +35 -0
  57. package/src/server/services/install-types.ts +69 -0
  58. package/src/server/services/install.ts +18 -0
  59. package/src/server/services/installed-versions.ts +84 -0
  60. package/src/server/services/loader.ts +110 -0
  61. package/src/server/services/npm-resolve.ts +67 -0
  62. package/src/server/services/pending-restart.ts +36 -0
  63. package/src/server/services/preflight.ts +97 -0
  64. package/src/server/services/profile.ts +89 -0
  65. package/src/server/services/progress.ts +48 -0
  66. package/src/server/services/task-queue.ts +492 -0
  67. package/src/client/Section.module.css +0 -589
package/README.en.md CHANGED
@@ -1,14 +1,17 @@
1
1
  <div align="center">
2
2
 
3
3
  <p>
4
- <img src="docs/logo.svg" alt="DSH-Plugin Hub" width="96" height="96" />
4
+ <img src="docs/assets/logo.svg" alt="DSH-Plugin Hub" width="96" height="96" />
5
5
  </p>
6
6
 
7
7
  # DSH-Plugin Hub for DeepSeek Harness
8
8
 
9
- **A community plugin marketplace for DeepSeek Harness · 4,261 DSH plugins indexed · 2,487 human-verified**
9
+ **A community plugin marketplace for DeepSeek Harness · 4,310 DSH plugins indexed · 3,112 human-verified**
10
10
 
11
11
  [![License](https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square)](LICENSE)
12
+ [![npm](https://img.shields.io/npm/v/dsh-plugin.svg?style=flat-square)](https://www.npmjs.com/package/dsh-plugin)
13
+ [![CI](https://github.com/dshplugin/dsh-plugin-hub/actions/workflows/ci.yml/badge.svg)](https://github.com/dshplugin/dsh-plugin-hub/actions)
14
+ [![Listed on DSH-Plugin Hub](https://dsh-plugin.org/badges/listed.svg)](https://dsh-plugin.org/plugins/dshplugin/dsh-plugin-hub)
12
15
  [![GitHub stars](https://img.shields.io/github/stars/dshplugin/dsh-plugin-hub.svg?style=flat-square)](https://github.com/dshplugin/dsh-plugin-hub)
13
16
  [![Website](https://img.shields.io/badge/website-dsh--plugin.org-blue.svg?style=flat-square)](https://dsh-plugin.org)
14
17
  [![Topic](https://img.shields.io/badge/topic-dsh--plugin-0e7490.svg?style=flat-square)](https://github.com/topics/dsh-plugin)
@@ -26,20 +29,64 @@
26
29
  DSH-Plugin Hub is a **community plugin marketplace for DeepSeek Harness**: an open-source plugin built to the official plugin development spec. Installed under **Settings → Plugin Hub**, it lets you browse, search and install community plugins without leaving the app. This is an independent community project, not affiliated with DeepSeek Harness.
27
30
 
28
31
  <p align="center">
29
- <img src="docs/screenshot-plugin-hub-en.png" alt="DSH-Plugin Hub inside DeepSeek Harness" width="840">
32
+ <img src="https://dsh-plugin.org/screenshots/dsh-plugin-hub-home-en.png" alt="DSH-Plugin Hub inside DeepSeek Harness" width="840">
30
33
  </p>
31
34
 
32
35
  ## Plugin Hub Features
33
36
 
34
- - **Native integration** — lives inside Harness **Settings → Plugin Hub**, with a bilingual UI that follows your system language
35
- - **Curated · updated daily** — indexes **4,261** community plugins, **2,487** of which are hand-verified, curated and released every day by [dsh-plugin.org](https://dsh-plugin.org)
36
- - **Always in sync** — same data source as the website; the catalog updates automatically, no manual upgrade needed
37
- - **One-click access** — open any plugin's detail page instantly; share and bookmark from your browser
38
- - **Lightweight & private** — browser-side only, no host dependencies, no telemetry, no data collection
37
+ **One-click everything · fully visualized**
38
+
39
+ - **One-click install** — click and done: a serial background queue with live progress in the dialog, cancellable anytime; most plugins take effect on page refresh, no restart needed
40
+ - **One-click upgrade** — new versions are detected automatically; the card turns into "Update" and overwrite-installs in one click
41
+ - **One-click uninstall** — fully visualized with live progress; changes take effect immediately
42
+ - **Full trace** — every install / upgrade / uninstall, success or failure, is recorded in the notification center for later review
43
+
44
+ **Notification center**
45
+
46
+ - Live progress and cancel for running tasks, pending restarts, and full success / failure history in one place
47
+ - Failed installs can be filed as a GitHub Issue in one click; pending restarts offer "later" or "restart now"
48
+
49
+ **Rich catalog · human-curated**
50
+
51
+ - Indexes **4,310** community plugins, **3,112** of which are hand-verified, curated and released every day by [dsh-plugin.org](https://dsh-plugin.org)
52
+ - Covers UI & experience, sessions & messages, memory & context, tooling and more — browse by category or search straight to it
53
+ - Every plugin shows its verification status (verified), star / fork ratings, version and last-update time — fully sourced
54
+
55
+ **Bilingual · easy to filter**
56
+
57
+ - The UI follows your system language by default and switches manually anytime from the top-right; copy and plugin data switch together
58
+ - Sort by popularity / newest / earliest indexed, with bilingual descriptions and capability tags at a glance
59
+ - Filter by installed / not installed and search across names, descriptions and tags
60
+
61
+ **Always in sync · lightweight & private**
62
+
63
+ - Same data source as the website; the catalog updates automatically, no manual upgrade needed
64
+ - Browser-side only, no host dependencies, no telemetry, no data collection
65
+
66
+ ## Feature Highlights
67
+
68
+ | One-click install | One-click uninstall |
69
+ | :---: | :---: |
70
+ | <img src="https://dsh-plugin.org/screenshots/dsh-plugin-hub-install-en.png" alt="One-click install with live progress" width="400"> | <img src="https://dsh-plugin.org/screenshots/dsh-plugin-hub-uninstall-en.png" alt="One-click uninstall with live progress" width="400"> |
71
+ | A serial background queue with live progress in the dialog, cancellable anytime | Fully visualized with live progress; changes take effect immediately |
72
+
73
+ | One-click update | Notification center |
74
+ | :---: | :---: |
75
+ | <img src="https://dsh-plugin.org/screenshots/dsh-plugin-hub-update-en.png" alt="One-click update with overwrite install" width="400"> | <img src="https://dsh-plugin.org/screenshots/dsh-plugin-hub-notifications-en.png" alt="Visual notifications" width="400"> |
76
+ | New versions detected automatically; the card turns into "Update" and overwrite-installs in one click | Running tasks, pending restarts and full success / failure history in one place; failed installs can be filed as a GitHub Issue in one click |
77
+
78
+ ## Website Overview
79
+
80
+ The hub's catalog is curated and published by [dsh-plugin.org](https://dsh-plugin.org) and stays in sync with the site; on the website you can also see plugin details, ratings and links back to their GitHub sources.
81
+
82
+ | Homepage | Browse by category |
83
+ | :---: | :---: |
84
+ | <img src="https://dsh-plugin.org/screenshots/dsh-plugin-hub-site-home.png" alt="DSH-Plugin website homepage" width="400"> | <img src="https://dsh-plugin.org/screenshots/dsh-plugin-hub-site-categories.png" alt="DSH-Plugin category browsing" width="400"> |
85
+ | Same data source as the hub — human-verified, updated daily | Browse every indexed plugin by category, search straight to it |
39
86
 
40
87
  ## Why DSH-Plugin Hub
41
88
 
42
- The DSH-Plugin Hub indexes **4,261** DeepSeek Harness plugins (DSH), **2,487** of which are hand-verified — updated daily, browse, search, download and install for free by category, fully sourced.
89
+ The DSH-Plugin Hub indexes **4,310** DeepSeek Harness plugins (DSH), **3,112** of which are hand-verified — updated daily, browse, search, download and install for free by category, fully sourced.
43
90
 
44
91
  ### Always Fresh
45
92
 
@@ -79,25 +126,6 @@ Restart `dsh web` after installing, then open **Settings → Plugin Hub** to bro
79
126
 
80
127
  Publish your plugin to GitHub and add the `dsh-plugin` topic — it will be discovered and indexed automatically. Requirements and the submission flow are on the [Submit a Plugin](https://dsh-plugin.org/submit) page.
81
128
 
82
- ## Development
83
-
84
- ```bash
85
- npm install
86
- npm run check # typecheck + build
87
- npm run build # build client/client.js (committed artifact)
88
- npm run readme:stats # refresh README plugin counts from the live website API
89
- ```
90
-
91
- Structure:
92
-
93
- ```
94
- src/client/ browser-side plugin (registers the settings.section slot)
95
- lib/index.js host loader entry (placeholder)
96
- client/client.js tsdown build artifact (committed & published)
97
- cordis.patch.yml dsh bundle patch (injects the plugin line into profiles)
98
- scripts/ tooling scripts
99
- ```
100
-
101
129
  ## Contributing
102
130
 
103
131
  - **Add your plugin**: tag it with the `dsh-plugin` topic to be auto-discovered — start on the [Submit a Plugin](https://dsh-plugin.org/submit) page
package/README.md CHANGED
@@ -1,14 +1,17 @@
1
1
  <div align="center">
2
2
 
3
3
  <p>
4
- <img src="docs/logo.svg" alt="DSH-Plugin Hub" width="96" height="96" />
4
+ <img src="docs/assets/logo.svg" alt="DSH-Plugin Hub" width="96" height="96" />
5
5
  </p>
6
6
 
7
7
  # DSH-Plugin Hub for DeepSeek Harness
8
8
 
9
- **DeepSeek Harness 社区插件市场:收录 4,261 个 DSH plugin,人工精选验证 2,487**
9
+ **DeepSeek Harness 社区插件市场:收录 4,310 个 DSH plugin,人工精选验证 3,112**
10
10
 
11
11
  [![License](https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square)](LICENSE)
12
+ [![npm](https://img.shields.io/npm/v/dsh-plugin.svg?style=flat-square)](https://www.npmjs.com/package/dsh-plugin)
13
+ [![CI](https://github.com/dshplugin/dsh-plugin-hub/actions/workflows/ci.yml/badge.svg)](https://github.com/dshplugin/dsh-plugin-hub/actions)
14
+ [![Listed on DSH-Plugin Hub](https://dsh-plugin.org/badges/listed.svg)](https://dsh-plugin.org/plugins/dshplugin/dsh-plugin-hub)
12
15
  [![GitHub stars](https://img.shields.io/github/stars/dshplugin/dsh-plugin-hub.svg?style=flat-square)](https://github.com/dshplugin/dsh-plugin-hub)
13
16
  [![Website](https://img.shields.io/badge/website-dsh--plugin.org-blue.svg?style=flat-square)](https://dsh-plugin.org)
14
17
  [![Topic](https://img.shields.io/badge/topic-dsh--plugin-0e7490.svg?style=flat-square)](https://github.com/topics/dsh-plugin)
@@ -26,20 +29,64 @@
26
29
  DSH-Plugin Hub 是 **DeepSeek Harness 社区插件市场**:一个遵循官方插件开发规范构建的开源插件,安装进「设置 → 插件中心」后,无需离开应用即可浏览、搜索并一键安装社区插件。本项目为独立社区项目,与 DeepSeek Harness 官方无隶属关系。
27
30
 
28
31
  <p align="center">
29
- <img src="docs/screenshot-plugin-hub-en.png" alt="DSH-Plugin Hub in DeepSeek Harness" width="840">
32
+ <img src="https://dsh-plugin.org/screenshots/dsh-plugin-hub-home-zh.png" alt="DSH-Plugin Hub in DeepSeek Harness" width="840">
30
33
  </p>
31
34
 
32
35
  ## 插件中心特性
33
36
 
34
- - **原生集成** — 嵌入 Harness「设置 → 插件中心」,界面中英双语,跟随系统语言
35
- - **人工精选 · 每日更新** — 收录 **4,261** 个社区插件,其中 **2,487** 已人工精选验证,由 [dsh-plugin.org](https://dsh-plugin.org) 每日收录、人工审核并发布,来源可溯
36
- - **实时同步** — 数据与官网同源,安装后自动获取最新目录,无需手动升级
37
- - **一键直达** — 详情页即点即看,「在浏览器中打开」随时分享与收藏
38
- - **轻量安全** — 仅浏览器端注入,无宿主服务依赖,无遥测、无隐私采集
37
+ **一键操作 · 全部可视化**
38
+
39
+ - **一键安装** — 点击即装:后台队列串行执行,弹窗实时显示安装进度,可随时取消;装完刷新页面即生效,无需重启
40
+ - **一键升级** — 目录检测到新版本自动提示,卡片按钮变为「更新」,覆盖安装一键完成
41
+ - **一键卸载** — 卸载全程可视化,实时进度一目了然,卸载成功即生效
42
+ - **任务留痕** — 每次安装 / 升级 / 卸载的成功与失败都会写入通知中心,随时回查
43
+
44
+ **通知中心**
45
+
46
+ - 进行中任务的实时进度与取消、待重启项、成功 / 失败历史记录集中管理
47
+ - 失败可一键提交 GitHub Issue,为开源做贡献;待重启项支持「稍后重启 / 立即重启」
48
+
49
+ **资源丰富 · 人工精选**
50
+
51
+ - 收录 **4,310** 个社区插件,其中 **3,112** 已人工精选验证,由 [dsh-plugin.org](https://dsh-plugin.org) 每日收录、人工审核并发布
52
+ - 涵盖界面与体验、会话与消息、记忆与上下文、工具能力等分类,按分类浏览、搜索直达
53
+ - 每个插件标注人工验证状态(verified)、Star / Fork 评分、版本号与最近更新时间,来源可溯
54
+
55
+ **中英双语 · 直观筛选**
56
+
57
+ - 界面默认跟随系统语言,右上角一键手动切换,界面文案与插件数据同步切换
58
+ - 支持「最热 / 最新 / 最早收录」排序,双语描述、能力标签一目了然
59
+ - 按已安装 / 未安装快速过滤,配合全文搜索精确定位目标插件
60
+
61
+ **实时同步 · 轻量安全**
62
+
63
+ - 数据与官网同源,安装后自动获取最新目录,无需手动升级
64
+ - 仅浏览器端注入,无宿主服务依赖,无遥测、无隐私采集
65
+
66
+ ## 功能一览
67
+
68
+ | 一键安装 | 一键卸载 |
69
+ | :---: | :---: |
70
+ | <img src="https://dsh-plugin.org/screenshots/dsh-plugin-hub-install-zh.png" alt="一键安装" width="400"> | <img src="https://dsh-plugin.org/screenshots/dsh-plugin-hub-uninstall-zh.png" alt="一键卸载" width="400"> |
71
+ | 后台队列串行执行,弹窗实时显示安装进度,可随时取消 | 卸载全程可视化,实时进度一目了然,成功即生效 |
72
+
73
+ | 一键更新 | 通知中心 |
74
+ | :---: | :---: |
75
+ | <img src="https://dsh-plugin.org/screenshots/dsh-plugin-hub-update-zh.png" alt="一键更新" width="400"> | <img src="https://dsh-plugin.org/screenshots/dsh-plugin-hub-notifications-zh.png" alt="可视化消息通知" width="400"> |
76
+ | 检测到新版本自动提示「更新」,一键覆盖安装完成升级 | 进行中任务、待重启项与成功/失败历史集中管理,失败可一键提交 Issue |
77
+
78
+ ## 官网一览
79
+
80
+ 插件中心的数据由 [dsh-plugin.org](https://dsh-plugin.org) 整理发布,两侧实时同步;在官网还可以查看插件详情、评分与 GitHub 源码链接。
81
+
82
+ | 官网首页 | 分类展示 |
83
+ | :---: | :---: |
84
+ | <img src="https://dsh-plugin.org/screenshots/dsh-plugin-hub-site-home.png" alt="DSH-Plugin 官网首页" width="400"> | <img src="https://dsh-plugin.org/screenshots/dsh-plugin-hub-site-categories.png" alt="DSH-Plugin 分类展示" width="400"> |
85
+ | 数据与插件中心同源,人工精选验证、每日更新 | 按分类浏览全部收录插件,支持搜索直达 |
39
86
 
40
87
  ## 为什么选择 DSH-Plugin Hub
41
88
 
42
- DSH-Plugin 插件中心收录 **4,261** 个 DeepSeek Harness Plugin(DSH)插件,其中 **2,487** 已人工精选验证,每日更新,免费按分类浏览、搜索、下载与安装,来源可溯。
89
+ DSH-Plugin 插件中心收录 **4,315** 个 DeepSeek Harness Plugin(DSH)插件,其中 **2,526** 已人工精选验证,每日更新,免费按分类浏览、搜索、下载与安装,来源可溯。
43
90
 
44
91
  ### 及时更新
45
92
 
@@ -79,25 +126,6 @@ dsh plugin --profile web add github:dshplugin/dsh-plugin-hub
79
126
 
80
127
  将你的插件发布到 GitHub 并添加 `dsh-plugin` topic,即可被 DSH-Plugin 插件目录自动发现与收录。收录要求与提交流程见官网[提交插件](https://dsh-plugin.org/zh/submit)页面。
81
128
 
82
- ## 开发
83
-
84
- ```bash
85
- npm install
86
- npm run check # typecheck + build
87
- npm run build # 构建 client/client.js(提交产物)
88
- npm run readme:stats # 从官网在线 API 刷新 README 插件数量
89
- ```
90
-
91
- 结构:
92
-
93
- ```
94
- src/client/ 浏览器端插件(注册 settings.section 插槽,嵌入 iframe)
95
- lib/index.js 宿主加载器入口(占位,无宿主行为)
96
- client/client.js tsdown 构建产物(提交并发布)
97
- cordis.patch.yml dsh bundle patch(向 profile 注入插件行)
98
- scripts/ 工具脚本
99
- ```
100
-
101
129
  ## 贡献
102
130
 
103
131
  - **收录你的插件**:添加 `dsh-plugin` topic 即可被自动发现,入口见官网[提交插件](https://dsh-plugin.org/zh/submit)