Thomas-key/dsh-dynplugin-manager ↗★ 0
dsh-dynplugin-manager
Manage DSH dynamic plugins (Dynamic Cordis Plugins): scan directories, browse, and load via /dynload slash command. Community gap — self-built.
安装
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:Thomas-key/dsh-dynplugin-manager说明文档
阅读完整 README ↗dsh-dynplugin-manager
管理 DSH 动态插件(Dynamic Cordis Plugins):指定目录扫描、浏览、加载。社区空白,自研插件。
DSH 的动态插件(cordis_define / cordis_run)是会话级机制:存在于当前会话,进程重启后失效。官方只有 agent 工具(模型才能调用),没有人类可操作的界面。本插件补齐这个空缺:
- 设置页"动态插件":管理扫描目录(可添加多个)、浏览扫描到的插件(名称 + 描述 + README)、打开插件源目录
- 斜杠命令
/dynload:在任意会话直接加载动态插件,不经过 agent - 只读管理:管理页只浏览,加载一律走斜杠命令
安装
⚠️ 同名包警告
npm 上可能已存在或将来出现同名包(其他作者发布)。直接按裸包名安装可能装到错误的包。请始终显式指定本仓库:
# 从 GitHub 安装
dsh plugin --profile web add -w Thomas-key/dsh-dynplugin-manager
# 或从本地目录安装
dsh plugin --profile web add -w ./dsh-dynplugin-manager
第 1 步:安装运行时依赖(必须!)
本插件以 link 方式安装(profile 引用本地目录),Node 从目录自身解析 import。运行时依赖 @deepseek-ai/dsh-tools 不会随仓库分发(它在 node_modules/,被 .gitignore 排除)——必须先在本地仓库装好,否则 dsh web 启动即崩,报 ERR_MODULE_NOT_FOUND:
cd dsh-dynplugin-manager
npm install # 把 @deepseek-ai/dsh-tools 装进 ./node_modules
cd ..
peerDependencies(@deepseek-ai/cordis、react)由 DSH 宿主提供——不需要本地安装。
第 2 步:添加插件
dsh plugin --profile web add -w ./dsh-dynplugin-manager # 本地安装(link)
重启 dsh web 后:设置 → 动态插件 → 添加扫描目录 → 会话里输入 /dynload (或 /dyn-)。
扫描规范(重要)
扫描器只扫一层:用户指定目录下的每一个第一层子文件夹。
判定:必须有 package.json
一个文件夹要被识别为动态插件,必须包含 package.json,否则直接跳过(不扫描、不显示)。
扫描目录/
├── web-access/ ← ✓ 有 package.json,是插件
│ ├── package.json
│ ├── plugin/index.js ← 代码体
│ └── README.md
├── 随便放的文件夹/ ← ✗ 没有 package.json,跳过
│ └── index.js
└── 普通项目/ ← ✗ 没有 package.json,跳过
package.json 必要字段
| 字段 | 要求 |
|---|---|
name | 必须。没有 name 的 package.json 视为无效,跳过 |