前言¶
DeepSeek Harness (DSH) 的核心设计理念是“一切皆插件”。在多终端环境下,手动维护统一的插件列表配置(包括依赖版本和用户补丁设置)效率低下且容易出错。dsh-plugin-list-sync 插件通过 S3 兼容的对象存储(AWS S3、MinIO、Cloudflare R2 等)来同步 DSH 客户端的 plugin-list 配置,支持预览差异、上传、下载、回滚等操作,为多端开发与使用提供了统一的配置管理方案。
插件简介¶
该插件由开发者 smellgamed3 维护,分类为联网工具。它将 DSH 配置文件(package.json 和 cordis.patch.yml)存储在 S3 兼容存储中,实现多端配置的一致性与安全性。
核心功能¶
- 合并同步:默认采用合并策略。上传时保留远程已有的插件,下载时保留本地已有的插件,互不覆盖。
- 快照机制:所有写入操作前会自动截取快照,支持一键回滚到任意历史快照。
- 安全防护:官方
@deepseek-ai/*组件默认不参与同步,防止 peer-dependency 破坏;LLM 提供商配置默认排除。 - 强制覆盖:提供显式的、一次性的强制覆盖选项,需双确认且不持久化。
- 半自动同步:支持防抖上传和远程检查,但不会自动安装/移除插件,需人工确认。
安装与配置¶
通过以下命令安装插件:
dsh plugin add smellgamed3/dsh-plugin-list-sync
安装后,在 DSH Web UI 的“设置 -> 插件同步”中配置 S3 端点、区域、存储桶及凭证。
- S3 端点:如
https://s3.amazonaws.com或http://127.0.0.1:9000(MinIO/RustFS)。 - 区域:AWS 真实区域;
auto可用于 MinIO/RustFS。 - 凭证:凭证不会写入配置文件或清单,仅保存在本地。可通过 Web UI 的 AccessKey/SecretKey 字段保存,或使用环境变量
DSH_PLUGIN_SYNC_S3_KEY/DSH_PLUGIN_SYNC_S3_SECRET。
使用方法¶
Web UI 操作¶
在 DSH Web UI 的“设置 -> 插件同步”页面中,可执行以下操作:
* 预览 diff:Dry-run 检查远程 manifest 的差异。
* 上传当前列表:将本地配置合并上传。
* 下载并应用:从远程合并下载配置。
* 回滚:恢复最新的快照。
命令行操作¶
在 DSH 聊天界面,可使用以下命令:
/plugin-sync status
/plugin-sync upload
/plugin-sync diff
/plugin-sync pull
/plugin-sync rollback [snapshot-id]
强制覆盖(危险操作)¶
强制覆盖是显式的、单次操作且不持久化的选项。在设置页面底部,有两个独立开关:
* Force overwrite remote:上传将替换远程 manifest,移除远程独有插件。
* Force overwrite local:应用将镜像远程 manifest,移除本地独有插件。
该操作需要双确认,且仅在单次操作中生效,操作后自动重置。官方组件(@deepseek-ai/*)和 LLM 配置在强制覆盖下仍会被保留。
注意事项¶
- 官方组件保护:官方
@deepseek-ai/*组件永不同步,以避免依赖冲突。 - 配置隔离:LLM provider 配置默认不参与同步,避免泄露敏感信息。
- 安全模型:所有写入操作前都会生成快照;远程 manifest 在应用前会进行严格的格式校验。
总结¶
该插件为多环境 DSH 开发提供了配置管理的标准方案,通过 S3 兼容存储实现了配置的集中存储与安全同步。
- 插件目录:SkillHub 插件目录
- 源码地址:GitHub 仓库