DSH Hub

yjh051108/dsh-super-injector

dsh-super-injector

UIWeb UI163 GitHub stars· updated 2026-09-18

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

dsh-super-injector DSH Hub badge
[![DSH Hub](https://dshhub.dev/badge/dsh-super-injector.svg)](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_plugin fiber 全清理(工具/监听/路由/client 表)→ 清注入清单 → 删 junction,免重启
  • 🛠️ 路由自愈:dev_clear_routes 直捣 webserver 内部路由表,热重载残留的孤儿路由免重启清除
  • 🔁 重启自动恢复:注入清单持久化(~/.dsh/super-injector/registry.json),web 重启后自动归位
  • 📊 操作自检:每次注入/重载/安装返回 host ✓ / client ✓ 双验证;dev_plugin_status 含操作成功率统计
  • 🛡️ 失败可重试:hasActiveEntry 权威防重 + 失败残留缓存自动清理 + 残留 entry 自动清理

与 dsh-evolve 的定位差异(生态互补)

dsh-evolvedsh-super-injector
形态创造模式:agent 现场写单文件插件源码(~/.dsh/evolve/<name>.mjs)热挂载手术台:注入开发者预构建的完整插件包(package.json + lib/)
适用agent 随对话长出小工具(记账/天气/周报)装/换成品模组、自主开发闭环(写 → build → 注入 → 热重载)
联动evolve 长出的源码可升级为完整包,再走注入器上膛注入后可被 dev_reload_package 热重载

生态定位:官方之下的运行时标准层

官方对插件体系的方向(2026-07 agent notes):

  1. 否决安装命令 + 安装数据库 + marketplace——持久化插件只有一种状态:配置(cordis.patch.yml / profile bundles / repositories),事务性 HMR 对账;
  2. agent 自己管理运行时——自指 cordis 工具集,运行时归 agent 管。

翻译:官方钦定"**

…

Related plugins