dsh-plugin 1.4.8 → 1.4.9

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.en.md CHANGED
@@ -29,7 +29,7 @@
29
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.
30
30
 
31
31
  <p align="center">
32
- <img src="https://api.dsh-plugin.org/images/releases/1-4-3/dsh-plugin-hub-market-en.png" alt="DSH Plugin Hub plugin market UI" width="840">
32
+ <img src="https://api.dsh-plugin.org/images/releases/1-4-8/dsh-plugin-hub-market-en.png?v=2" alt="DSH Plugin Hub plugin market UI" width="840">
33
33
  </p>
34
34
 
35
35
  ## Plugin Hub Features
@@ -76,8 +76,8 @@ Questions, feature ideas or just want to talk plugins? Scan the QR code to join
76
76
  **Installed plugins · Custom install**
77
77
 
78
78
  <p align="center">
79
- <img src="https://api.dsh-plugin.org/images/releases/1-4-3/dsh-plugin-hub-installed-en.png" alt="Installed plugins" width="400">
80
- <img src="https://api.dsh-plugin.org/images/releases/1-4-3/dsh-plugin-hub-custom-install-en.png" alt="Custom install" width="400">
79
+ <img src="https://api.dsh-plugin.org/images/releases/1-4-8/dsh-plugin-hub-installed-en.png?v=2" alt="Installed plugins" width="400">
80
+ <img src="https://api.dsh-plugin.org/images/releases/1-4-8/dsh-plugin-hub-custom-install-en.png?v=2" alt="Custom install" width="400">
81
81
  </p>
82
82
 
83
83
  Manages every installed plugin with search, source filters and sorting, plus update / uninstall and reveal-in-Finder per row · Installs any plugin outside the catalog via three channels: npm package, GitHub source and DSH command
@@ -85,8 +85,8 @@ Manages every installed plugin with search, source filters and sorting, plus upd
85
85
  **Settings · System logs**
86
86
 
87
87
  <p align="center">
88
- <img src="https://api.dsh-plugin.org/images/releases/1-4-3/dsh-plugin-hub-settings-en.png" alt="Settings" width="400">
89
- <img src="https://api.dsh-plugin.org/images/releases/1-4-3/dsh-plugin-hub-system-logs-en.png" alt="System logs" width="400">
88
+ <img src="https://api.dsh-plugin.org/images/releases/1-4-8/dsh-plugin-hub-settings-en.png?v=2" alt="Settings" width="400">
89
+ <img src="https://api.dsh-plugin.org/images/releases/1-4-8/dsh-plugin-hub-system-logs-en.png?v=2" alt="System logs" width="400">
90
90
  </p>
91
91
 
92
92
  Centralizes update checks, npm mirror, proxy channel, trust toggles and log location · Records install / uninstall / settings / diagnostics trails, filterable by category and level, with a built-in viewer
@@ -94,8 +94,8 @@ Centralizes update checks, npm mirror, proxy channel, trust toggles and log loca
94
94
  **Confirm install · Confirm uninstall**
95
95
 
96
96
  <p align="center">
97
- <img src="https://api.dsh-plugin.org/images/releases/1-4-3/dsh-plugin-hub-install-confirm-en.png" alt="Confirm install" width="400">
98
- <img src="https://api.dsh-plugin.org/images/releases/1-4-3/dsh-plugin-hub-uninstall-confirm-en.png" alt="Confirm uninstall" width="400">
97
+ <img src="https://api.dsh-plugin.org/images/releases/1-4-8/dsh-plugin-hub-install-confirm-en.png?v=2" alt="Confirm install" width="400">
98
+ <img src="https://api.dsh-plugin.org/images/releases/1-4-8/dsh-plugin-hub-uninstall-confirm-en.png?v=2" alt="Confirm uninstall" width="400">
99
99
  </p>
100
100
 
101
101
  Shows the plugin, its source repo and the command before anything runs; the install starts only after confirmation · Shows what will be removed and its source; nothing is removed until the user confirms
@@ -103,8 +103,8 @@ Shows the plugin, its source repo and the command before anything runs; the inst
103
103
  **Confirm update · Notifications**
104
104
 
105
105
  <p align="center">
106
- <img src="https://api.dsh-plugin.org/images/releases/1-4-3/dsh-plugin-hub-update-confirm-en.png" alt="Confirm update" width="400">
107
- <img src="https://api.dsh-plugin.org/images/releases/1-4-3/dsh-plugin-hub-notifications-en.png" alt="Notifications" width="400">
106
+ <img src="https://api.dsh-plugin.org/images/releases/1-4-8/dsh-plugin-hub-update-confirm-en.png?v=2" alt="Confirm update" width="400">
107
+ <img src="https://api.dsh-plugin.org/images/releases/1-4-8/dsh-plugin-hub-notifications-en.png?v=2" alt="Notifications" width="400">
108
108
  </p>
109
109
 
110
110
  Pops up when a newer version is found; confirming overwrite-installs in place to the latest release · Gathers install / remove / update history, live task progress and pending-restart reminders in one place
package/README.md CHANGED
@@ -29,7 +29,7 @@
29
29
  DSH Plugin Hub 是 **DeepSeek Harness 社区插件市场**:一个遵循官方插件开发规范构建的开源插件,安装进「设置 → 插件市场」后,无需离开应用即可浏览、搜索并一键安装社区插件。本项目为独立社区项目,与 DeepSeek Harness 官方无隶属关系。
30
30
 
31
31
  <p align="center">
32
- <img src="https://api.dsh-plugin.org/images/releases/1-4-3/dsh-plugin-hub-market-zh.png" alt="DSH Plugin Hub 插件市场界面" width="840">
32
+ <img src="https://api.dsh-plugin.org/images/releases/1-4-8/dsh-plugin-hub-market-zh.png?v=2" alt="DSH Plugin Hub 插件市场界面" width="840">
33
33
  </p>
34
34
 
35
35
  ## 插件市场特性
@@ -76,8 +76,8 @@ DSH Plugin Hub 是 **DeepSeek Harness 社区插件市场**:一个遵循官方
76
76
  **已安装插件列表 · 自定义安装**
77
77
 
78
78
  <p align="center">
79
- <img src="https://api.dsh-plugin.org/images/releases/1-4-3/dsh-plugin-hub-installed-zh.png" alt="已安装插件列表" width="400">
80
- <img src="https://api.dsh-plugin.org/images/releases/1-4-3/dsh-plugin-hub-custom-install-zh.png" alt="自定义安装" width="400">
79
+ <img src="https://api.dsh-plugin.org/images/releases/1-4-8/dsh-plugin-hub-installed-zh.png?v=2" alt="已安装插件列表" width="400">
80
+ <img src="https://api.dsh-plugin.org/images/releases/1-4-8/dsh-plugin-hub-custom-install-zh.png?v=2" alt="自定义安装" width="400">
81
81
  </p>
82
82
 
83
83
  集中管理当前环境已装的全部插件,支持搜索、来源筛选与排序,行尾提供更新、卸载与「在 Finder 中显示」 · 手动安装目录外的任意插件,支持 NPM 包、GitHub 源码与 DSH 命令行三种通道
@@ -85,8 +85,8 @@ DSH Plugin Hub 是 **DeepSeek Harness 社区插件市场**:一个遵循官方
85
85
  **设置 · 系统日志**
86
86
 
87
87
  <p align="center">
88
- <img src="https://api.dsh-plugin.org/images/releases/1-4-3/dsh-plugin-hub-settings-zh.png" alt="设置" width="400">
89
- <img src="https://api.dsh-plugin.org/images/releases/1-4-3/dsh-plugin-hub-system-logs-zh.png" alt="系统日志" width="400">
88
+ <img src="https://api.dsh-plugin.org/images/releases/1-4-8/dsh-plugin-hub-settings-zh.png?v=2" alt="设置" width="400">
89
+ <img src="https://api.dsh-plugin.org/images/releases/1-4-8/dsh-plugin-hub-system-logs-zh.png?v=2" alt="系统日志" width="400">
90
90
  </p>
91
91
 
92
92
  集中配置更新检查、NPM 镜像源、代理通道、安全信任与日志存放位置 · 记录安装、卸载、设置变更与诊断轨迹,按分类与级别筛选,内置日志查看器
@@ -94,8 +94,8 @@ DSH Plugin Hub 是 **DeepSeek Harness 社区插件市场**:一个遵循官方
94
94
  **确认安装 · 确认卸载**
95
95
 
96
96
  <p align="center">
97
- <img src="https://api.dsh-plugin.org/images/releases/1-4-3/dsh-plugin-hub-install-confirm-zh.png" alt="确认安装" width="400">
98
- <img src="https://api.dsh-plugin.org/images/releases/1-4-3/dsh-plugin-hub-uninstall-confirm-zh.png" alt="确认卸载" width="400">
97
+ <img src="https://api.dsh-plugin.org/images/releases/1-4-8/dsh-plugin-hub-install-confirm-zh.png?v=2" alt="确认安装" width="400">
98
+ <img src="https://api.dsh-plugin.org/images/releases/1-4-8/dsh-plugin-hub-uninstall-confirm-zh.png?v=2" alt="确认卸载" width="400">
99
99
  </p>
100
100
 
101
101
  安装前展示插件名称、来源仓库与执行命令,确认后才开始安装 · 卸载前展示待移除的插件,确认后才从环境移除,避免误删
@@ -103,8 +103,8 @@ DSH Plugin Hub 是 **DeepSeek Harness 社区插件市场**:一个遵循官方
103
103
  **确认更新 · 通知中心**
104
104
 
105
105
  <p align="center">
106
- <img src="https://api.dsh-plugin.org/images/releases/1-4-3/dsh-plugin-hub-update-confirm-zh.png" alt="确认更新" width="400">
107
- <img src="https://api.dsh-plugin.org/images/releases/1-4-3/dsh-plugin-hub-notifications-zh.png" alt="通知中心" width="400">
106
+ <img src="https://api.dsh-plugin.org/images/releases/1-4-8/dsh-plugin-hub-update-confirm-zh.png?v=2" alt="确认更新" width="400">
107
+ <img src="https://api.dsh-plugin.org/images/releases/1-4-8/dsh-plugin-hub-notifications-zh.png?v=2" alt="通知中心" width="400">
108
108
  </p>
109
109
 
110
110
  检测到新版本时弹出,确认后原位覆盖安装到最新版 · 集中管理安装、卸载、更新的历史记录、实时进度与待重启提醒
package/client/client.js CHANGED
@@ -696,42 +696,42 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
696
696
  css: css$11
697
697
  });
698
698
  var Header_module_css_default = {
699
- "root": "qikqja_root",
700
- "search": "qikqja_search",
701
- "hubUpdateBadge": "qikqja_hubUpdateBadge",
702
- "controls": "qikqja_controls",
703
- "tab": "qikqja_tab",
704
- "title": "qikqja_title",
705
- "resultCount": "qikqja_resultCount",
706
- "brandTitle": "qikqja_brandTitle",
707
- "version": "qikqja_version",
699
+ "headerTitleRow": "qikqja_headerTitleRow",
708
700
  "headerRight": "qikqja_headerRight",
709
- "segBtn": "qikqja_segBtn",
710
701
  "adText": "qikqja_adText",
711
- "tabsRow": "qikqja_tabsRow",
712
- "taglineLink": "qikqja_taglineLink",
713
- "tabs": "qikqja_tabs",
714
- "aboutBtn": "qikqja_aboutBtn",
715
- "logoIcon": "qikqja_logoIcon",
716
- "tabActive": "qikqja_tabActive",
717
- "segLabel": "qikqja_segLabel",
718
- "sortGroup": "qikqja_sortGroup",
719
702
  "versionBtn": "qikqja_versionBtn",
720
- "segGroup": "qikqja_segGroup",
703
+ "segBtn": "qikqja_segBtn",
704
+ "adBanner": "qikqja_adBanner",
705
+ "search": "qikqja_search",
721
706
  "githubIcon": "qikqja_githubIcon",
707
+ "version": "qikqja_version",
708
+ "logoIcon": "qikqja_logoIcon",
709
+ "root": "qikqja_root",
710
+ "aboutBtn": "qikqja_aboutBtn",
711
+ "copyIcon": "qikqja_copyIcon",
712
+ "segGroup": "qikqja_segGroup",
713
+ "tabs": "qikqja_tabs",
722
714
  "langBtn": "qikqja_langBtn",
723
- "githubLink": "qikqja_githubLink",
724
- "headerTitleRow": "qikqja_headerTitleRow",
715
+ "adBadge": "qikqja_adBadge",
716
+ "searchRow": "qikqja_searchRow",
717
+ "segLabel": "qikqja_segLabel",
725
718
  "resultSeg": "qikqja_resultSeg",
719
+ "tab": "qikqja_tab",
720
+ "title": "qikqja_title",
721
+ "tabCount": "qikqja_tabCount",
722
+ "githubLink": "qikqja_githubLink",
723
+ "adArrow": "qikqja_adArrow",
724
+ "brandTitle": "qikqja_brandTitle",
725
+ "resultCount": "qikqja_resultCount",
726
+ "taglineLink": "qikqja_taglineLink",
727
+ "controls": "qikqja_controls",
728
+ "sortGroup": "qikqja_sortGroup",
729
+ "tabsRow": "qikqja_tabsRow",
726
730
  "segBtnActive": "qikqja_segBtnActive",
727
- "searchRow": "qikqja_searchRow",
728
731
  "header": "qikqja_header",
729
- "copyIcon": "qikqja_copyIcon",
730
- "adBanner": "qikqja_adBanner",
731
- "adArrow": "qikqja_adArrow",
732
- "tagline": "qikqja_tagline",
733
- "adBadge": "qikqja_adBadge",
734
- "tabCount": "qikqja_tabCount"
732
+ "tabActive": "qikqja_tabActive",
733
+ "hubUpdateBadge": "qikqja_hubUpdateBadge",
734
+ "tagline": "qikqja_tagline"
735
735
  };
736
736
  //#endregion
737
737
  //#region \0dsh-css:src/client/styles/Modal.module.css.mjs
@@ -750,136 +750,136 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
750
750
  css: css$10
751
751
  });
752
752
  var Modal_module_css_default = {
753
- "queueRowHead": "BiQ1zG_queueRowHead",
754
- "failList": "BiQ1zG_failList",
755
- "modalCmdText": "BiQ1zG_modalCmdText",
756
- "modalInstall": "BiQ1zG_modalInstall",
757
- "errorCopySoft": "BiQ1zG_errorCopySoft",
758
- "noticeHead": "BiQ1zG_noticeHead",
759
- "confirmIcon": "BiQ1zG_confirmIcon",
760
- "aboutModal": "BiQ1zG_aboutModal",
761
- "pendingRowStatus": "BiQ1zG_pendingRowStatus",
762
- "queueRow": "BiQ1zG_queueRow",
763
- "hubUpdateModal": "BiQ1zG_hubUpdateModal",
764
- "toast": "BiQ1zG_toast",
765
- "failBigIssue": "BiQ1zG_failBigIssue",
766
- "errorTitle": "BiQ1zG_errorTitle",
767
- "failDiagBtn": "BiQ1zG_failDiagBtn",
753
+ "modalBody": "BiQ1zG_modalBody",
768
754
  "failEmpty": "BiQ1zG_failEmpty",
769
- "modalTitleQueued": "BiQ1zG_modalTitleQueued",
770
- "detailPath": "BiQ1zG_detailPath",
755
+ "resultTitle": "BiQ1zG_resultTitle",
756
+ "modalHead": "BiQ1zG_modalHead",
757
+ "aboutContent": "BiQ1zG_aboutContent",
758
+ "detailPathText": "BiQ1zG_detailPathText",
771
759
  "progressTrack": "BiQ1zG_progressTrack",
772
- "queueSection": "BiQ1zG_queueSection",
773
- "noticeVersion": "BiQ1zG_noticeVersion",
774
- "detailRow": "BiQ1zG_detailRow",
775
- "noticeMain": "BiQ1zG_noticeMain",
776
- "detailModal": "BiQ1zG_detailModal",
760
+ "noticeRemove": "BiQ1zG_noticeRemove",
761
+ "queueRowBody": "BiQ1zG_queueRowBody",
762
+ "detailGrid": "BiQ1zG_detailGrid",
777
763
  "modalClose": "BiQ1zG_modalClose",
778
- "detailValue": "BiQ1zG_detailValue",
779
- "overlay": "BiQ1zG_overlay",
780
- "failRepo": "BiQ1zG_failRepo",
764
+ "modalCopy": "BiQ1zG_modalCopy",
765
+ "detailPath": "BiQ1zG_detailPath",
766
+ "failHead": "BiQ1zG_failHead",
767
+ "modalCmd": "BiQ1zG_modalCmd",
768
+ "modal": "BiQ1zG_modal",
769
+ "errorCopySoft": "BiQ1zG_errorCopySoft",
770
+ "modalCmdText": "BiQ1zG_modalCmdText",
771
+ "errorHint": "BiQ1zG_errorHint",
772
+ "noticeBadgeIcon": "BiQ1zG_noticeBadgeIcon",
773
+ "noticeHead": "BiQ1zG_noticeHead",
781
774
  "failKindInstall": "BiQ1zG_failKindInstall",
782
- "queueRowStatus": "BiQ1zG_queueRowStatus",
783
- "noticeList": "BiQ1zG_noticeList",
784
- "failPrepareHint": "BiQ1zG_failPrepareHint",
775
+ "overlayIn": "BiQ1zG_overlayIn",
776
+ "modalCloseIcon": "BiQ1zG_modalCloseIcon",
777
+ "failBigIssue": "BiQ1zG_failBigIssue",
785
778
  "detailDim": "BiQ1zG_detailDim",
779
+ "modalWide": "BiQ1zG_modalWide",
780
+ "failKindUninstall": "BiQ1zG_failKindUninstall",
781
+ "resultDesc": "BiQ1zG_resultDesc",
786
782
  "dangerConfirm": "BiQ1zG_dangerConfirm",
783
+ "progressFillFail": "BiQ1zG_progressFillFail",
784
+ "detailMono": "BiQ1zG_detailMono",
785
+ "toast": "BiQ1zG_toast",
786
+ "detailStatusText": "BiQ1zG_detailStatusText",
787
+ "detailStars": "BiQ1zG_detailStars",
788
+ "detailLink": "BiQ1zG_detailLink",
789
+ "detailValue": "BiQ1zG_detailValue",
790
+ "modalInstall": "BiQ1zG_modalInstall",
791
+ "noticeTextOk": "BiQ1zG_noticeTextOk",
792
+ "noticeRow": "BiQ1zG_noticeRow",
793
+ "modalRow": "BiQ1zG_modalRow",
794
+ "detailModal": "BiQ1zG_detailModal",
795
+ "noticeRowOk": "BiQ1zG_noticeRowOk",
796
+ "detailLabel": "BiQ1zG_detailLabel",
797
+ "noticeTime": "BiQ1zG_noticeTime",
798
+ "detailPathActions": "BiQ1zG_detailPathActions",
799
+ "stripCancel": "BiQ1zG_stripCancel",
800
+ "modalTitle": "BiQ1zG_modalTitle",
801
+ "confirmIconDanger": "BiQ1zG_confirmIconDanger",
802
+ "restartNowWarning": "BiQ1zG_restartNowWarning",
787
803
  "trustHint": "BiQ1zG_trustHint",
788
- "noticeBadgeIcon": "BiQ1zG_noticeBadgeIcon",
804
+ "result": "BiQ1zG_result",
805
+ "noticeRowUpdate": "BiQ1zG_noticeRowUpdate",
789
806
  "hubUpdateNotes": "BiQ1zG_hubUpdateNotes",
790
- "queueSectionTitle": "BiQ1zG_queueSectionTitle",
791
- "aboutMeta": "BiQ1zG_aboutMeta",
792
- "failNetworkTarget": "BiQ1zG_failNetworkTarget",
793
- "aboutContent": "BiQ1zG_aboutContent",
794
- "failClear": "BiQ1zG_failClear",
795
- "resultTitle": "BiQ1zG_resultTitle",
796
- "detailArrow": "BiQ1zG_detailArrow",
797
- "modalLink": "BiQ1zG_modalLink",
798
- "modalCancel": "BiQ1zG_modalCancel",
799
- "resultCheck": "BiQ1zG_resultCheck",
800
- "confirmIconDanger": "BiQ1zG_confirmIconDanger",
801
- "queueRowPct": "BiQ1zG_queueRowPct",
802
- "linkIcon": "BiQ1zG_linkIcon",
803
- "queueRowBody": "BiQ1zG_queueRowBody",
804
- "toastFail": "BiQ1zG_toastFail",
805
- "errorHint": "BiQ1zG_errorHint",
806
- "modalActions": "BiQ1zG_modalActions",
807
807
  "failRow": "BiQ1zG_failRow",
808
- "stripCancel": "BiQ1zG_stripCancel",
809
- "resultCheckIcon": "BiQ1zG_resultCheckIcon",
808
+ "failRepo": "BiQ1zG_failRepo",
810
809
  "modalLabel": "BiQ1zG_modalLabel",
810
+ "progressFill": "BiQ1zG_progressFill",
811
+ "resultRestarting": "BiQ1zG_resultRestarting",
812
+ "detailStatusPending": "BiQ1zG_detailStatusPending",
813
+ "aboutMeta": "BiQ1zG_aboutMeta",
814
+ "failCopy": "BiQ1zG_failCopy",
815
+ "progressHead": "BiQ1zG_progressHead",
816
+ "restartLater": "BiQ1zG_restartLater",
817
+ "cliOnlyHint": "BiQ1zG_cliOnlyHint",
818
+ "queueSectionTitle": "BiQ1zG_queueSectionTitle",
819
+ "resultCheck": "BiQ1zG_resultCheck",
820
+ "noticeMain": "BiQ1zG_noticeMain",
821
+ "pendingRowStatus": "BiQ1zG_pendingRowStatus",
811
822
  "noticeFoot": "BiQ1zG_noticeFoot",
812
- "noticeUpdateGo": "BiQ1zG_noticeUpdateGo",
813
- "queueRowDesc": "BiQ1zG_queueRowDesc",
823
+ "aboutModal": "BiQ1zG_aboutModal",
824
+ "hubUpdateMeta": "BiQ1zG_hubUpdateMeta",
825
+ "failedCopyHint": "BiQ1zG_failedCopyHint",
826
+ "failPrepareHint": "BiQ1zG_failPrepareHint",
827
+ "helpModal": "BiQ1zG_helpModal",
828
+ "errorBox": "BiQ1zG_errorBox",
829
+ "noticeBadgeFail": "BiQ1zG_noticeBadgeFail",
830
+ "toastFail": "BiQ1zG_toastFail",
831
+ "confirmIconWrap": "BiQ1zG_confirmIconWrap",
832
+ "failClear": "BiQ1zG_failClear",
833
+ "queueRowTarget": "BiQ1zG_queueRowTarget",
814
834
  "pendingRowActions": "BiQ1zG_pendingRowActions",
815
- "result": "BiQ1zG_result",
816
- "noticeRow": "BiQ1zG_noticeRow",
817
- "detailStatusText": "BiQ1zG_detailStatusText",
818
- "detailMono": "BiQ1zG_detailMono",
835
+ "noticeRowMain": "BiQ1zG_noticeRowMain",
836
+ "errorModal": "BiQ1zG_errorModal",
837
+ "queueRowTrack": "BiQ1zG_queueRowTrack",
838
+ "detailArrow": "BiQ1zG_detailArrow",
839
+ "failKind": "BiQ1zG_failKind",
840
+ "modalIn": "BiQ1zG_modalIn",
841
+ "noticeTextFail": "BiQ1zG_noticeTextFail",
842
+ "restartNow": "BiQ1zG_restartNow",
843
+ "failList": "BiQ1zG_failList",
844
+ "noticeIgnore": "BiQ1zG_noticeIgnore",
845
+ "failDiagBtn": "BiQ1zG_failDiagBtn",
846
+ "progressText": "BiQ1zG_progressText",
847
+ "detailRow": "BiQ1zG_detailRow",
848
+ "progress": "BiQ1zG_progress",
849
+ "overlay": "BiQ1zG_overlay",
850
+ "modalLink": "BiQ1zG_modalLink",
819
851
  "modalTitleBusy": "BiQ1zG_modalTitleBusy",
820
- "queuedHint": "BiQ1zG_queuedHint",
821
- "progressHead": "BiQ1zG_progressHead",
822
852
  "uninstallConfirm": "BiQ1zG_uninstallConfirm",
823
853
  "modalDesc": "BiQ1zG_modalDesc",
824
- "modalWide": "BiQ1zG_modalWide",
825
- "restartNow": "BiQ1zG_restartNow",
826
- "noticeBadgeFail": "BiQ1zG_noticeBadgeFail",
827
- "hubUpdateMetaItem": "BiQ1zG_hubUpdateMetaItem",
828
- "detailPathText": "BiQ1zG_detailPathText",
829
- "confirmPrimary": "BiQ1zG_confirmPrimary",
830
- "failKind": "BiQ1zG_failKind",
831
- "overlayIn": "BiQ1zG_overlayIn",
854
+ "queueRowDesc": "BiQ1zG_queueRowDesc",
855
+ "noticeList": "BiQ1zG_noticeList",
832
856
  "modalValue": "BiQ1zG_modalValue",
833
- "progressText": "BiQ1zG_progressText",
834
- "modalIn": "BiQ1zG_modalIn",
835
- "modalCopy": "BiQ1zG_modalCopy",
836
- "failedCopyHint": "BiQ1zG_failedCopyHint",
837
- "modalTitle": "BiQ1zG_modalTitle",
838
- "confirmIconWrap": "BiQ1zG_confirmIconWrap",
839
- "toastIn": "BiQ1zG_toastIn",
840
- "progressFillFail": "BiQ1zG_progressFillFail",
841
- "noticeRowMain": "BiQ1zG_noticeRowMain",
842
- "noticeIgnore": "BiQ1zG_noticeIgnore",
843
- "modalCmdCopy": "BiQ1zG_modalCmdCopy",
844
- "noticeTime": "BiQ1zG_noticeTime",
845
- "errorBox": "BiQ1zG_errorBox",
846
- "failCopy": "BiQ1zG_failCopy",
847
- "failKindUninstall": "BiQ1zG_failKindUninstall",
848
- "detailStatusPending": "BiQ1zG_detailStatusPending",
849
- "cliOnlyHint": "BiQ1zG_cliOnlyHint",
850
- "detailPathActions": "BiQ1zG_detailPathActions",
857
+ "queuedHint": "BiQ1zG_queuedHint",
858
+ "noticeVersion": "BiQ1zG_noticeVersion",
859
+ "linkIcon": "BiQ1zG_linkIcon",
860
+ "queueSection": "BiQ1zG_queueSection",
851
861
  "detailStatusRunning": "BiQ1zG_detailStatusRunning",
852
- "modal": "BiQ1zG_modal",
853
- "restartNowWarning": "BiQ1zG_restartNowWarning",
854
- "failHead": "BiQ1zG_failHead",
855
- "modalHead": "BiQ1zG_modalHead",
856
- "modalBody": "BiQ1zG_modalBody",
857
- "modalCmd": "BiQ1zG_modalCmd",
862
+ "errorTitle": "BiQ1zG_errorTitle",
863
+ "confirmPrimary": "BiQ1zG_confirmPrimary",
864
+ "toastIn": "BiQ1zG_toastIn",
865
+ "queueRowPct": "BiQ1zG_queueRowPct",
858
866
  "noticeBadgeOk": "BiQ1zG_noticeBadgeOk",
867
+ "modalTitleQueued": "BiQ1zG_modalTitleQueued",
868
+ "resultCheckIcon": "BiQ1zG_resultCheckIcon",
869
+ "detailPathBtn": "BiQ1zG_detailPathBtn",
859
870
  "logModal": "BiQ1zG_logModal",
860
- "noticeRemove": "BiQ1zG_noticeRemove",
861
- "helpModal": "BiQ1zG_helpModal",
862
- "hubUpdateMeta": "BiQ1zG_hubUpdateMeta",
863
- "progressFill": "BiQ1zG_progressFill",
864
- "noticeTextFail": "BiQ1zG_noticeTextFail",
865
- "restartLater": "BiQ1zG_restartLater",
871
+ "modalCancel": "BiQ1zG_modalCancel",
872
+ "failNetworkTarget": "BiQ1zG_failNetworkTarget",
873
+ "hubUpdateModal": "BiQ1zG_hubUpdateModal",
874
+ "confirmIcon": "BiQ1zG_confirmIcon",
875
+ "modalActions": "BiQ1zG_modalActions",
876
+ "queueRowStatus": "BiQ1zG_queueRowStatus",
877
+ "hubUpdateMetaItem": "BiQ1zG_hubUpdateMetaItem",
866
878
  "detailUpdateHint": "BiQ1zG_detailUpdateHint",
867
- "detailGrid": "BiQ1zG_detailGrid",
868
- "detailStars": "BiQ1zG_detailStars",
869
- "queueRowTarget": "BiQ1zG_queueRowTarget",
870
- "detailLabel": "BiQ1zG_detailLabel",
871
- "detailLink": "BiQ1zG_detailLink",
872
- "detailPathBtn": "BiQ1zG_detailPathBtn",
873
- "noticeTextOk": "BiQ1zG_noticeTextOk",
874
- "modalCloseIcon": "BiQ1zG_modalCloseIcon",
875
- "resultRestarting": "BiQ1zG_resultRestarting",
876
- "errorModal": "BiQ1zG_errorModal",
877
- "modalRow": "BiQ1zG_modalRow",
878
- "resultDesc": "BiQ1zG_resultDesc",
879
- "queueRowTrack": "BiQ1zG_queueRowTrack",
880
- "progress": "BiQ1zG_progress",
881
- "noticeRowUpdate": "BiQ1zG_noticeRowUpdate",
882
- "noticeRowOk": "BiQ1zG_noticeRowOk"
879
+ "noticeUpdateGo": "BiQ1zG_noticeUpdateGo",
880
+ "queueRow": "BiQ1zG_queueRow",
881
+ "queueRowHead": "BiQ1zG_queueRowHead",
882
+ "modalCmdCopy": "BiQ1zG_modalCmdCopy"
883
883
  };
