DSH Preset Manager: In-session Switching of Agent Presets and Sub-agent Strategies

前言

在 DeepSeek Harness(DSH)桌面端里,Agent 的行为往往由「预设」决定:挂载哪些插件、注入哪些工具引导、子代理默认走哪套清单。内置预设通常固定,想在同一会话里换一套工作方式,或让子代理只能在若干预设里选,单靠改 profile 或重启并不顺手。社区插件 dsh-preset-manager(维护者 L-Shy-P,分类:工作流)面向 DSH 0.2.1 的 desktop profile(~/.dsh/profiles/desktop),把预设切换、按预设开关工具引导、子代理预设策略和预设包导入导出收到一处,并附带开箱可用的 「标准模式·加强版」 预设。

这是什么

dsh-preset-manager 是 DSH 桌面端的 Agent 预设管理插件:顶栏切换预设、按预设注入工具引导、管理子代理可用预设,并支持预设包的导入与导出。仓库在 GitHub 上为 L-Shy-P/dsh-preset-manager,社区目录页为 SkillHub 插件页。插件以 MIT 许可证发布,当前包版本为 1.0.0。

核心功能

顶栏切换与会话内生效

会话标题旁显示「预设 + 当前预设名」,悬停展开预设面板,点击即可切换。切换会保留全部对话历史,从下一轮请求起生效。切换时插件会提示:可能降低前缀缓存命中率。

设置 → 预设管理

与内置配置面板同款的表单,主要包括:

  • 总开关,以及逐预设的「工具/引导」开关;
  • 每个预设的「子代理可用」开关;
  • 「默认预设:与父代理相同」开关;关闭后可单独指定子代理默认预设;
  • 预设包的导出与导入。

模型工具与子代理策略

仅对开启了引导的预设,会挂载模型工具:list_agent_presets、set_my_preset、set_subagent_preset。

子代理预设策略会:限制子代理可选的预设;在调用方省略 agent_preset 时注入默认预设;拒绝不在允许列表里的选择(孙代理及更深层级同样生效)。

斜杠命令

  • /preset [id]:切换或列出预设;
  • /preset-export <id>:导出预设包;
  • /preset-import <base64>:导入预设包;需要强行导入时可使用 /preset-import --force <base64>。

自带预设:标准模式·加强版

预设 id 为 better-standard,order 为 2。插件清单与内置「标准模式」一致(工具指导、计划策略、AGENTS.md 摘要、技能目录、运行时上下文均保留),差异有两点:

  1. persona 换成三段自定义专家提示词;
  2. 委派工具允许通过 agent_preset 为子代理选择预设。

该预设只使用 DSH 自带插件,无需额外安装。通过插件市场安装时会随 bundle patch 写入;手动安装时由 install.mjs 追加。

安装与启用

下面介绍三种资料中写明的安装方式。安装或升级后需完全退出 DSH 再重新启动。插件在 DSH 进程权限下运行,安装前建议自行查看仓库源码与 LICENSE。

方式一:插件市场(推荐)

在 DSH「插件 → 发现 → 索引源(Index sources)」中添加索引:

https://cdn.jsdelivr.net/gh/L-Shy-P/dsh-preset-manager@main/index.json

若 jsDelivr 不可用,可改用 GitHub 原始地址:

https://raw.githubusercontent.com/L-Shy-P/dsh-preset-manager/main/index.json

之后在发现页搜索「预设管理器」或 dsh-preset-manager,安装并重启 DSH。索引版本固定到仓库 commit,安装的是本仓库本身,不是 npm 包。

方式二:离线压缩包

解压 dsh-preset-manager-1.0.0.zip 后,推荐:解压到固定位置 → 完全退出 DSH → Windows 双击 安装(双击这里).cmd(macOS/Linux 使用 node install.mjs)→ 重开 DSH。

安装器会把插件复制进 <profile>/local/dsh-preset-manager,并用 DSH 自带插件命令注册;也可将包内 dsh-preset-manager-1.0.0.tgz 或 package/ 目录交给 DSH「安装第三方插件」。用界面安装 tgz 或 package 目录时,源路径不能删除或移动;用安装脚本则复制进 profile 后可删除解压目录。

方式三:手动安装(install.mjs)

要求 Node.js 18+,且已启动过一次 DSH 桌面端以生成 profile 目录。在仓库目录执行:

node install.mjs

然后完全退出并重新启动 DeepSeek Harness。可选参数:

node install.mjs --dry-run          # 只打印计划,不写文件
node install.mjs --uninstall        # 卸载
node install.mjs --profile <name>   # 指定 profile(默认 desktop)

脚本会把插件包复制到 <profile>/local/dsh-preset-manager,注册进 dependencies 与 dsh.profile.bundles,写入前备份 package.json;自带预设由 cordis.patch.yml 插入,不依赖联网。

典型用法

  1. 切换预设:顶栏「预设 + 名称」选择目标,或发送 /preset <id>。
  2. 配置工具与引导:设置 → 预设管理。总开关关闭后,所有预设都不挂载预设管理工具,逐预设设置会保留。
  3. 子代理预设:在「子代理预设」区域勾选允许子代理使用的预设;关闭「默认预设:与父代理相同」后选择默认预设。
  4. 导入/导出预设包:设置 → 预设管理 → 预设包。导出为 JSON;导入时选择 JSON 文件,宿主把预设声明写入 profile patch 并做可用性检测,无需安装新插件。

预设本质是一份插件清单。导入的预设只能使用当前部署已安装的插件;缺失依赖会导致导入被拒绝并列出缺失项。导入前检查、导入后等待挂载;若挂载失败会自动回滚 profile patch。导入预设等同于往 profile 写入并挂载插件声明,只应使用可信来源;可用性检测不验证安全性或兼容性。

适用场景与注意

适合需要在同一会话里切换 Agent 工作模式、统一管控子代理预设范围、或在团队间分享预设包(JSON)的 DSH 桌面用户。已知限制包括:配置写入依赖 DSH 0.2.1 的 settings/config-editor 行为,大版本升级后可先执行 node install.mjs --check;预设切换仅在 Agent 空闲时进行;极简模式使用 complete persona 会丢弃其他系统提示词段,预设管理引导不会出现在极简模式下(预期行为)。

卸载时需退出 DSH,编辑 <profile>/cordis.patch.yml 删除 id 为 preset-manager 与 preset-better-standard 的条目及相关配置覆盖,删除 <profile>/node_modules/dsh-preset-manager 后重启。若通过 install.mjs 安装且未保存过设置,也可从备份 cordis.patch.yml.bak-preset-manager-* 恢复。

DSH 生态以「一切皆插件」为思路;SkillHub 等社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系,本插件通过自定义索引源或上述安装方式接入即可。

结尾

dsh-preset-manager 把预设切换、工具引导、子代理策略和预设包流转做成桌面端可操作的流程,并附带 better-standard 作为可对照的加强版标准模式。进一步了解可访问 SkillHub 目录页 与 GitHub 仓库。

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

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

Xiaoye