重载 DeepSeek Harness 插件的插件
Deepseek harness plugin for reloading your deepseek harness plugin (e.g
安装
dsh plugin --profile web add github:reina4xa/dsh-plugin-reloadGitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试
安装与环境配置指引、插件开发教程见 DSH 中文社区文档 ↗
安装即在你的机器上以你的权限运行第三方代码——它可读写文件、使用凭据、访问网络,DSH 的工具审批不会为插件代码加沙箱。「检测到 manifest」仅代表发现 dsh.bundle / dsh.plugin 清单,不构成兼容性或安全审查;安装前请审阅源码,不熟悉的插件先在不含密钥的环境试用。
README
English | 中文
一个 DeepSeek Harness 插件,为模型提供 reload_plugin 工具:按 entry id、模块名或 MCP serverName 匹配,恰好重启一个 Cordis Loader 条目。其余条目全部保持运行。
按条目类型选择两种重载策略:
mcp-client条目:重启时拉起 MCP server 子进程(拾取磁盘上的新代码)并重新注册其工具;同族的其他 MCP 连接不受影响。- 进程内插件条目:执行硬重载——爆破该条目及其本地源码文件的 Node ESM/CJS 模块缓存,从磁盘重新 import,并把条目的 fiber 换到新模块上(与
cordis-plugin-hmr部分重载同款技术)。插件代码改动无需重启 host 即可生效;重新 import 或重新 apply 失败时自动回滚到旧代码。
构建在 DeepSeek Harness 的"一切皆插件"架构之上。官方仓库当前不接受外部 PR——按照 CONTRIBUTING.md 的建议,社区插件独立发布并通过
dsh-plugin话题分享。
安装(自动挂载)
自 v0.1.2 起本包声明了 dsh.bundle,一条命令即可完成安装并自动挂载:
dsh plugin --profile web add dsh-plugin-reload
底层发生的事情:
dsh plugin在 profile 目录(~/.dsh/profiles/<name>/)里执行pnpm add。- 成功后对账 profile 清单:因为
dsh-plugin-reload的package.json声明了dsh.bundle,它会被自动追加到 profile 的dsh.profile.bundles层列表。 - 下次启动 harness 时组合 bundle 层,插件自带的
cordis.patch.yml自动插入plugin-reload条目——模型工具列表中出现该工具,无需手动编辑 patch。
升级到后续版本:
dsh plugin --profile web update dsh-plugin-reload
刚发布的新版本可能被 pnpm 的
minimumReleaseAge供应链策略短暂拦截;用显式版本号(dsh plugin --profile web add dsh-plugin-reload@0.1.x)可绕过。
手动挂载(备选)
如果用普通 npm 安装(而非 dsh plugin),或希望用显式 patch 行,请加入 profile patch(~/.dsh/profiles/<name>/cordis.patch.yml,或 --patch 覆盖层):
- insert:
- id: plugin-reload
name: 'dsh-plugin-reload'
重启 harness(或让 profile-patch HMR 热载)。bundle 挂载与手动行二选一,不要同时保留(重复注册同名工具会在加载时失败)。
用法
reload_plugin 接受:
| 参数 | 必填 | 含义 |
|---|---|---|
name |
是 | 待重载条目的 entry id(首选)、模块名或 MCP config.serverName |
mode |
否 | auto(默认)——进程内插件硬重载、mcp-client 走 fiber 重启;soft——仅 dispose 后重新 apply(进程内代码改动不生效);hard——爆破 ESM/CJS 缓存并从磁盘重新 import 条目代码 |
dry_run |
否 | true 时只报告匹配到的单个条目及将采用的策略,不重启 |
匹配在一次遍历 Loader 非 group 条目时完成:先精确 entry id,再模块名,再 mcp-client serverName。零匹配时以受限长度的可用条目列表报错;多匹配时列出候选 entry id 且不做任何更改。group 条目永不匹配——重载整棵子树需逐叶条目调用。
成功重载返回条目 id、module、可选 serverName、前后 fiber 阶段、所用策略及语义说明。硬重载不会写回 loader 配置:条目的 options 保持不变,仅把 fiber 换到重新 import 的模块上。
依赖要求
- 一个包含 web(或 headless)bundle 的 DeepSeek Harness profile,即标准
dsh运行时,且具备@deepseek-ai/dsh-tools与@deepseek-ai/cordis-plugin-loader。
已知限制
- 重载期间工具短暂不可用 —— 被重载条目(如 MCP 工具)在 dispose 与重新 apply 之间被注销,进行中的调用会失败。
- 不支持 group 重载 —— 重载整棵插件子树必须逐叶条目调用。
- 硬重载只覆盖插件自身代码 ——
node_modules里的依赖(如@deepseek-ai/*、ws)刻意不重新 import;改这些仍需重启 host。被重载插件的模块顶层状态会重新求值(全新import),插件不能依赖顶层持久状态跨重载保留。 - 仅面向模型 —— 无浏览器/UI 界面;Settings 的插件清单页保持只读。
开发
npm install # 安装 dev 依赖(类型 + typescript)自 npm
npm run build # tsc → lib/
npm test # vitest
npm pack # 发布前检查 tarball 内容
License
MIT
原始 README: https://github.com/reina4xa/dsh-plugin-reload/blob/main/README.zh.md ↗
同类插件
查看全部 →
dsh-anchored-standard
两阶段 DeepSeek Harness 预设:先 Minimal 对齐的 bootstrap,再切完整 Standard 工具(Project2 98/99)

PicGo-Core
极致的图片上传引擎,CLI 与 API 双支持

awesome-deepseek-harness
DeepSeek Harness(DSH)及其优秀社区插件的精选指南。

awesome-deepseek-harness
DeepSeek Harness (DSH)生态系统:来自dsh-external/hub和公共dsh-plugin主题的精选插件、工具和基础设施。

AI-Novel-Writer
本地优先 AI 小说创作工作台,提供 Windows/macOS 桌面版与 DeepSeek Harness 插件开发预览,支持角色、大纲、章节蓝图、审稿修稿和本地模型。

mcp-for-stata
MCP-for-Stata:把 Stata 集成进你的 agent