Skip to content

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Latest commit

 

History

6 Commits

Folders and files

Repository files navigation

DSH Plugins

面向 DeepSeek Harness(DSH) Web 的四个独立插件集合。

先看这里:普通用户怎么安装?

推荐使用 npm 安装。 npm 安装不需要下载源码,也不需要长期保留本地插件目录;如果 npm 暂时不可用,再使用 GitHub 一键安装。

发布状态: 四个 npm 包目前尚未公开发布。如果执行 npm 命令时收到 404 Not Found,请先使用下面的 GitHub 一键安装;完成 npm 发布后,npm 命令会成为首选路径。

方式 适合谁 是否需要保留源码
npm 直接安装(推荐) 普通用户、稳定使用 否
GitHub 一键安装 npm 尚未同步、需要源码或迁移旧安装 是,脚本会自动保存
下载 ZIP 手动安装 不想执行远程脚本 是
Clone + 本地 link 开发、调试、修改源码 是

安装后必须完全退出并重新启动 DSH Web Host,再刷新 GUI。 只刷新浏览器不会重新加载 host 插件。

插件列表

插件 版本 功能
@megen-lebar/dsh-archive-panel 0.3.2 查看、恢复和安全删除归档会话
@megen-lebar/dsh-reasoning-effort 0.2.0 可视化配置第三方模型的 reasoning effort
@megen-lebar/dsh-skill-manager 0.2.1 浏览、安装、更新和管理 GitHub 技能
@megen-lebar/dsh-notify-local 0.1.0 回合完成、错误和审批时发送本机通知

四个插件是四个独立的 DSH bundle。根目录只是源码管理仓库,不是可直接安装的聚合包。

安装前准备

  • 已安装 DSH,并且 dsh web 可以正常运行;
  • Node.js 满足插件要求:^22.19.0 或 >=24.0.0;
  • pnpm 已安装,或 Node.js 的 Corepack 可以正常启用;
  • Windows 使用 PowerShell;macOS/Linux 使用 Bash;
  • 安装完成后可以完全退出并重新启动 DSH Web Host。

方式一:npm 直接安装(推荐)

npm 安装不需要保存 GitHub 源码。打开 PowerShell 或终端,在同一个 profile 下依次执行:

dsh plugin --profile web add @megen-lebar/dsh-archive-panel
dsh plugin --profile web add @megen-lebar/dsh-reasoning-effort
dsh plugin --profile web add @megen-lebar/dsh-skill-manager
dsh plugin --profile web add @megen-lebar/dsh-notify-local

macOS/Linux 使用同样的命令:

dsh plugin --profile web add @megen-lebar/dsh-archive-panel
dsh plugin --profile web add @megen-lebar/dsh-reasoning-effort
dsh plugin --profile web add @megen-lebar/dsh-skill-manager
dsh plugin --profile web add @megen-lebar/dsh-notify-local

安装完成后:

  1. 完全退出 DSH Web Host;
  2. 重新启动 DSH Web Host;
  3. 刷新 DSH Web GUI;
  4. 在侧边栏或设置中检查四个插件。

npm 更新

以后更新时,重复执行上面的四条命令即可。需要指定某个版本时,在包名后面加版本号,例如:

dsh plugin --profile web add @megen-lebar/dsh-archive-panel@0.3.2

从旧安装迁移

如果你以前通过源码 link 或旧版包安装过插件,不要直接让旧包和 npm 包同时存在,否则可能出现重复入口、重复监听器或 duplicate loader entry。

最稳妥的迁移方式是先执行下面的 GitHub 迁移命令。它会备份 profile,识别并清理旧的同名包,然后安装当前四个包;完成后再执行本节的 npm 命令,让 profile 切换到 npm 来源。

Windows:

Set-ExecutionPolicy -Scope Process Bypass; & ([scriptblock]::Create((irm 'https://raw.githubusercontent.com/Jamsharden/dsh-plugins/main/scripts/bootstrap.ps1'))) -ReplaceLegacy

macOS/Linux/Git Bash:

curl -fsSL https://raw.githubusercontent.com/Jamsharden/dsh-plugins/main/scripts/bootstrap.sh | bash -s -- --replace-legacy

方式二:GitHub 一键安装

当 npm 还没有同步、你需要源码,或需要迁移旧安装时,使用下面的命令。脚本会下载仓库、保存源码、备份 profile,并使用本地 link: 方式安装四个插件。

Windows PowerShell

Set-ExecutionPolicy -Scope Process Bypass; & ([scriptblock]::Create((irm 'https://raw.githubusercontent.com/Jamsharden/dsh-plugins/main/scripts/bootstrap.ps1'))) -ReplaceLegacy

macOS / Linux / Git Bash

curl -fsSL https://raw.githubusercontent.com/Jamsharden/dsh-plugins/main/scripts/bootstrap.sh | bash -s -- --replace-legacy

源码保存位置:

