DeepSeek Harness(DSH)Web profile 安装多个插件包后,用户常遇到三个问题:不知道插件来源、不清楚 Loader 或 Cordis 的管理归属、临时切换配置容易出错。zaogaogwc/dsh-plugin-manager 面向 DSH Web GUI 提供了一套 Mod 风格的管理界面,将分散的来源包、Loader 实例和 Agent 预设整理为可理解、可预览、可撤销的结构。
插件简介¶
zaogaogwc/dsh-plugin-manager 是一个工作流类插件,由 Zaogaogwc 维护。它遵循 MIT 许可证。插件入口位于 设置 → 插件 → 插件管理。
核心价值在于管理“是否启用”,而非伪装成“卸载”。插件文件与 npm 依赖不会因禁用而删除。它通过原子写入 ~/.dsh/cordis.patch.yml 的专属 managed 段来实现状态变更,并利用 DSH 官方的 plugin-include watcher 执行热重载。
核心功能¶
三级浏览与来源归属¶
管理器还原真实的安装来源,提供三级视图:
1. 方案或来源包:展示官方/用户 Agent 预设与已安装来源包。
2. 功能分类:按文件、终端、规划、Web、设置等用途分组。
3. 插件实例:展示实际 Loader 条目、配置状态、Cordis FiberState 和诊断信息。
安全启停与变更预览¶
- 安全策略:单个插件、分类和整包均可启停。所有批量操作必须先进入变更预览,由用户确认后执行。
- 原子写入:修改仅作用于
~/.dsh/cordis.patch.yml的 managed 段。 - 历史与撤销:保留最近 20 次变更历史,可撤销上一次管理器操作。
- 恢复默认:只清除本管理器托管的禁用项,不影响其他工具配置。
状态与诊断¶
界面区分配置、Loader、Cordis 和管理器推导状态:
- availability:live、configured、disposed 或 declared。
- configState:Loader 配置层的 enabled 或 disabled。
- fiberState:Cordis 的 pending、loading、active 等。
- status:运行中、已禁用、未运行和需要重启。
- issue:依赖缺失、加载失败等独立诊断信息。
Mod 启停方案¶
可将当前 Web profile 的第三方插件启停状态保存为具名方案(如“写作”、“开发”)。方案只记录状态,不复制文件,应用前仍显示变更预览。
Agent 预设生成¶
基于任意现有预设(官方或用户预设)创建新 Agent 预设。差量合并会保留来源预设的专有工具、配置和注释。
AI 辅助筛选¶
输入自然语言需求,AI 可生成分类或启停建议。结果只作为候选方案,用户必须进入变更预览并再次确认。AI 服务不可用时,基础功能仍可使用。
npm 来源包更新¶
对于可识别的 npm registry 第三方来源包,支持一键更新:
1. 查询最新版本。
2. 显示版本差异。
3. 备份 profile 依赖清单、锁文件和 managed 状态。
4. 调用 DSH 官方更新命令。
5. 失败时自动回滚。
6. 更新成功后标记“需要重启”。
安装与启用¶
发布到 npm 后,执行以下命令安装:
dsh plugin --profile web add @zaogaogwc/dsh-plugin-manager
dsh web
安装完成后,打开 Web UI(默认 http://127.0.0.1:3080),进入 设置 → 插件 → 插件管理。
典型用法¶
禁用插件¶
- 展开来源包,查看包简介和实际插件数量。
- 点击“禁用”,页面会自动滚动到确认区。
- 检查直接变更和依赖影响。
- 确认应用,等待 Loader 返回稳定状态。
保存和应用 Mod 方案¶
- 调整当前第三方插件启停状态。
- 在“Mod 启停方案”输入名称并保存。
- 需要切换时选择该方案并检查预览。
- 确认后由 watcher/Loader 应用。
创建新 Agent 预设¶
- 展开一个官方或用户 Agent 预设。
- 点击“以此为新预设基础”。
- 调整所需能力,填写新标识符和显示名。
- 生成并验证预设。
注意事项¶
- 权限与安全:所有会写文件、调用 AI 或执行更新的 API 都要求 loopback 请求。从 LAN 地址访问 Web UI 时,这些敏感 API 会返回
403。更新可能执行目标 npm 包允许的安装脚本。 - 禁用与卸载:禁用不会卸载、删除或改写第三方包文件。卸载必须显式执行 DSH 插件移除命令。
- 宿主组件:官方宿主组件和管理器自身不可在本界面禁用。
- 重启要求:插件启停通常由 watcher 热重载,但 npm 包更新涉及 Host 与 Client 代码一致性,完成后明确要求重启 DSH。
- 诊断限制:管理器展示当前 profile 的可观测状态,不能替代 DSH/Cordis 底层日志诊断。
结语¶
该插件通过结构化的视图和安全的变更机制,解决了 DSH Web profile 插件管理的混乱问题。适合需要精细控制插件组合、频繁切换工作场景的开发者使用。