DeepSHPlugins
dsh-plugin-toggle 專案預覽
GITHUB / COMMUNITY PROJECT

dsh-plugin-toggle

生態與開發JavaScriptMIT

在 Web 設定面板中啟用、停用、刪除/撤回外掛,並支援版本檢測與 npm 外掛更新;執行時開關持久化到 profile。

1 Starstuogusa 更新時間 2026-08-19
訪問 GitHub 倉庫
dsh-plugin-toggle 專案預覽

專案介紹

中文

在 Web 設定面板中啟用、停用、刪除/撤回外掛,並支援版本檢測與 npm 外掛更新;執行時開關持久化到 profile。

English

Toggle, delete, undo-delete, and check/update plugins from the Web settings panel; runtime enable/disable is persisted to the profile.

專案資訊與收錄訊號

快照 2026-09-11
作者 / 組織
tuogusa
倉庫
tuogusa/dsh-plugin-toggle
GitHub Stars
1
Forks
0
開發語言
JavaScript
許可證
MIT
最近推送
2026-08-19
Manifest
資料中檢測到宣告

公開倉庫不自動等於可商用;許可證與當前相容性以原專案文件為準。Manifest 和資料評分不構成安裝安全認證。

資料評分

52/ 100
維護活躍
85
文件與實用資訊
99
生態關注度
9
安裝便捷訊號
75
專案宣告訊號
100

近 23 天仍在更新;README 含完整安裝與使用說明;關注度尚低(1)。

評分來自已有資料快照的五維模型,僅作瀏覽參考,不是實際使用評測或安全檢測結論。

安裝與使用

所有專案資料與許可均以對應 GitHub 倉庫為準。

dsh plugin --profile web add github:tuogusa/dsh-plugin-toggle

複製命令不會自動執行。請先閱讀倉庫文件,確認環境要求與許可證。

專案截圖

倉庫 README

GitHub 原文

已儲存的倉庫文件快照;文件抓取時間未記錄,可能與上方目錄介紹處於不同版本。安裝前請核對當前倉庫說明。

儲存庫檔案保留原文,指令與授權文字不作自動改寫。

dsh-plugin-toggle

DeepSeek Harness (DSH) 插件开关/删除管理器(host + client 一体包)。

功能

  • 设置 → 插件 → 插件列表:列出当前 profile 已加载的全部插件
  • 一键启用/停用(运行时即时生效,并持久化到 cordis.patch.yml)
  • 删除已停用的用户插件(从 profile 依赖与配置中移除)
  • 会话级撤回:删除时先记录快照,当前会话内可一键恢复;也支持“彻底删除”和查看最近删除列表
  • 版本检测:显示已安装版本;支持“全部检查”,弹窗汇总可更新插件列表
  • 支持 bundle 整组开关/删除(识别 dsh.bundle.patch 声明的整组插件)

安装

dsh plugin --profile web add github:tuogusa/dsh-plugin-toggle

兼容 Profile:web(DSH Web GUI)。

然后按 dsh 引导添加 pnpm-workspace.yaml 的 allowBuilds 条目(git 依赖的 prepare 脚本需要放行),重启 DSH 并 Ctrl+Shift+R 刷新浏览器。

更新

# 方式一:CLI 更新(推荐)
dsh plugin --profile web update dsh-plugin-toggle

# 方式二:重新从 GitHub 源安装/更新
dsh plugin --profile web add github:tuogusa/dsh-plugin-toggle
说明:dsh plugin 是 pnpm 的前置转发器,update 会按当前依赖声明重新解析该包;通过 github:tuogusa/dsh-plugin-toggle 安装时,会更新到仓库默认分支的最新提交。本插件自带的版本检测 UI 目前只对 npm registry 依赖提供“一键更新”,git 依赖会标记为“暂不支持自动检测”,但你可以用上面的 CLI 命令手动更新。

结构

  • lib/index.js — 主机侧:/api/plugin-toggle、/api/plugin-delete、/api/plugin-trash、/api/plugin-undo、/api/plugin-purge、/api/plugin-versions、/api/plugin-check-updates、/api/plugin-update、/api/plugin-bundles
  • lib/client.js — 浏览器侧:设置 → 插件 → 插件列表标签页(settings.plugins.tab 分区)
  • test/delete-undo.test.mjs — 删除/撤回/版本检测等验证测试(npm test)

删除/撤回 API

  • POST /api/plugin-delete { id } → 移入会话回收站,返回 { undoId }
  • GET /api/plugin-trash → 当前会话可撤回的删除列表
  • POST /api/plugin-undo { id } → 按删除前快照恢复插件(保持停用状态)
  • POST /api/plugin-purge { id } → 彻底丢弃撤回记录,之后不能再撤回

删除快照保存在内存中;DSH 重启后自动清空,保证“仅当前会话可撤回”。

bundle 插件的删除会立即从 package.json/dsh.profile.bundles 移除;由于 bundle 层在 DSH 启动时静态组合,当前会话内相关 loader 行会保持 disabled,刷新/重启后彻底不再加载。UI 上已删除的插件会从主列表隐藏,只出现在“最近删除”中,避免两边同时显示。

版本检测 API

  • GET /api/plugin-versions → 返回所有依赖插件的已安装版本与依赖类型
  • POST /api/plugin-check-updates {} → 检查所有依赖插件是否有新版本,返回可更新列表
  • POST /api/plugin-update { moduleName } → 将指定 npm 依赖更新到最新版本

当前版本检测支持:

  • npm registry 依赖:查询 npm 最新版本并比较,可在弹窗中直接点击“更新”执行更新
  • link: / file: 本地开发依赖:标记为“本地开发版”,不触发网络,不提供更新
  • git 依赖:暂时标记为“暂不支持自动检测”,不提供更新

UI 提供“全部检查”按钮,检查完成后弹窗汇总可更新插件数量与列表;每个可更新插件旁都有“更新”按钮,点击后直接更新该插件。

安全

  • 端点仅接受 loopback 或受信 Host 的请求
  • 核心组件(PROTECTED 名单)拒绝开关/删除
  • 仅「已停用」的插件可删除;内置(@deepseek-ai/*)插件只能停用

License

MIT

使用前核對

安裝步驟、相容版本與授權範圍以原專案當前文件為準。Stars 和評分是快照中的導航訊號。

安裝與排錯 · 專案問題反饋

同類專案