前言¶
DeepSeek Harness (DSH) 的核心理念是「一切皆插件」。随着插件生态的扩展,如何在不中断工作流的前提下,监控插件表现、识别性能退化或逻辑问题,并安全地执行迭代,成为维护 DSH 环境的难点。现有的手动维护方式效率低下且容易遗漏关键信号。为了解决这一问题,我们需要一个能够主动扫描、监控并提出改进建议的工具。
插件定位¶
Harness Self-Evolution Plugin 是一个基于 MoonBit 原生编写的 DSH 插件。它负责对已安装的 DSH 插件进行扫描、监控,并基于基准测试提出符合工程原则的演进方案,最终由人工审核后执行。
- 项目名称:Harness Self-Evolution Plugin
- 维护者:Across2005
- 开源协议:MIT
- 定位:工作流
核心功能¶
该插件通过一套自动化流程管理 DSH 插件的生命周期演进:
-
扫描与监控
在配置的扫描根目录下扫描当前主机安装的所有插件,并持续监控调用延迟、成功率、Token 使用量、重试次数以及用户反馈。 -
信号识别
插件会识别两类信号来触发演进请求:- 强信号:用户手动覆盖、连续三次失败、延迟回退超过 20%。
- 中信号:参数误用重复出现、检测到循环、偏好记录重复。
-
方案提案与执行
- 提案:基于基准测试提出演进方案,方案需符合 Matt Pocock 的工程原则。
- 执行状态机:执行流程遵循
pending -> approved -> executing -> completed的状态流转。 - 安全机制:默认关闭自动批准(
auto_approve: false),执行阶段在事务性沙箱适配器存在前保持 fail-closed 策略。
-
子代理工厂
支持持久化存储 Markdown 和 YAML Frontmatter 定义的子代理,其作用域分为plugin(插件数据根目录)和user(用户级技能目录)。
安装与启用¶
安装是按 DSH 树进行的。安装完成后,需要重启 DSH 进程以加载工具。
- 执行安装脚本。以
web配置文件为例:
pwsh -File scripts/install-dsh.ps1 -Profile web
- 验证安装是否成功。检查配置中是否包含该插件:
dsh --profile web --dump-config | Select-String 'mcp-harness-evolution'
典型用法¶
在安装并重启 DSH 后,可以通过环境变量覆盖默认的数据存储和配置文件位置:
- 覆盖存储位置:
使用$HARNESS_EVOLUTION_HOME环境变量指定插件数据目录。 - 覆盖配置文件位置:
使用$HARNESS_EVOLUTION_CONFIG环境变量指定配置文件路径。
注意事项¶
- DSH 独占兼容性:自 v3.0.0 起,插件已移除 MiniMax Code 兼容性,仅支持 DSH。
- 安装隔离性:插件安装是针对特定 DSH 树(
$DSH_HOME)的,不同 DSH 树之间互不干扰。dsh plugin add会将文件写入$DSH_HOME/profiles/<name>。 - 启动行为:
failOnStartupError: true不会中止配置文件启动,只会标记该插件为可选(optional)并记录警告。 - 配置文件变更:自 v2.7.0(未发布版本)起,不再读取旧的
<cwd>/.zcode-plugin/plugin.json回退文件。 - 默认配置:插件默认不开启自动批准,执行失败会返回
pending状态。
总结¶
Harness Self-Evolution Plugin 为 DSH 插件生态提供了一个从监控到执行的完整闭环。它通过基准驱动的提案和严格的人工审核机制,确保了插件演进的稳定性与安全性。
- 文档目录:https://www.skillhub.cn/plugins/Across2005/harness-self-evolution-plugin
- 源码仓库:https://github.com/Across2005/harness-self-evolution-plugin