dsh-loyalchiiina-plugin-pack:一次启用 14 个 DSH 独立插件的聚合 bundle

前言

在 DSH(DeepSeek Harness)里,能力往往以独立 npm 插件的形式存在:每个包自带 dsh.bundle.patch,挂进 profile 后才真正进 loader。当你想同时用上产物路径联动、侧栏浏览器、Todo 悬浮球、模型面板等一整套增强时,逐个查包名、写 dependencies、再维护十几条 bundles 列表,工作流会变得零碎且容易漏配。

下面介绍维护者 loyalchiiina 发布的 dsh-loyalchiiina-plugin-pack:一个插件聚合 bundle,用一条依赖安装把 14 个已发布子包一起挂上;形态上参考官方 @deepseek-ai/dsh-experimental-agent-team-profile(bundle = patch + dependencies,入口 lib/index.js 仅 export {})。本包在 SkillHub 目录归类为工作流;适配 DSH 内核 0.2.2-rc.1。npm 上聚合包版本以 package.json 为准(资料中为 0.1.1),许可证 MIT。

这是什么

dsh-loyalchiiina-plugin-pack 自身不含任何运行时行为:lib/index.js 只有 export {},不注册服务、工具、路由或 UI。全部能力来自 cordis.patch.yml(在 package.json 里声明为 dsh.bundle.patch)中 insert: 的 14 条 entry,每条指向一个独立 npm 子包。

因此它的价值不是「又一个功能插件」,而是把 14 个可选插件收成一份可复制的 profile 依赖方案;你也可以完全跳过聚合包,只单独安装其中任一子包。

包含的 14 个组件

版本口径以本包 package.json 的 dependencies 为准(caret 范围,均为 npm 已发布版本,无 link: / file:)。聚合层 entry id 统一为 suite-<短名>,与子包自身的 entry id(包名)不冲突。

# 包名 作用(简述) 聚合 entry id
1 dsh-artifact-linker 产物路径联动:常驻「产物路径铁律」+ 正文文件名渲染为可点芯片 suite-artifact-linker
2 dsh-browser-hub 侧栏浏览器:搜索引擎、书签、多级文件夹、360/Chrome 书签导入 suite-browser-hub
3 dsh-chat-image-lightbox 对话图片灯箱:缩放/平移/下载/翻页、TIFF·HEIC 转码等 suite-chat-image-lightbox
4 dsh-console-sentinel 控制台哨兵(Windows):预览后清理任务栏控制台窗口,白名单与求解器硬保护 suite-console-sentinel
5 dsh-deepseek-web-free 非官方 DeepSeek 网页端提供方 + 内嵌网页面板 suite-deepseek-web-free
6 dsh-font-enhancer 分区字体/颜色/字号/行高 DIY,方案与皮肤 suite-font-enhancer
7 dsh-lit-fetch 文献检索与 PDF 获取:Crossref/OpenAlex、Sci-Hub 镜像与 Unpaywall 兜底 suite-lit-fetch
8 dsh-skill-browser 技能库浏览、检索、治理与 MCP 相关能力 suite-skill-browser
9 dsh-agent-team-auto-orchestrator 智能体团队自动编排:铁律注入 + 工具层硬门 suite-agent-team-auto-orchestrator
10 dsh-todo-float-ball 当前会话 Todo 进度环与清单悬浮球 suite-todo-float-ball
11 dsh-voice-alert 回合结束语音提醒,内置音效,可克隆音色 suite-voice-alert
12 dsh-archive-favorites-forge 会话收藏与归档:路径复制、守卫删除、批量归档与导出 suite-archive-favorites-forge
13 dsh-model-fold 三级级联模型面板:来源/模型/强度、识图与思考开关 suite-model-fold
14 dsh-schedule-calendar 侧栏日程、天气、节假日与待办提醒 suite-schedule-calendar

本包不写任何 config: 覆盖,14 个组件默认跑各自子包配置。需要改参数时,在 profile 层按 entry id 追加 config:,字段名见各子包 README 或 cordis.patch.yml。

安装与启用

方式 A:装整包(14 个一起)

先用 pnpm 把聚合包装进 profile 工程(只做依赖安装,尚不会自动合并 patch):

pnpm add dsh-loyalchiiina-plugin-pack

要让 DSH 合并本包的 dsh.bundle.patch,还需把包名列入 profile 的 dsh.profile.bundles:

// ~/.dsh/profiles/<profile>/package.json
"dsh": {
  "profile": {
    "bundles": ["dsh-loyalchiiina-plugin-pack"]
  }
}

桌面端 desktop profile 由 Electron 独占管理:CLI 会拒绝 dsh plugin --profile desktop,需手改 profiles/desktop/package.json 后再用 pnpm 安装。

方式 B:只装其中一个

聚合包不是必经中间层。例如只要 Todo 悬浮球:

pnpm add dsh-todo-float-ball

把子包自己的包名(不是 suite-* id)写进 dsh.profile.bundles;每个子包自带 dsh.bundle.patch,可独立启用。

不要重复挂载

同一 profile 里不要同时把 dsh-loyalchiiina-plugin-pack 与其已包含的某个子包都列进 bundles。那样同一插件会被两个 bundle 各挂一次,造成重复注册(即便 entry id 加了 suite- 前缀不会报 duplicate loader entry id,行为仍然错误)。

改完后如何生效

改动位置 生效方式
package.json / cordis.patch.yml / profile 的 bundles 与 node_modules 完全退出 DSH 客户端再启动(无热重载)
子包 lib/client.js(客户端 bundle) 安装后 Ctrl+Shift+R 硬刷新

关掉单个组件(可选)

补丁层顺序为 bundle:* → user-patch → home-patch,后层按 id last-wins。推荐在 profile 的 cordis.patch.yml 里按 entry id 关闭(可逆、不进包):

- id: suite-voice-alert
  disabled: true

也可在本包 cordis.patch.yml 对应条目加 disabled: true,等价于默认关闭该组件。

适用场景与注意

适合希望一次性对齐 loyalchiiina 这套 14 插件组合、又不想手工维护长 bundles 列表的 DSH 用户;也适合先装整包试用,再按需改为只保留部分子包单独安装。

安装前请注意:

  1. 插件在当前 DSH 进程权限下运行,涉及浏览器、文件、控制台、文献抓取等能力的子包会触达本机资源,安装前应阅读各子包源码与 MIT 许可(聚合包亦为 MIT)。
  2. 要求 Node ^22.19.0 || >=24.0.0(见 package.json engines),与内核 0.2.2-rc.1 对齐后再装。
  3. SkillHub 等社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系;星标等目录元数据以站点展示为准(当前线索为 0 star)。
  4. 子包版本由 caret 范围管理,修 bug 可对 profile 执行 pnpm update,不必等聚合包发版;子包 breaking change 时聚合包会升 minor 并在 CHANGELOG 说明(见 README 版本策略)。

结尾

dsh-loyalchiiina-plugin-pack 把 14 个独立 DSH 插件收成一份 bundle patch + dependencies:装依赖、写 bundles、重启客户端即可整套启用,也可随时拆成单包或按 entry id 关闭单项。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