884
884
  //#endregion
885
885
  //#region src/client/logic/install-command.ts
@@ -949,7 +949,7 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
949
949
  * tsdown 构建时用 define 把 __PLUGIN_VERSION__ 替换成 package.json 的版本号;
950
950
  * node --test 直接 import 本模块时该标识符不存在,typeof 守卫兜底为空串。
951
951
  */
952
- const PLUGIN_VERSION = "1.4.8";
952
+ const PLUGIN_VERSION = "1.4.9";
953
953
  const CATEGORY_ORDER = [
954
954
  "interface",
955
955
  "session",
@@ -1586,7 +1586,7 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
1586
1586
  */
1587
1587
  const hubHasUpdate = (() => {
1588
1588
  if (!hubUpdateInfo) return false;
1589
- if (hubUpdateInfo.version === "1.4.8") return false;
1589
+ if (hubUpdateInfo.version === "1.4.9") return false;
1590
1590
  const publishedAt = hubUpdateInfo.publishedAt;
1591
1591
  if (publishedAt) {
1592
1592
  const publishedMs = Date.parse(publishedAt);
@@ -4177,40 +4177,40 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
4177
4177
  css: css$9
4178
4178
  });
4179
4179
  var List_module_css_default = {
4180
+ "state": "_3XaZHa_state",
4181
+ "stateTitle": "_3XaZHa_stateTitle",
4182
+ "stateActions": "_3XaZHa_stateActions",
4183
+ "updateBadge": "_3XaZHa_updateBadge",
4184
+ "desc": "_3XaZHa_desc",
4185
+ "topics": "_3XaZHa_topics",
4186
+ "installBtn": "_3XaZHa_installBtn",
4187
+ "stateDesc": "_3XaZHa_stateDesc",
4188
+ "footer": "_3XaZHa_footer",
4189
+ "actions": "_3XaZHa_actions",
4190
+ "moreSentinel": "_3XaZHa_moreSentinel",
4191
+ "topic": "_3XaZHa_topic",
4192
+ "verified": "_3XaZHa_verified",
4193
+ "stats": "_3XaZHa_stats",
4194
+ "installBtnInstalled": "_3XaZHa_installBtnInstalled",
4195
+ "footLink": "_3XaZHa_footLink",
4196
+ "installBtnUpdate": "_3XaZHa_installBtnUpdate",
4197
+ "cardHead": "_3XaZHa_cardHead",
4198
+ "categoryBadge": "_3XaZHa_categoryBadge",
4199
+ "retryBtn": "_3XaZHa_retryBtn",
4200
+ "card": "_3XaZHa_card",
4180
4201
  "cardSide": "_3XaZHa_cardSide",
4181
- "stats": "_3XaZHa_stats",
4182
- "moreSentinel": "_3XaZHa_moreSentinel",
4202
+ "list": "_3XaZHa_list",
4203
+ "uninstallBtn": "_3XaZHa_uninstallBtn",
4183
4204
  "versionBadge": "_3XaZHa_versionBadge",
4184
- "star": "_3XaZHa_star",
4185
- "state": "_3XaZHa_state",
4186
- "stateDesc": "_3XaZHa_stateDesc",
4187
- "categoryBadge": "_3XaZHa_categoryBadge",
4188
4205
  "cardMain": "_3XaZHa_cardMain",
4189
- "uninstallBtn": "_3XaZHa_uninstallBtn",
4190
- "desc": "_3XaZHa_desc",
4191
- "list": "_3XaZHa_list",
4192
- "card": "_3XaZHa_card",
4193
- "footer": "_3XaZHa_footer",
4194
- "fork": "_3XaZHa_fork",
4195
4206
  "installBtnCopied": "_3XaZHa_installBtnCopied",
4196
- "installBtnUpdate": "_3XaZHa_installBtnUpdate",
4197
- "stateActions": "_3XaZHa_stateActions",
4198
- "cardHead": "_3XaZHa_cardHead",
4199
- "topics": "_3XaZHa_topics",
4200
- "stateTitle": "_3XaZHa_stateTitle",
4201
4207
  "diagBtn": "_3XaZHa_diagBtn",
4202
- "verified": "_3XaZHa_verified",
4203
- "topic": "_3XaZHa_topic",
4204
- "body": "_3XaZHa_body",
4205
- "installBtnInstalled": "_3XaZHa_installBtnInstalled",
4208
+ "fork": "_3XaZHa_fork",
4206
4209
  "date": "_3XaZHa_date",
4210
+ "star": "_3XaZHa_star",
4207
4211
  "detailBtn": "_3XaZHa_detailBtn",
4208
- "footLink": "_3XaZHa_footLink",
4209
- "cardTitle": "_3XaZHa_cardTitle",
4210
- "actions": "_3XaZHa_actions",
4211
- "updateBadge": "_3XaZHa_updateBadge",
4212
- "retryBtn": "_3XaZHa_retryBtn",
4213
- "installBtn": "_3XaZHa_installBtn"
4212
+ "body": "_3XaZHa_body",
4213
+ "cardTitle": "_3XaZHa_cardTitle"
4214
4214
  };
4215
4215
  //#endregion
4216
4216
  //#region src/client/hooks/useIncrementalList.ts
@@ -4417,15 +4417,15 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
4417
4417
  css: css$8
4418
4418
  });
