前言¶
DeepSeek Harness (DSH) 的生态定位是“一切皆插件”。在开发或调试工作流时,若需在同一会话中验证不同 Agent Preset 的表现,通常需要重启会话或重新初始化。dsh-preset-switch 插件通过提供会话内的预设切换能力,解决了这一流程中断的问题,允许用户在运行中的会话中动态调整智能体配置。
插件简介¶
该插件由开发者 aorucshiea 维护,旨在为 DSH 提供可选的会话内智能体预设切换功能。它不改变 DSH 的核心架构,而是通过扩展命令和 HTTP 接口,绕过官方对空白会话预设的锁定限制,实现灵活的运行时配置变更。
核心功能¶
- Slash-menu 交互:在浏览器端输入
/preset时,会弹出一个带搜索功能的二级菜单,支持直接鼠标选择预设,无需手动输入 ID。 - 键盘快捷键:除了菜单选择,支持通过
/preset <number>直接通过序号切换,作为菜单模式的键盘备选方案。 - 开关控制:提供
/preset-toggle on|off命令,用于全局启用或禁用预设切换功能。 - HTTP 端点:提供 HTTP 接口,便于开发者将其集成到自定义的 UI 界面中。
- 绕过锁定:插件能够绕过官方的 blank-session 锁定机制,允许在非空白会话中执行切换,但系统会显示警告以提示潜在的工具调用不兼容问题。
安装与启用¶
安装该插件需要使用 --profile web 参数,确保环境匹配。执行以下命令即可完成安装:
dsh plugin --profile web add github:aorucshiea/dsh-preset-switch
安装完成后,插件会随 DSH 进程启动,默认处于启用状态。
典型用法¶
插件安装并生效后,可通过以下命令进行操作:
/preset # 查看当前预设列表及编号菜单
/preset <id> # 在空白会话中切换到指定 ID 的预设
/preset <number> # 通过菜单序号切换预设(等同于 <id>)
/preset-toggle on|off # 启用或禁用该命令功能
适用场景与注意¶
- 适用场景:适合需要在同一次会话中快速测试不同角色、不同工具链配置的开发者,或需要在运行中动态调整 Agent 行为的场景。
- 权限与安全:插件以当前 DSH 进程的权限运行,请确保安装的源码来源可信。
- 兼容性提示:由于插件绕过了官方的 blank-session 锁定,切换时系统会显示警告,提示旧的工具调用可能与新预设不匹配。在切换前请确认当前上下文是否允许这种变更。
结语¶
dsh-preset-switch 提供了一种轻量级的方案,让 DeepSeek Harness 的会话管理更加灵活。该插件不存储任何 API 密钥或凭证。更多细节请参考项目仓库或 DSH 插件目录。