Windows:%USERPROFILE%\\.dsh\\plugin-sources\\jamsharden-dsh-plugins
macOS/Linux:~/.dsh/plugin-sources/jamsharden-dsh-plugins

重复执行同一条命令即可更新。远程脚本会执行真实的本机安装操作,使用前请先审阅 bootstrap.ps1 或 bootstrap.sh。

只安装一个插件

例如只安装技能管理器:

Windows:

Set-ExecutionPolicy -Scope Process Bypass; & ([scriptblock]::Create((irm 'https://raw.githubusercontent.com/Jamsharden/dsh-plugins/main/scripts/bootstrap.ps1'))) -ReplaceLegacy -Package dsh-skill-manager

macOS/Linux/Git Bash:

curl -fsSL https://raw.githubusercontent.com/Jamsharden/dsh-plugins/main/scripts/bootstrap.sh | bash -s -- --replace-legacy --package dsh-skill-manager

可选名称:

dsh-archive-panel
dsh-reasoning-effort
dsh-skill-manager
dsh-notify-local

固定到 GitHub Release

main 会随着仓库更新而变化。创建 GitHub Release 后,建议固定到 tag:

Windows:

Set-ExecutionPolicy -Scope Process Bypass; & ([scriptblock]::Create((irm 'https://raw.githubusercontent.com/Jamsharden/dsh-plugins/v0.1.0/scripts/bootstrap.ps1'))) -Ref v0.1.0 -Tag -ReplaceLegacy

macOS/Linux:

curl -fsSL https://raw.githubusercontent.com/Jamsharden/dsh-plugins/v0.1.0/scripts/bootstrap.sh | bash -s -- --ref v0.1.0 --tag --replace-legacy

方式三:下载 ZIP 后手动安装

如果你不想通过管道执行远程脚本:

  1. 打开 Jamsharden/dsh-plugins;
  2. 点击 Code → Download ZIP;
  3. 解压到不会被删除或移动的位置;
  4. 在仓库根目录运行安装脚本。

Windows:

Set-ExecutionPolicy -Scope Process Bypass
.\scripts\install.ps1 -ReplaceLegacy

macOS/Linux/Git Bash:

chmod +x scripts/install.sh
./scripts/install.sh --replace-legacy

源码目录必须保留,因为 profile 使用本地 link: 路径。以后更新时,在同一个目录重新运行安装脚本即可。

方式四:本地开发安装

Clone 仓库后,在仓库根目录运行:

$repo = (Get-Location).Path
dsh plugin --profile web add "link:$repo\packages\dsh-archive-panel"
dsh plugin --profile web add "link:$repo\packages\dsh-reasoning-effort"
dsh plugin --profile web add "link:$repo\packages\dsh-skill-manager"
dsh plugin --profile web add "link:$repo\packages\dsh-notify-local"

官方 dsh plugin 命令会更新 profile 的依赖和 bundle 列表,比手工修改 JSON 更安全。

检查代码:

pnpm install
pnpm -r --if-present run check
pnpm -r --if-present run test

更新、卸载和备份

更新

  • npm 用户:重复执行 npm 安装命令;
  • GitHub 一键安装用户:重复执行同一条 bootstrap 命令;
  • ZIP / 本地 link 用户:进入源码目录,重新运行 install.ps1 -ReplaceLegacy 或 install.sh --replace-legacy。

每种方式更新后都要完全重启 DSH Web Host。

卸载

dsh plugin --profile web remove @megen-lebar/dsh-archive-panel
dsh plugin --profile web remove @megen-lebar/dsh-reasoning-effort
dsh plugin --profile web remove @megen-lebar/dsh-skill-manager
dsh plugin --profile web remove @megen-lebar/dsh-notify-local

卸载后完全重启 DSH Web Host。确认 profile 不再引用源码目录后,再删除本地源码。

备份

安装脚本会在修改前备份 profile:

Windows:%USERPROFILE%\\.dsh\\backups\\dsh-plugins-时间戳
macOS/Linux:~/.dsh/backups/dsh-plugins-时间戳

常见问题

安装后 GUI 没有入口

完全退出并重新启动 DSH Web Host,再刷新 GUI。浏览器刷新本身不会重新加载 host 插件。

出现 duplicate loader entry 或重复入口

先执行带 -ReplaceLegacy / --replace-legacy 的 GitHub 迁移命令,确认旧的同名包已经清理,再安装 npm 版本。

提示找不到 pnpm

安装 pnpm,或在 Node.js 已安装的情况下执行:

corepack enable

然后重新运行安装命令。

只想安装一个插件

使用 bootstrap 的 -Package / --package 参数,或只执行对应的一条 npm dsh plugin 命令。

仓库边界

  • dsh-super-injector 是独立插件,不包含在本仓库四个包中;
  • plugin-notify-upstream 是另一套上游/实验实现,不等同于 dsh-notify-local;
  • 根目录不是 npm 聚合包;四个插件分别维护、分别发布;
  • 包级许可证以各自 package.json 的 license 字段为准。

更多文档

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages