前言¶
DeepSeek Harness (DSH) 采用「一切皆插件」的架构,允许用户通过扩展增强功能。在缺乏统一目录和生命周期管理工具的情况下,手动管理插件来源、权限和版本容易引入安全风险。DSH Store 是一个运行在 DSH 设置页中的第三方插件商城与安全生命周期管理器,旨在为 DSH 提供受控的插件发现、安装、更新与回滚机制。
核心功能¶
DSH Store 依托标准 DSH Bundle + Host Plugin + Client Bundle 结构,在设置页内提供以下能力:
- 插件商城:提供第三方插件浏览、权限查看和安装入口,支持 Catalog 分层索引,按页懒加载详情。
- 自动化管理:提供自动提交入口,自动读取必要文件,无需手动填写 Catalog。
- 安全守护:提供 Guardian 进程,验证 Profile 与 Boot ID,监控健康状态。Guardian 是 DSH web Profile 的唯一启动所有者。
- 精确回滚:提供安全修复器,支持 Catalog 固定 Commit 的精确回滚。
安装与启用¶
安装前需满足以下条件:目标 Profile 已启用 Web 客户端(例如 web),且本地环境安装了 Node.js ^22.19.0 或 >=24.0.0。
1. 备份配置文件¶
由于首次安装尚未运行 Guardian,没有自动备份和健康检查保护,请先手动备份目标 Profile 的以下文件:
* package.json
* pnpm-lock.yaml
* pnpm-workspace.yaml
* cordis.patch.yml(文件存在时)
2. 安装商城¶
通过 DSH 官方 CLI 使用固定 GitHub Commit 安装。不要使用浮动分支:
dsh plugin --profile web add 'git+https://github.com/AI-Scarlett/DSH-Store.git#0bc733064bfc8ff16f6e8144188a7ac563092e12'
3. 验证配置¶
运行以下命令确认配置可以成功合成:
dsh --profile web --dump-config
4. 安装 Guardian¶
在商城中使用独立计划安装随包提供的 DSH Guardian。Guardian 由 macOS launchd 在 DSH 进程外运行,负责验证心跳、启动 Host 并监控健康状态。
典型用法¶
安装完成后,所有插件操作(安装、更新、迁移、停用、启用、卸载)将进入一次性计划、精确确认、前置哈希校验、备份和失败回滚流程。
首次安装流程¶
- 执行安装命令。
- 合成配置并验收。
- 在商城中安装 Guardian。
- 确认 Guardian 心跳正常后,生成
RESTART DSH <profile>计划并重启。
安全修复¶
当商城或其他插件更新出现错误时,修复页只有在 Catalog Pin 完成后才会显示命令。此时可利用商城提供的修复器进行精确回滚。
注意事项与适用场景¶
- Commit 固定:安装时必须使用具体的 GitHub Commit ID,不要换成
main等浮动分支。 - Guardian 独占:Guardian 是唯一启动所有者,启动第二个实例会因争抢
127.0.0.1:3080而以EADDRINUSE退出。安装 Guardian 后不要再手工运行dsh web或pnpm dsh web。 - 手动操作风险:商城只展示 Catalog 固定 Commit 与 GitHub 手动命令,该操作不受商城备份和健康检查保护。
- 脚本处理:所有插件更新都会加
--ignore-scripts,只有 Catalog 明确列出的脚本才使用仅限该包的--allow-build=<package>。 - 外部目录:外部目录仅提供待审候选,不直接提供安装。
总结¶
DSH Store 为 DSH 用户提供了从插件发现到安全维护的一站式基础设施,确保了插件管理的可追溯性和安全性。