前言¶
DeepSeek Harness (DSH) 的插件化架构允许开发者扩展智能体的能力。在调试或部署智能体时,主模型生成的答案可能存在逻辑错误或遗漏,需要人工介入或第二层模型审查。dsh-second-opinion 插件为此提供了异步第二模型审查机制。它不会阻塞或延迟主模型的回复,而是在后台运行审查,并提供重新考虑的选项。
核心功能¶
该插件由 scwlkq 维护,基于 MIT 许可证开源。它主要解决智能体回答质量校验的问题,具备以下能力:
- 非阻塞审查:审查每个已提交的助手消息,不会延迟或失败主回合。
- 并发与串行控制:在一个 Session 内串行运行审查,跨 Session 并行运行。
- 双重模式:支持仅提供建议的咨询模式,以及触发主模型重新思考的有界自动重新考虑模式。
- 精确引用锚定:将评论锚定到对话中精确引用的文本;如果没有引用,则保留一般性评论。
- 状态持久化:将待处理、完成和失败的审查持久化在 Storage Domain sidecar 中。
- Web UI 交互:在 Web UI 中暴露重试、逐评论重新考虑和整体重新考虑的功能。
- 安全隔离:审查者模型没有主代理的工具,无法执行工具副作用。
安装与启用¶
安装该插件需要 DeepSeek Harness 的 Web profile。使用官方命令安装发布的 npm 包:
dsh plugin --profile web add dsh-second-opinion
安装完成后,重启 DSH Web 进程以激活插件。插件会同时加载 Host 插件和浏览器贡献。
使用方式¶
安装后,无需额外配置即可进入默认的 advisory 模式。
- 启动 DSH Web:
dsh --profile web。 - 发送一个提示词,等待主模型回复。
- 在已完成的助手消息下方,找到气泡动作并打开。
- 对话框首先显示
Review pending,随后显示审查者的裁决和评论。 - 可以将一条评论或完整的审查结果发送回主代理,触发重新考虑。
配置审查模型¶
审查者默认使用生成目标消息的提供者和模型。若要使用专用的 B 模型进行审查,需要设置环境变量:
export DSH_REVIEW_PROVIDER='<provider-id>'
export DSH_REVIEW_MODEL='<model-id>'
dsh --profile web
通过配置 cordis.patch.yml,可以进一步调整审查行为。插件读取以下环境变量:
| 环境变量 | 默认值 | 含义 |
|---|---|---|
DSH_REVIEW_MODE |
advisory |
选择 advisory(仅显示)或 auto(自动触发重新考虑)。 |
DSH_REVIEW_PROVIDER |
unset | 审查者提供者 ID。需与 DSH_REVIEW_MODEL 同时设置。 |
DSH_REVIEW_MODEL |
unset | 审查者模型 ID。需与 DSH_REVIEW_PROVIDER 同时设置。 |
在 cordis.patch.yml 中添加配置示例:
- id: second-opinion
config:
mode: advisory
provider: '<provider-id>'
model: '<model-id>'
reasoningEffort: high
maxTokens: 900
maxContextMessages: 20
autoRevisionsPerTurn: 1
reviewToolCalls: true
行为与限制¶
理解该插件的行为对于正确使用至关重要:
- 上下文限制:审查者提供者仅接收目标答案和最多
maxContextMessages条最近的可见对话消息(不包括隐藏推理)。 - 请求计数:每个被审查的助手消息增加一个模型请求。在
auto模式下,若审查结果不同意,还会增加一个主模型请求。 - 失败处理:审查者失败不会阻塞、延迟或替换主答案。无效输出会变成失败的审查,用户可以手动重试。
- 工具隔离:审查者仅接收结构化的
submit_review响应工具,无法访问主代理的可执行工具。 - 自动重新考虑限制:受
autoRevisionsPerTurn限制,且不审查插件自己的建议链,防止无限循环。 - Session 进步:如果 Session 在慢速审查完成前推进,结果仍作为建议可用,但不会注入到新任务中。
- 流式处理:审查在助手消息被提交后开始,而非在 token 流式传输期间。
- UI 限制:版本
0.1.0仅支持 Web profile 的交互式审查动作;精确引用锚点显示在对话框内,但不装饰或选择原始对话 DOM。
结语¶
dsh-second-opinion 为 DeepSeek Harness 提供了可控的第二层审查机制。它通过异步执行和有界的自动重新考虑,在不牺牲主模型响应速度的前提下,提升了答案的质量。首个版本主要针对 DSH Web profile 进行了适配。