DeepSeek Harness 采用“一切皆插件”的设计理念。在本地调试或开发过程中,开发者通常会积累多个自定义 Agent 预设。当预设数量较多时,官方默认的预设选择器容易造成视觉杂乱,筛选效率下降。dsh-presets-hidden 插件旨在解决这一 UI 侧的痛点,通过浏览器端接管预设选择器的渲染逻辑,提供精细化的显示与排序控制。
核心能力¶
该插件主要在浏览器端提供预设管理功能,具体包括:
- 管理入口:在“设置 -> 预设显示”中提供搜索、显隐筛选、逐项开关和顺序调整。
- 替换选择器:用处理后的名单替换新会话页的 Agent 预设选择器。
- 持久化配置:
- 在 loopback 页面上,显隐名单与排序作为插件 Config 的 volatile 字段写入当前 profile 的
cordis.patch.yml(条目 idpreset-visibility)。 - 非 loopback 页面仍使用当前浏览器的
localStorage,键名为dsh.presets-hidden.visibility.v1。
- 在 loopback 页面上,显隐名单与排序作为插件 Config 的 volatile 字段写入当前 profile 的
- 数据迁移:旧数据自动迁移(仅在 profile 尚未保存这两个字段时进行一次)。
安装与启用¶
发布到 npm 后,可通过 DSH 插件机制直接安装:
dsh plugin --profile web add dsh-presets-hidden
安装后,插件会自动生效。编辑入口在“设置 → 预设显示”。
版本兼容性¶
使用前需注意版本对应关系:
- 0.2.x 需要安装
deepseek-harness0.1.7-rc.1 及以上版本。 - 0.2.1 起同时适配 0.1.7-rc.2。
- 0.2.2 起
peerDependencies覆盖 0.1.7-rc.1 与 0.2.0-rc.1,因此 DSH 0.2.0-rc.x 不再把本插件判为不兼容。
行为边界¶
- 显示逻辑:与官方选择器保持一致。当开发者工具关闭,或 Host 仍发布“新任务可选择模式”策略并将其关闭时,新会话页不显示预设控件,使用 Host 默认预设。
- 排序规则:
- 上移和下移针对完整名单;搜索或显隐筛选生效时,排序按钮会禁用。
- 新出现的自定义预设自动追加到现有顺序末尾。
- “恢复默认顺序”回到 Host roster 顺序。
- 适用范围:只处理新会话页的预设选择器。官方“Agent 预设”管理页、会话标题、旧会话恢复、直接 API 调用和插件诊断仍使用完整名单。
- 异常处理:
- 隐藏当前空白会话所选预设时,插件会通过官方选择 API 切换到首个可见预设。
- 隐藏全部预设时,新会话页不显示预设控件,Host 默认预设仍然生效。
结语¶
dsh-presets-hidden 是一个轻量级的 UI 增强插件,专注于提升 DeepSeek Harness 中预设管理的可控性。通过精细的显隐与排序功能,开发者可以更专注于 Agent 本身的逻辑实现,而非在杂乱的列表中寻找目标。