DeepSeek Harness 插件集合

前言

DeepSeek Harness(DSH)的架构强调模块化和可扩展性。当需要在开发环境中集成多个独立插件时,开发者通常面临配置繁琐、依赖冲突以及维护成本高的问题。dsh-plugins 仓库提供了一个主入口,将一系列独立维护的插件聚合管理,并提供了统一的安装和配置机制。

仓库定位

dsh-plugins 是 DeepSeek Harness 插件的主仓库,由用户 leonardoxr 维护。它协调一个包含多种功能的插件集合,旨在解决开发者在使用 DSH 时遇到的工具链割裂问题。

核心功能

该仓库包含以下核心能力:

  1. 聊天标题与配置:提供语义化、可配置的聊天标题(通过 dsh-auto-chat-titles)。
  2. 侧边栏与扩展:提供侧边栏工作台和扩展 API(通过 dsh-better-sidebar)。
  3. 使用统计:提供 Claude/Codex 使用界面以及对话统计行(通过 dsh-claude-usage, dsh-codex-usage, dsh-status-bar-config)。
  4. 编码工具:提供 LSP、ast-grep 和版本化编辑工具(通过 dsh-coding-tools)。
  5. 更新检测:提供 Claude Code / Codex CLI 的更新检测和一键更新功能(通过 dsh-harness-updater)。
  6. 交互与预览:支持内联图片预览、剪贴板复制、配置文件插件管理(通过 dsh-image-preview, dsh-plugin-manager)。
  7. 工作区集成:提供只读工作区/会话 API、通知功能以及工作区 Git 集成(通过 dsh-companion, dsh-workspace-git)。
  8. 移动端支持:提供 DSH web 服务器的原生桌面和移动外壳(通过 dsh-native)。
  9. 代理委派:支持复杂路由的子代理委派(通过 dsh-routed-subagent)。

安装与启用

仓库提供了 dsh-all-in-one 聚合包,可以通过一条命令安装所有插件。

dsh plugin --profile <name> add dsh-all-in-one

也可以使用 GitHub Release 的 tarball 直接挂载特定版本:

dsh plugin --profile <name> add https://github.com/leonardoxr/dsh-plugins/releases/download/v<version>/dsh-all-in-one-<version>.tgz

典型用法

1. 侧边栏扩展开发

如果使用 dsh-better-sidebar 插件,插件宿主代码需要注入服务并注册视图。示例代码如下:

inject = ['betterSidebar'];

// 注册逻辑建议包裹在 ctx.effect() 中以确保 HMR 安全
ctx.effect(() => {
  ctx.betterSidebar.registerTab({
    id: 'my-plugin-tab',
    title: 'My Tab',
    view: MyViewComponent
  });

  return () => {
    ctx.betterSidebar.unregisterTab('my-plugin-tab');
  };
});

2. 插件管理

使用 dsh-plugin-manager 可以通过配置文件对已挂载的插件进行管理。

3. Git 集成

dsh-workspace-git 插件提供工作区级别的 Git 操作支持。

注意事项

  1. 安装冲突:插件通过 cordis.patch.yml 机制挂载。切勿同时挂载独立捆绑包和聚合套件,这会导致启动失败(报错 “duplicate loader entry id”)。
  2. 退出选择:每个插件的退出选择在聚合中会被保留。
  3. 历史隔离:此仓库协调插件集合,但不合并它们的历史。插件目录是独立的 Git 仓库,可以使用 git -C <plugin> 进行操作。
  4. 开发规范:代码更改需遵循每个插件的贡献规则;仅文档的集合更改可以在此进行。
  5. 运行权限:插件以当前 DSH 进程权限运行,安装前应检查源码与许可证。

总结

dsh-plugins 仓库通过子模块和聚合包的形式,为 DeepSeek Harness 用户提供了一套标准化的工具集。它将分散的功能整合,降低了配置难度,同时保持了各插件的独立开发和维护能力。

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

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

小夜