4419
4419
  var SectionTabs_module_css_default = {
4420
- "tabIcon": "_7tvizq_tabIcon",
4421
- "tabCount": "_7tvizq_tabCount",
4422
- "root": "_7tvizq_root",
4423
- "noticeIcon": "_7tvizq_noticeIcon",
4420
+ "noticeCount": "_7tvizq_noticeCount",
4424
4421
  "tabCountActive": "_7tvizq_tabCountActive",
4425
4422
  "tabActive": "_7tvizq_tabActive",
4426
4423
  "tab": "_7tvizq_tab",
4424
+ "noticeIcon": "_7tvizq_noticeIcon",
4427
4425
  "noticeBtn": "_7tvizq_noticeBtn",
4428
- "noticeCount": "_7tvizq_noticeCount"
4426
+ "root": "_7tvizq_root",
4427
+ "tabIcon": "_7tvizq_tabIcon",
4428
+ "tabCount": "_7tvizq_tabCount"
4429
4429
  };
4430
4430
  //#endregion
4431
4431
  //#region src/client/components/layout/SectionTabs.tsx
@@ -4502,42 +4502,42 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
4502
4502
  css: css$7
4503
4503
  });
4504
4504
  var InstalledView_module_css_default = {
4505
- "toolbar": "_1nXeGW_toolbar",
4506
- "empty": "_1nXeGW_empty",
4507
- "segLabel": "_1nXeGW_segLabel",
4508
- "rowMain": "_1nXeGW_rowMain",
4509
- "segBtnActive": "_1nXeGW_segBtnActive",
4505
+ "segRow": "_1nXeGW_segRow",
4506
+ "statusPending": "_1nXeGW_statusPending",
4510
4507
  "segBtn": "_1nXeGW_segBtn",
4508
+ "rowSourceTag": "_1nXeGW_rowSourceTag",
4511
4509
  "versionBadge": "_1nXeGW_versionBadge",
4512
- "rowUpdate": "_1nXeGW_rowUpdate",
4513
- "segRow": "_1nXeGW_segRow",
4514
- "emptyTitle": "_1nXeGW_emptyTitle",
4515
- "updateBadge": "_1nXeGW_updateBadge",
4510
+ "exampleRow": "_1nXeGW_exampleRow",
4516
4511
  "root": "_1nXeGW_root",
4517
- "rowSourceTag": "_1nXeGW_rowSourceTag",
4512
+ "rowDesc": "_1nXeGW_rowDesc",
4518
4513
  "rowSourceTagManual": "_1nXeGW_rowSourceTagManual",
4519
- "rowActions": "_1nXeGW_rowActions",
4514
+ "rowTitleLine": "_1nXeGW_rowTitleLine",
4515
+ "statusInactive": "_1nXeGW_statusInactive",
4520
4516
  "rowCategory": "_1nXeGW_rowCategory",
4521
- "rowDesc": "_1nXeGW_rowDesc",
4522
- "rowSourceTagHub": "_1nXeGW_rowSourceTagHub",
4523
- "rowDetail": "_1nXeGW_rowDetail",
4524
- "exampleRow": "_1nXeGW_exampleRow",
4525
- "searchInput": "_1nXeGW_searchInput",
4517
+ "rowUninstall": "_1nXeGW_rowUninstall",
4518
+ "list": "_1nXeGW_list",
4519
+ "rowRestart": "_1nXeGW_rowRestart",
4520
+ "rowUpdate": "_1nXeGW_rowUpdate",
4521
+ "searchWrap": "_1nXeGW_searchWrap",
4526
4522
  "statusDot": "_1nXeGW_statusDot",
4527
- "statusPending": "_1nXeGW_statusPending",
4523
+ "rowSourceTagHub": "_1nXeGW_rowSourceTagHub",
4524
+ "toolbar": "_1nXeGW_toolbar",
4528
4525
  "exampleBadge": "_1nXeGW_exampleBadge",
4529
- "rowRestart": "_1nXeGW_rowRestart",
4526
+ "segBtnActive": "_1nXeGW_segBtnActive",
4527
+ "segLabel": "_1nXeGW_segLabel",
4528
+ "empty": "_1nXeGW_empty",
4530
4529
  "row": "_1nXeGW_row",
4531
- "list": "_1nXeGW_list",
4532
- "searchWrap": "_1nXeGW_searchWrap",
4533
- "rowMeta": "_1nXeGW_rowMeta",
4534
- "rowTitleLine": "_1nXeGW_rowTitleLine",
4535
- "emptyDesc": "_1nXeGW_emptyDesc",
4536
- "segGroup": "_1nXeGW_segGroup",
4537
- "rowRepo": "_1nXeGW_rowRepo",
4538
4530
  "rowTitle": "_1nXeGW_rowTitle",
4539
- "statusInactive": "_1nXeGW_statusInactive",
4540
- "rowUninstall": "_1nXeGW_rowUninstall"
4531
+ "updateBadge": "_1nXeGW_updateBadge",
4532
+ "rowRepo": "_1nXeGW_rowRepo",
4533
+ "searchInput": "_1nXeGW_searchInput",
4534
+ "rowMain": "_1nXeGW_rowMain",
4535
+ "emptyDesc": "_1nXeGW_emptyDesc",
4536
+ "rowActions": "_1nXeGW_rowActions",
4537
+ "emptyTitle": "_1nXeGW_emptyTitle",
4538
+ "rowDetail": "_1nXeGW_rowDetail",
4539
+ "rowMeta": "_1nXeGW_rowMeta",
4540
+ "segGroup": "_1nXeGW_segGroup"
4541
4541
  };
4542
4542
  //#endregion
4543
4543
  //#region src/client/components/views/InstalledView.tsx
@@ -4783,28 +4783,28 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
4783
4783
  css: css$6
4784
4784
  });
4785
4785
  var CustomInstallView_module_css_default = {
4786
+ "helpNote": "zISxCG_helpNote",
4787
+ "installRow": "zISxCG_installRow",
4788
+ "installCardHead": "zISxCG_installCardHead",
4786
4789
  "installLabel": "zISxCG_installLabel",
4787
- "installInput": "zISxCG_installInput",
4788
- "installError": "zISxCG_installError",
4789
- "channelOffBtn": "zISxCG_channelOffBtn",
4790
- "installBtn": "zISxCG_installBtn",
4791
- "installCards": "zISxCG_installCards",
4792
4790
  "installHelpBtn": "zISxCG_installHelpBtn",
4793
4791
  "desc": "zISxCG_desc",
4792
+ "installCard": "zISxCG_installCard",
4793
+ "root": "zISxCG_root",
4794
+ "installCards": "zISxCG_installCards",
4795
+ "installInputError": "zISxCG_installInputError",
4796
+ "installInput": "zISxCG_installInput",
4794
4797
  "installCardDisabled": "zISxCG_installCardDisabled",
4795
- "installCardHead": "zISxCG_installCardHead",
4796
- "installRow": "zISxCG_installRow",
4797
4798
  "channelOff": "zISxCG_channelOff",
4799
+ "installBtn": "zISxCG_installBtn",
4800
+ "channelOffText": "zISxCG_channelOffText",
4801
+ "channelOffBtn": "zISxCG_channelOffBtn",
4802
+ "helpBody": "zISxCG_helpBody",
4798
4803
  "helpLine": "zISxCG_helpLine",
4799
- "helpNote": "zISxCG_helpNote",
4800
4804
  "installInsertBtn": "zISxCG_installInsertBtn",
4801
- "helpCmd": "zISxCG_helpCmd",
4802
- "root": "zISxCG_root",
4803
4805
  "installExample": "zISxCG_installExample",
4804
- "installCard": "zISxCG_installCard",
4805
- "installInputError": "zISxCG_installInputError",
4806
- "channelOffText": "zISxCG_channelOffText",
4807
- "helpBody": "zISxCG_helpBody"
4806
+ "installError": "zISxCG_installError",
4807
+ "helpCmd": "zISxCG_helpCmd"
4808
4808
  };
4809
4809
  //#endregion
4810
4810
  //#region src/client/components/views/CustomInstallView.tsx
