前言¶
DeepSeek Harness(DSH)把能力拆成可安装的插件,但社区里大量扩展最初是为 Claude Code、Codex 或独立 Agent Plugins 生态写的,目录结构、清单文件和 Hook 方言并不与 DSH 原生插件一一对应。若每个扩展都手工改写成 DSH 形态,成本高且容易在 Skill、MCP、生命周期细节上走样。
下面介绍维护者 rvaim 发布的 插件桥(Plugin Bridge)(npm 包名 @rvaim/dsh-plugin-bridge,社区目录条目 rvaim/dsh-plugin-bridge)。它作为 DSH 的外部插件管理工具,把旧格式插件作为完整生命周期单元接入 DSH,复用 Source 快照、Skill Provider 和 MCP 子实例,尽量保持原目录与语义运行,而不是要求全部迁移为 DSH 原生插件。
这是什么¶
插件桥是面向 工作流 场景的 DSH 插件:管理并运行 独立 Agent Plugins 1.0.0、传统 Codex 与 Claude Code 插件。项目在 GitHub 开源:rvaim/dsh-plugin-bridge。当前发布版本为 0.10.1(以 npm 与 package.json 为准)。
管理入口在 DSH Web 侧边栏「插件桥」,主区域为独立管理面板;本包不提供独立 CLI,常用操作在面板完成,批量与自动化可调用 ctx.pluginBridge 服务 API。
版本与兼容基线¶
安装与运行前应对照 README 中的契约,避免与运行中 Host 不一致:
| 组件 | 版本(0.10.1 起) |
|---|---|
| 插件桥 | 0.10.1 |
| Plugin parser / Source parser | 6.0.0 |
| Claude Code / Codex 实现 | 1.3.0 |
| Agent Plugins 实现 | 1.2.0 |
从 0.10.0 起采用 每个安装实例固定一个解析器 的安装契约;InstallOptions.plugins 为 { pluginId, parserId? }[],安装记录必填 InstallMetadata.parserId,旧 string[] 参数与旧安装记录不迁移。升级前宜备份插件数据并按新契约重新安装。
传统格式基线:Codex 0.163.0、Claude Code 2.1.304;独立格式基线见仓库文档 Agent Plugins 1.0.0 兼容说明。从 0.6.0 起仅支持 package.json#engines.dsh 声明的 DSH 版本,不提供旧 DSH 版本兼容。
核心概念:Source 与 Plugin¶
插件桥区分两层管理对象:
Source = Git 仓库、本地目录或压缩包;负责获取、缓存和整体更新内容
Plugin = Source 中的一个具体旧插件;负责安装、启用、禁用、运行和卸载
一个 Source 可包含一个或多个 Plugin。Skill、MCP、Hook、Agent、Command 等属于 Plugin 内部能力,不会成为独立安装项,也不会被复制到 DSH 全局目录。生态差异先由 parser 转为统一结构,再经 CompatPlugin 接到 Skill Provider、MCP Client、Hook Protocol 与 Cordis 生命周期。
核心功能¶
Source 层¶
- 支持 Git URL、
github:简写、本地目录和 ZIP/TAR/TGZ。 - 支持 Claude Code
.claude-plugin/marketplace.json、Codex.agents/plugins/marketplace.json及混合 Marketplace;无 Marketplace 时可识别 Source 根目录单插件。 - 市场候选须经用户选择;UI 消费
selectionRequired与后续parser-selection结果。未选中的外部 Git/git-subdir 不联网;选中后才解析ref/HEAD、获取并记录 commit。 - 支持显式/隐式 Source、引用计数、共享 Source 整体更新、原子切换和整体回滚。插件数据目录统一为
$DSH_HOME/dsh-plugin-bridge/。
Plugin 层¶
- 一次原子安装一个或多个 Plugin;任一目标失败则全部不提交。
- 多格式匹配时必须明确选择解析器;只采用选定平台的 metadata、policy 与能力,不再跨格式合并 Skill、MCP binding 或 Hook 方言。
- 安装成功与启用成功分离;MCP、Skill、Command 等名称冲突会产生明确诊断,不自动改名或静默覆盖。
运行能力(已核实范围)¶
- Claude Code / Codex Skill 发现、frontmatter、动态 Skill Provider,正文和资源按需读取。
- MCP stdio 与 streamable-http,通过 DSH
dsh-mcp-client接入。 - Claude Code / Codex Hook parser、事件映射、matcher、超时、取消与结果合并;Codex Stop Hook 通过当前 DSH session projection 提取本轮最后一条
assistant/message。 - Command / Agent 可识别并产生 warning,但当前版本不执行。README 能力列表在截断处另有 Workflow、Output Style 等条目,完整边界以仓库文档为准。
安装与启用¶
环境要求:Node.js ^22.19.0 或 >=24.0.0;使用 Git 来源时还需要 Git。
从 npm 安装指定版本(将 web 换成实际 profile 名称):
dsh plugin --profile web add @rvaim/dsh-plugin-bridge@0.10.1
也可使用本地构建包:
npm install
npm run verify
npm pack --ignore-scripts
dsh plugin --profile web add /absolute/path/rvaim-dsh-plugin-bridge-0.10.1.tgz
公开发布地址:npm:@rvaim/dsh-plugin-bridge。
首次安装或升级插件桥后,Desktop 用户应保存工作,完整退出并重启 DeepSeek Harness,再重新打开插件桥;仅刷新页面不会清除进程内缓存的 Host 契约。若遇到 wire field "plugins" failed boundary validation,同样应先完整重启 Harness。
旧插件的添加、启用、停用和卸载通常立即作用于当前 DSH 进程;只有安装、升级或删除 @rvaim/dsh-plugin-bridge 本体时需要重启 profile。
典型用法¶
- 启动 profile,在 DSH Web 侧边栏点击「插件桥」,在主区域打开管理面板。
- 点击「添加」,输入 Git URL、
github:owner/repo#ref、本地目录或 ZIP/TAR/TGZ 归档。 - Marketplace 来源先显示插件复选列表;独立单插件可省略。取得选中插件内容后,唯一匹配可自动选定解析器,多个匹配则等待用户选择。准备会话会固定市场快照与已取得的外部插件 commit,重试选择不会再次 clone。
- 用开关启用或停用整个插件;用删除按钮卸载。错误或警告数量可展开查看说明、诊断代码、能力类型与关联文件。
- 点击刷新检查各已安装插件所属 Source 的最新 revision;有更新时显示「更新」按钮,在当前进程中更新并重启该插件。
列表支持按名称、ID 或来源搜索,以及已启用、已停用、需要关注和可更新筛选。共享 Source 更新前会列出受影响插件,确认后才提交。
服务 API(供其他 DSH 插件调用)¶
其他插件可声明 export const inject = ['pluginBridge'],例如:
ctx.pluginBridge.sourceAdd(source, options?)
ctx.pluginBridge.prepareInstall(source, options?)
ctx.pluginBridge.completeInstallPreparation(preparationId, plugins)
ctx.pluginBridge.install(sourceOrSourceId, options?)
ctx.pluginBridge.enable(pluginId)
ctx.pluginBridge.disable(pluginId)
ctx.pluginBridge.uninstall(pluginId)
ctx.pluginBridge.list()
ctx.pluginBridge.checkUpdates()
ctx.pluginBridge.update(pluginId, options?)
plugins 使用对象数组,例如 [{ pluginId: 'plugin-a', parserId: 'codex' }]。completeInstallPreparation 可能返回 { kind: 'parser-selection', plugins: ParserChoiceRequest[] } 或 { kind: 'installed', result };省略 parserId 仅当存在唯一匹配时允许。Web RPC namespace 为 pluginBridgeAdmin,侧边栏 ID 与主面板 key 均为 plugin-bridge。
适用场景与注意¶
适合谁: 已在使用或打算试用 Claude Code、Codex、Agent Plugins 生态扩展,希望在 DSH 内统一管理来源、解析器选择与启停,并复用 Skill、MCP、Hook 等能力的开发者。
权限与安全: 外部插件在 DSH 进程中运行,权限与当前 profile 一致。安装前应自行审阅来源仓库的源码与许可证;市场识别与安装成功不表示第三方 Hook 或 MCP 已通过你环境下的运行验收。
操作注意: 从 0.10.0 起升级契约变化较大,勿通过编辑缓存冒充迁移。添加来源、上传归档或确认解析器前,插件桥会检查运行中 Host 的入参校验器;页面与 Host 契约不同步时应按提示完整退出重启。npm、远端 archive、command 等来源在文档中保留未适配诊断,以仓库兼容矩阵与市场发现报告为准。
结尾¶
插件桥把「旧生态插件」和 DSH 的 Source 快照、Skill Provider、MCP 子实例接在一起,用解析器选择与明确诊断代替手工改写目录。若你需要在 DSH 里安装并运行 Claude Code、Codex 或 Agent Plugins 格式的扩展,可从上述 npm 安装命令与侧边栏管理面板入手。
- 社区目录:https://www.skillhub.cn/plugins/rvaim/dsh-plugin-bridge
- 源码与文档:https://github.com/rvaim/dsh-plugin-bridge
社区插件目录为独立站点,与 DeepSeek / 幻方无官方从属关系。