yjh051108/dsh-super-injector
dsh-super-injector
dsh-super-injector is a community DeepSeek Harness plugin. Read the repository README before installing.
Install
npx @deepseek-ai/dsh plugin --profile web add <解压目录>Restart `dsh web` after install. Bundle APIs can change during the developer preview.
README badge
[](https://dshhub.dev/plugins/dsh-super-injector)Paste this into your README. The star count updates with every catalog sync.
From the README
Excerpt from yjh051108/dsh-super-injector, cleaned of badges and images.
dsh-super-injector — 超级模组注入器
🎉 v0.3.0 重大声明(2026-08-14)
从经验补丁到源码契约——注入器完成规范重构。
本版本按 docs/SPEC.md(基于 DSH 0.1.0-rc.6 源码语义推导的 设计契约)重构自重载为官方 REPLACE 结构:工具只排程、绝不亲自自杀; reboot 走
entry._dispose(官方_disposing豁免)+ 失败自动 rollback。 从此注入器的一切行为都有源码依据,不再依赖经验补丁。里程碑回顾:
- 三轮零上下文 subagent 评测:9/10 → 9.5/10 → 10/10
- 作死压力测试:连环自杀/坏语法/悬空 junction/循环注入卸载——零崩溃零残留
- 云源自举:下载 release 副本 → 装配 → 注入器从云端副本运行(自检 8/8)
- 免杀进程恢复:失败 → touch patch(include.refresh 进程内重装配)→ 6 秒复活
- DSH 正式版兼容:0.1.0-rc.6 一行不改直接运行(peerDeps 范围声明实证)
哲学不变:一切皆插件——注入器是 DSH 生态的运行时注入标准层, 让"插件想长成什么样就长成什么样"。
DSH 生态的 BepInEx 式模组注入入口:运行时把任意本地插件包注入运行中的 web, 不碰 patch / package.json / bundles 列表、不重启进程。注入即完整生效(host 工具 + client UI)。
灵感:官方装配机制(profile bundle / repository-plugin)是唯一的"官方入口",就像游戏 只有启动器能装模组。本插件打破这一点——引导器走官方入口装一次,之后万物皆可运行时注入。
安装(三选一)
方式 A:Release 包(推荐,免构建)
从 Releases 下载
dsh-external-dsh-super-injector-0.0.1.tgz,解压得到插件目录(含 lib/ 与 cordis.patch.yml),然后:
# 官方装配(重启后由 bundles 接管,生产态)
dsh plugin --profile web add <解压目录>
# 或运行时注入(免重启,开发态;需任一环境已常驻注入器)
# 对 AI 说:dev_inject_plugin <解压目录>
方式 B:git 装配
dsh plugin --profile web add github:yjh051108/dsh-super-injector
git 依赖拉取的是源码仓库(不含
lib/);包内prepare钩子会在安装时自动 用 tsdown 构建自包含lib/(首次需要网络拉取 tsdown,之后走本地缓存)。 若构建失败,请改用方式 A 的 Release tgz(预构建产物)。
方式 C:引导装配(源码方式,只需一次)
⚠️ 仅限未走 bundles 装配时使用:注入器自带 bundle 层会自注册
dsh-super-injector,与下方手动insert撞同一个 loader entry id,会报duplicate loader entry id。走方式 A/B 装配后请勿再加这一条。
在 ~/.dsh/profiles/web/cordis.patch.yml 添加:
- insert:
- id: dsh-super-injector
name: '@yjh051108/dsh-super-injector'
config: {}
引导器常驻后,任意超级模组随取随用,无需再碰官方配置。
兼容性
- 不硬编码 DSH 版本:peerDependencies 全部为范围声明
(
@deepseek-ai/dsh-tools: >=0.0.1-rc <2、cordis: >=4.0.0-rc <5)——DSH 升级不报废。 - 已适配服务改名:
webServer(原 httpServer)、compaction(原 compact)。
特性
- 🔥 热重载 + 自重载:
dev_reload_package整包重载(清缓存 → 重新 import → 重建 fiber,失败回滚保留旧代);注入器自身也支持自重载(自杀 → 全局定时器重建) - 🤖 自动 watch:注入即自动监听插件目录,改代码 build 后约 1.5 秒自动重载(无需手动触发)
- 🖥️ 注入插件 UI 完整生效:清除 loader 幽灵 entry 隔离(normalizeEntry),client 模块补扫/联动/卸载清理——注入的插件 host 工具 + 图谱/面板等 UI 全部可用
- 🧪 开发侧挂区(staging)+ 持久化:测试工具挂"后侧"不进 tools schema、缓存零污染;
dev_stage_promote一键转正;staging 落盘,自重载/重启后转正工具自动恢复 - 🧹 一键卸载:
dev_uninject_pluginfiber 全清理(工具/监听/路由/client 表)→ 清注入清单 → 删 junction,免重启 - 🛠️ 路由自愈:
dev_clear_routes直捣 webserver 内部路由表,热重载残留的孤儿路由免重启清除 - 🔁 重启自动恢复:注入清单持久化(
~/.dsh/super-injector/registry.json),web 重启后自动归位 - 📊 操作自检:每次注入/重载/安装返回
host ✓ / client ✓双验证;dev_plugin_status含操作成功率统计 - 🛡️ 失败可重试:
hasActiveEntry权威防重 + 失败残留缓存自动清理 + 残留 entry 自动清理
与 dsh-evolve 的定位差异(生态互补)
| dsh-evolve | dsh-super-injector | |
|---|---|---|
| 形态 | 创造模式:agent 现场写单文件插件源码(~/.dsh/evolve/<name>.mjs)热挂载 | 手术台:注入开发者预构建的完整插件包(package.json + lib/) |
| 适用 | agent 随对话长出小工具(记账/天气/周报) | 装/换成品模组、自主开发闭环(写 → build → 注入 → 热重载) |
| 联动 | evolve 长出的源码可升级为完整包,再走注入器上膛 | 注入后可被 dev_reload_package 热重载 |
生态定位:官方之下的运行时标准层
官方对插件体系的方向(2026-07 agent notes):
- 否决安装命令 + 安装数据库 + marketplace——持久化插件只有一种状态:配置(cordis.patch.yml / profile bundles / repositories),事务性 HMR 对账;
- agent 自己管理运行时——自指 cordis 工具集,运行时归 agent 管。
翻译:官方钦定"**
…