@@ -5094,30 +5094,30 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
5094
5094
  css: css$5
5095
5095
  });
5096
5096
  var SettingsView_module_css_default = {
5097
- "controlDropdown": "_506LLG_controlDropdown",
5098
- "card": "_506LLG_card",
5099
- "settingTitle": "_506LLG_settingTitle",
5097
+ "proxyControl": "_506LLG_proxyControl",
5100
5098
  "settingControlStack": "_506LLG_settingControlStack",
5101
- "settingDesc": "_506LLG_settingDesc",
5102
- "pageDesc": "_506LLG_pageDesc",
5103
- "settingLabel": "_506LLG_settingLabel",
5104
- "pageHeader": "_506LLG_pageHeader",
5099
+ "controlDropdown": "_506LLG_controlDropdown",
5100
+ "sidebar": "_506LLG_sidebar",
5101
+ "textInput": "_506LLG_textInput",
5102
+ "navItemActive": "_506LLG_navItemActive",
5103
+ "proxyHintFail": "_506LLG_proxyHintFail",
5105
5104
  "pageTitle": "_506LLG_pageTitle",
5106
- "content": "_506LLG_content",
5105
+ "resetBtn": "_506LLG_resetBtn",
5107
5106
  "root": "_506LLG_root",
5108
- "settingControl": "_506LLG_settingControl",
5109
- "textInput": "_506LLG_textInput",
5107
+ "settingLabel": "_506LLG_settingLabel",
5110
5108
  "navItem": "_506LLG_navItem",
5111
- "settingRow": "_506LLG_settingRow",
5112
- "resetBtn": "_506LLG_resetBtn",
5113
- "sidebar": "_506LLG_sidebar",
5114
- "proxyControl": "_506LLG_proxyControl",
5115
- "navIcon": "_506LLG_navIcon",
5109
+ "settingRowStack": "_506LLG_settingRowStack",
5110
+ "settingControl": "_506LLG_settingControl",
5116
5111
  "proxyHintOk": "_506LLG_proxyHintOk",
5117
- "proxyHintFail": "_506LLG_proxyHintFail",
5112
+ "pageHeader": "_506LLG_pageHeader",
5113
+ "card": "_506LLG_card",
5114
+ "navIcon": "_506LLG_navIcon",
5115
+ "settingTitle": "_506LLG_settingTitle",
5118
5116
  "proxyHint": "_506LLG_proxyHint",
5119
- "settingRowStack": "_506LLG_settingRowStack",
5120
- "navItemActive": "_506LLG_navItemActive"
5117
+ "settingDesc": "_506LLG_settingDesc",
5118
+ "content": "_506LLG_content",
5119
+ "pageDesc": "_506LLG_pageDesc",
5120
+ "settingRow": "_506LLG_settingRow"
5121
5121
  };
5122
5122
  //#endregion
5123
5123
  //#region \0dsh-css:src/client/styles/Dropdown.module.css.mjs
@@ -5136,18 +5136,18 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
5136
5136
  css: css$4
5137
5137
  });
5138
5138
  var Dropdown_module_css_default = {
5139
+ "dropdownCount": "B_Gxsq_dropdownCount",
5139
5140
  "dropdownCountActive": "B_Gxsq_dropdownCountActive",
5140
- "dropdownItem": "B_Gxsq_dropdownItem",
5141
- "dropdownItemLabel": "B_Gxsq_dropdownItemLabel",
5142
- "dropdownBtn": "B_Gxsq_dropdownBtn",
5141
+ "dropdownItemActive": "B_Gxsq_dropdownItemActive",
5143
5142
  "dropdownPanel": "B_Gxsq_dropdownPanel",
5144
- "dropdown": "B_Gxsq_dropdown",
5145
- "dropdownLabel": "B_Gxsq_dropdownLabel",
5143
+ "dropdownFill": "B_Gxsq_dropdownFill",
5144
+ "dropdownItem": "B_Gxsq_dropdownItem",
5146
5145
  "dropdownArrow": "B_Gxsq_dropdownArrow",
5147
- "dropdownItemActive": "B_Gxsq_dropdownItemActive",
5148
- "dropdownCount": "B_Gxsq_dropdownCount",
5146
+ "dropdown": "B_Gxsq_dropdown",
5149
5147
  "dropdownArrowOpen": "B_Gxsq_dropdownArrowOpen",
5150
- "dropdownFill": "B_Gxsq_dropdownFill"
5148
+ "dropdownItemLabel": "B_Gxsq_dropdownItemLabel",
5149
+ "dropdownBtn": "B_Gxsq_dropdownBtn",
5150
+ "dropdownLabel": "B_Gxsq_dropdownLabel"
5151
5151
  };
5152
5152
  //#endregion
5153
5153
  //#region \0dsh-css:src/client/styles/Toggle.module.css.mjs
@@ -5166,9 +5166,9 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
5166
5166
  css: css$3
5167
5167
  });
5168
5168
  var Toggle_module_css_default = {
5169
- "knob": "k-cD4G_knob",
5170
5169
  "toggle": "k-cD4G_toggle",
5171
- "toggleOn": "k-cD4G_toggleOn"
5170
+ "toggleOn": "k-cD4G_toggleOn",
5171
+ "knob": "k-cD4G_knob"
5172
5172
  };
5173
5173
  //#endregion
5174
5174
  //#region src/client/components/ui/Toggle.tsx
@@ -5268,29 +5268,29 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
5268
5268
  css: css$2
5269
5269
  });
5270
5270
  var DiagnosticsView_module_css_default = {
5271
+ "meta": "k9eRya_meta",
5272
+ "diagPulse": "k9eRya_diagPulse",
5273
+ "headHint": "k9eRya_headHint",
5274
+ "summaryOk": "k9eRya_summaryOk",
5275
+ "row": "k9eRya_row",
5276
+ "envDesc": "k9eRya_envDesc",
5277
+ "badgeRunning": "k9eRya_badgeRunning",
5271
5278
  "envCopyBtn": "k9eRya_envCopyBtn",
5272
- "name": "k9eRya_name",
5273
5279
  "summaryRunning": "k9eRya_summaryRunning",
5274
- "badgeOk": "k9eRya_badgeOk",
5275
5280
  "envTitle": "k9eRya_envTitle",
5276
- "panel": "k9eRya_panel",
5277
5281
  "runBtn": "k9eRya_runBtn",
5278
- "row": "k9eRya_row",
5282
+ "badge": "k9eRya_badge",
5279
5283
  "badgeFail": "k9eRya_badgeFail",
5280
- "head": "k9eRya_head",
5281
- "diagPulse": "k9eRya_diagPulse",
5282
- "summaryOk": "k9eRya_summaryOk",
5284
+ "summaryFail": "k9eRya_summaryFail",
5283
5285
  "envRow": "k9eRya_envRow",
5284
5286
  "display": "k9eRya_display",
5285
- "badge": "k9eRya_badge",
5286
- "envLabel": "k9eRya_envLabel",
5287
- "envDesc": "k9eRya_envDesc",
5288
- "badgeRunning": "k9eRya_badgeRunning",
5289
- "summary": "k9eRya_summary",
5290
- "summaryFail": "k9eRya_summaryFail",
5291
- "meta": "k9eRya_meta",
5287
+ "head": "k9eRya_head",
5292
5288
  "badgeIdle": "k9eRya_badgeIdle",
5293
- "headHint": "k9eRya_headHint"
5289
+ "panel": "k9eRya_panel",
5290
+ "badgeOk": "k9eRya_badgeOk",
5291
+ "name": "k9eRya_name",
5292
+ "summary": "k9eRya_summary",
5293
+ "envLabel": "k9eRya_envLabel"
5294
5294
  };
5295
5295
  //#endregion
5296
5296
  //#region src/client/components/views/DiagnosticsView.tsx
@@ -5468,57 +5468,57 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
5468
5468
  css: css$1
5469
5469
  });
5470
5470
  var LogsView_module_css_default = {
5471
- "footPath": "_3j77BW_footPath",
5472
- "catInstall": "_3j77BW_catInstall",
5473
- "footActions": "_3j77BW_footActions",
5474
- "time": "_3j77BW_time",
5475
- "message": "_3j77BW_message",
5476
- "pathDialog": "_3j77BW_pathDialog",
5477
- "catSystem": "_3j77BW_catSystem",
5478
- "clearBtn": "_3j77BW_clearBtn",
5479
- "pathDialogDesc": "_3j77BW_pathDialogDesc",
5480
5471
  "linkBtn": "_3j77BW_linkBtn",
5481
- "filterBar": "_3j77BW_filterBar",
5482
- "pathText": "_3j77BW_pathText",
5483
- "pathDialogReset": "_3j77BW_pathDialogReset",
5484
- "catUninstall": "_3j77BW_catUninstall",
5485
5472
  "searchInput": "_3j77BW_searchInput",
5473
+ "pathDraft": "_3j77BW_pathDraft",
5474
+ "clearBtn": "_3j77BW_clearBtn",
5475
+ "pathDialogReset": "_3j77BW_pathDialogReset",
5476
+ "filterChipActive": "_3j77BW_filterChipActive",
5477
+ "badgeDebug": "_3j77BW_badgeDebug",
5478
+ "catSettings": "_3j77BW_catSettings",
5486
5479
  "list": "_3j77BW_list",
5487
- "pathRow": "_3j77BW_pathRow",
5488
5480
  "event": "_3j77BW_event",
5481
+ "filterBar": "_3j77BW_filterBar",
5482
+ "message": "_3j77BW_message",
5483
+ "badgeInfo": "_3j77BW_badgeInfo",
5484
+ "catBadge": "_3j77BW_catBadge",
5485
+ "pathRow": "_3j77BW_pathRow",
5486
+ "foot": "_3j77BW_foot",
5489
5487
  "pathLabel": "_3j77BW_pathLabel",
5490
- "previewRow": "_3j77BW_previewRow",
5491
- "search": "_3j77BW_search",
5492
- "headActions": "_3j77BW_headActions",
5493
- "more": "_3j77BW_more",
5494
- "pathDialogRow": "_3j77BW_pathDialogRow",
5495
- "panel": "_3j77BW_panel",
5496
- "badge": "_3j77BW_badge",
5497
- "footFail": "_3j77BW_footFail",
5498
- "footCount": "_3j77BW_footCount",
5499
- "headHint": "_3j77BW_headHint",
5488
+ "pathDialogFoot": "_3j77BW_pathDialogFoot",
5489
+ "pathDialogDesc": "_3j77BW_pathDialogDesc",
5500
5490
  "entry": "_3j77BW_entry",
5501
- "filterChip": "_3j77BW_filterChip",
5491
+ "pathDialog": "_3j77BW_pathDialog",
5492
+ "badge": "_3j77BW_badge",
5502
5493
  "badgeSuccess": "_3j77BW_badgeSuccess",
5503
- "badgeWarn": "_3j77BW_badgeWarn",
5504
- "catBadge": "_3j77BW_catBadge",
5505
- "pathDialogFoot": "_3j77BW_pathDialogFoot",
5506
- "moreEnd": "_3j77BW_moreEnd",
5494
+ "btn": "_3j77BW_btn",
5495
+ "footCount": "_3j77BW_footCount",
5496
+ "panel": "_3j77BW_panel",
5497
+ "catUninstall": "_3j77BW_catUninstall",
5498
+ "pathText": "_3j77BW_pathText",
5507
5499
  "actions": "_3j77BW_actions",
5508
- "empty": "_3j77BW_empty",
5509
- "catSettings": "_3j77BW_catSettings",
5510
- "pathDialogHint": "_3j77BW_pathDialogHint",
5511
- "pathDraft": "_3j77BW_pathDraft",
5512
- "head": "_3j77BW_head",
5513
- "filterChipActive": "_3j77BW_filterChipActive",
5500
+ "headHint": "_3j77BW_headHint",
5501
+ "footActions": "_3j77BW_footActions",
5514
5502
  "logList": "_3j77BW_logList",
5515
- "foot": "_3j77BW_foot",
5503
+ "pathDialogHint": "_3j77BW_pathDialogHint",
5504
+ "more": "_3j77BW_more",
5505
+ "badgeWarn": "_3j77BW_badgeWarn",
5516
5506
  "catUpdate": "_3j77BW_catUpdate",
5517
5507
  "catDiagnostics": "_3j77BW_catDiagnostics",
5518
- "btn": "_3j77BW_btn",
5508
+ "moreEnd": "_3j77BW_moreEnd",
5509
+ "footFail": "_3j77BW_footFail",
5510
+ "headActions": "_3j77BW_headActions",
5511
+ "filterChip": "_3j77BW_filterChip",
5512
+ "search": "_3j77BW_search",
5513
+ "pathDialogRow": "_3j77BW_pathDialogRow",
5514
+ "previewRow": "_3j77BW_previewRow",
5515
+ "time": "_3j77BW_time",
5519
5516
  "badgeError": "_3j77BW_badgeError",
5520
- "badgeInfo": "_3j77BW_badgeInfo",
5521
- "badgeDebug": "_3j77BW_badgeDebug"
5517
+ "catInstall": "_3j77BW_catInstall",
5518
+ "head": "_3j77BW_head",
5519
+ "footPath": "_3j77BW_footPath",
5520
+ "empty": "_3j77BW_empty",
5521
+ "catSystem": "_3j77BW_catSystem"
5522
5522
  };
5523
5523
  //#endregion
5524
5524
  //#region src/client/components/modals/LogsModal.tsx
@@ -6767,7 +6767,7 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
6767
6767
  openSection: settingsSection,
6768
6768
  onConsumedOpenSection: () => setSettingsSection(null)
6769
6769
  }), showHubUpdate && (0, react.createElement)(HubUpdateModal, {
6770
- info: catalog.hubUpdateInfo ?? { version: "1.4.8" },
6770
+ info: catalog.hubUpdateInfo ?? { version: "1.4.9" },
6771
6771
  lang,
6772
6772
  t,
6773
6773
  hasUpdate: catalog.hubHasUpdate,
@@ -71,6 +71,20 @@ function macSystemProxy() {
71
71
  return null;
72
72
  }
73
73
  }
74
+ /**
75
+ * 从 `reg query … /v ProxyServer` 的输出里解析出 `http://host:port`;解析不出返回 null。
76
+ * 注册表里的值常见三种写法:`http://127.0.0.1:10793`(带 scheme)、`127.0.0.1:10793`、
77
+ * `http=host:port;https=host:port`(按协议分别配置)。
78
+ * 字符类必须同时排除 `/` 与 `=`:只排除 `=` 时,带 scheme 的值会让「主机名」吞掉 `//`,
79
+ * 拼出 `http:////127.0.0.1:10793` 这种立刻失败的非法地址 —— 代理本来是通的,却把诊断、
80
+ * 目录拉取、npm/git 预检全判成「不可达」(dsh-plugin-hub#66)。
81
+ */
82
+ export function parseWinProxyServer(stdout) {
83
+ const m = /([^:\s=/]+):(\d+)/.exec(stdout);
84
+ if (m === null)
85
+ return null;
86
+ return `http://${m[1]}:${m[2]}`;
87
+ }
74
88
  /** Windows 系统代理:WinINET Internet 设置注册表;未开启返回 null。 */
75
89
  function winSystemProxy() {
76
90
  try {
@@ -79,10 +93,7 @@ function winSystemProxy() {
79
93
  const server = spawnSync('reg', ['query', key, '/v', 'ProxyServer'], { encoding: 'utf8', timeout: 1500 });
80
94
  if (!/0x1/i.test(enable.stdout ?? ''))
81
95
  return null;
82
- const m = /([^:\s=]+):(\d+)/.exec(server.stdout ?? '');
83
- if (m === null)
84
- return null;
85
- return `http://${m[1]}:${m[2]}`;
96
+ return parseWinProxyServer(server.stdout ?? '');
86
97
  }
87
98
  catch {
88
99
  return null;
@@ -8,13 +8,42 @@
8
8
  */
9
9
  import { readFileSync, writeFileSync } from 'node:fs';
10
10
  import { homedir } from 'node:os';
11
- import { join } from 'node:path';
11
+ import { basename, dirname, join } from 'node:path';
12
12
  import { PACKAGE_RE, REPO_RE } from '../install/install-types.js';
13
13
  /** Resolve the active profile from the booted CLI args, falling back to `web`. */
14
14
  export function readProfileArg(fallback = 'web') {
15
- const index = process.argv.indexOf('--profile');
16
- const candidate = index >= 0 ? process.argv[index + 1] : undefined;
17
- return candidate !== undefined && !candidate.startsWith('-') ? candidate : fallback;
15
+ return profileFromArgv(process.argv, fallback);
16
+ }
17
+ /**
18
+ * 从启动参数解析当前 profile,两种宿主形态都认:
19
+ * - 官方 CLI:`--profile <name>`(也兼容 `--profile=<name>` 等号形式);
20
+ * - Electron 桌面宿主:不传 `--profile`,而是把 profile 目录作为位置参数传入
21
+ * (`… <dshRoot> <home>\profiles\desktop …`)。
22
+ * 桌面端只认 `--profile` 会永远落回 fallback,把路由/日志/安装全挂到错误的 profile 上
23
+ * (日志写进 profiles/web/hub.log、市场必然「插件数据加载失败」,dsh-plugin-hub#65)。
24
+ * 位置参数按「父目录名为 profiles」精确识别 profile 目录,避免误取其它位置参数。
25
+ */
26
+ export function profileFromArgv(argv, fallback = 'web') {
27
+ const index = argv.indexOf('--profile');
28
+ const candidate = index >= 0 ? argv[index + 1] : undefined;
29
+ if (candidate !== undefined && !candidate.startsWith('-'))
30
+ return candidate;
31
+ const equals = argv.find((arg) => arg.startsWith('--profile='));
32
+ if (equals !== undefined) {
33
+ const name = equals.slice('--profile='.length);
34
+ if (name !== '')
35
+ return name;
36
+ }
37
+ for (const arg of argv.slice(2)) {
38
+ if (arg === '' || arg.startsWith('-'))
39
+ continue;
40
+ if (basename(dirname(arg)) !== 'profiles')
41
+ continue;
42
+ const name = basename(arg);
43
+ if (name !== '')
44
+ return name;
45
+ }
46
+ return fallback;
18
47
  }
19
48
  /** Resolve a profile directory (`DSH_HOME` or `~/.dsh`). */
20
49
  export function profileDirectory(profile) {
@@ -27,6 +27,15 @@ export declare function curlTlsArgs(): string[];
27
27
  export declare function curlRevokeFlagUnsupported(code: number | null, stderr: string): boolean;
28
28
  /** stderr 是否指向 Schannel 取不到证书吊销信息(据此归因为环境 TLS 问题,而非网络不通)。 */
29
29
  export declare function tlsRevocationBlocked(stderr: string): boolean;
30
+ /**
31
+ * 从 `reg query … /v ProxyServer` 的输出里解析出 `http://host:port`;解析不出返回 null。
32
+ * 注册表里的值常见三种写法:`http://127.0.0.1:10793`(带 scheme)、`127.0.0.1:10793`、
33
+ * `http=host:port;https=host:port`(按协议分别配置)。
34
+ * 字符类必须同时排除 `/` 与 `=`:只排除 `=` 时,带 scheme 的值会让「主机名」吞掉 `//`,
35
+ * 拼出 `http:////127.0.0.1:10793` 这种立刻失败的非法地址 —— 代理本来是通的,却把诊断、
36
+ * 目录拉取、npm/git 预检全判成「不可达」(dsh-plugin-hub#66)。
37
+ */
38
+ export declare function parseWinProxyServer(stdout: string): string | null;
30
39
  /**
31
40
  * 操作系统级代理(macOS 系统网络设置 / Windows Internet 设置)。
32
41
  * Node 内置 http(s) 不读系统代理,浏览器挂的代理 Node 看不见 —— 这里读出来
@@ -1,5 +1,15 @@
1
1
  /** Resolve the active profile from the booted CLI args, falling back to `web`. */
2
2
  export declare function readProfileArg(fallback?: string): string;
3
+ /**
4
+ * 从启动参数解析当前 profile,两种宿主形态都认:
5
+ * - 官方 CLI:`--profile <name>`(也兼容 `--profile=<name>` 等号形式);
6
+ * - Electron 桌面宿主:不传 `--profile`,而是把 profile 目录作为位置参数传入
7
+ * (`… <dshRoot> <home>\profiles\desktop …`)。
8
+ * 桌面端只认 `--profile` 会永远落回 fallback,把路由/日志/安装全挂到错误的 profile 上
9
+ * (日志写进 profiles/web/hub.log、市场必然「插件数据加载失败」,dsh-plugin-hub#65)。
10
+ * 位置参数按「父目录名为 profiles」精确识别 profile 目录,避免误取其它位置参数。
11
+ */
12
+ export declare function profileFromArgv(argv: readonly string[], fallback?: string): string;
3
13
  /** Resolve a profile directory (`DSH_HOME` or `~/.dsh`). */
4
14
  export declare function profileDirectory(profile: string): string;
5
15
  /** Build a safe explicit HTTPS Git target, or null when the repo is unsafe. */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dsh-plugin",
3
- "version": "1.4.8",
3
+ "version": "1.4.9",
4
4
  "description": "A community plugin marketplace for DeepSeek Harness, built to the official plugin spec — browse, search and install 10000+ human-curated community plugins without leaving the app. · DeepSeek Harness 社区插件市场(遵循官方开发规范):10000+ 人工精选社区插件,每日更新。",
5
5
  "type": "module",
6
6
  "main": "lib/index.js",
@@ -90,6 +90,20 @@ function macSystemProxy(): string | null {
90
90
  }
91
91
  }
92
92
 
93
+ /**
94
+ * 从 `reg query … /v ProxyServer` 的输出里解析出 `http://host:port`;解析不出返回 null。
95
+ * 注册表里的值常见三种写法:`http://127.0.0.1:10793`(带 scheme)、`127.0.0.1:10793`、
96
+ * `http=host:port;https=host:port`(按协议分别配置)。
97
+ * 字符类必须同时排除 `/` 与 `=`:只排除 `=` 时,带 scheme 的值会让「主机名」吞掉 `//`,
98
+ * 拼出 `http:////127.0.0.1:10793` 这种立刻失败的非法地址 —— 代理本来是通的,却把诊断、
99
+ * 目录拉取、npm/git 预检全判成「不可达」(dsh-plugin-hub#66)。
100
+ */
101
+ export function parseWinProxyServer(stdout: string): string | null {
102
+ const m = /([^:\s=/]+):(\d+)/.exec(stdout)
103
+ if (m === null) return null
104
+ return `http://${m[1]}:${m[2]}`
105
+ }
106
+
93
107
  /** Windows 系统代理:WinINET Internet 设置注册表;未开启返回 null。 */
94
108
  function winSystemProxy(): string | null {
95
109
  try {
@@ -97,9 +111,7 @@ function winSystemProxy(): string | null {
97
111
  const enable = spawnSync('reg', ['query', key, '/v', 'ProxyEnable'], { encoding: 'utf8', timeout: 1500 })
98
112
  const server = spawnSync('reg', ['query', key, '/v', 'ProxyServer'], { encoding: 'utf8', timeout: 1500 })
99
113
  if (!/0x1/i.test(enable.stdout ?? '')) return null
100
- const m = /([^:\s=]+):(\d+)/.exec(server.stdout ?? '')
101
- if (m === null) return null
102
- return `http://${m[1]}:${m[2]}`
114
+ return parseWinProxyServer(server.stdout ?? '')
103
115
  } catch {
104
116
  return null
105
117
  }
@@ -8,14 +8,39 @@
8
8
  */
9
9
  import { readFileSync, writeFileSync } from 'node:fs'
10
10
  import { homedir } from 'node:os'
11
- import { join } from 'node:path'
11
+ import { basename, dirname, join } from 'node:path'
12
12
  import { PACKAGE_RE, REPO_RE } from '../install/install-types.ts'
13
13
 
14
14
  /** Resolve the active profile from the booted CLI args, falling back to `web`. */
15
15
  export function readProfileArg(fallback = 'web'): string {
16
- const index = process.argv.indexOf('--profile')
17
- const candidate = index >= 0 ? process.argv[index + 1] : undefined
18
- return candidate !== undefined && !candidate.startsWith('-') ? candidate : fallback
16
+ return profileFromArgv(process.argv, fallback)
17
+ }
18
+
19
+ /**
20
+ * 从启动参数解析当前 profile,两种宿主形态都认:
21
+ * - 官方 CLI:`--profile <name>`(也兼容 `--profile=<name>` 等号形式);
22
+ * - Electron 桌面宿主:不传 `--profile`,而是把 profile 目录作为位置参数传入
23
+ * (`… <dshRoot> <home>\profiles\desktop …`)。
24
+ * 桌面端只认 `--profile` 会永远落回 fallback,把路由/日志/安装全挂到错误的 profile 上
25
+ * (日志写进 profiles/web/hub.log、市场必然「插件数据加载失败」,dsh-plugin-hub#65)。
26
+ * 位置参数按「父目录名为 profiles」精确识别 profile 目录,避免误取其它位置参数。
27
+ */
28
+ export function profileFromArgv(argv: readonly string[], fallback = 'web'): string {
29
+ const index = argv.indexOf('--profile')
30
+ const candidate = index >= 0 ? argv[index + 1] : undefined
31
+ if (candidate !== undefined && !candidate.startsWith('-')) return candidate
32
+ const equals = argv.find((arg) => arg.startsWith('--profile='))
33
+ if (equals !== undefined) {
34
+ const name = equals.slice('--profile='.length)
35
+ if (name !== '') return name
36
+ }
37
+ for (const arg of argv.slice(2)) {
38
+ if (arg === '' || arg.startsWith('-')) continue
39
+ if (basename(dirname(arg)) !== 'profiles') continue
40
+ const name = basename(arg)
41
+ if (name !== '') return name
42
+ }
43
+ return fallback
19
44
  }
20
45
 
21
46
  /** Resolve a profile directory (`DSH_HOME` or `~/.dsh`). */