harness-self-evolution-plugin
Manifest valid★ 3DeepSeek Harness 全盘自进化升级插件:启动扫描全部插件、实时监控性能、基于信号生成进化提案、Sub-Agent 协同完成升级。MCP Server,13 个工具。v2.5.0 MoonBit native。
Harness Self-Evolution Plugin
A MoonBit-native plugin that scans, monitors, proposes, and rolls back evolutions for the DeepSeek Harness (DSH) plugin ecosystem. Version 3.1.0. MIT.
This plugin targets DeepSeek Harness. Deployment hinges on how DSH launches the binary, where data is read and written, and which files (patches, manifests, panels) sit alongside the binary.
Where your data lives
DSH resolves its home via $DSH_HOME (~/.dsh by default; a managed launcher may point it
elsewhere). The plugin mirrors that: user-scope sub-agent definitions land under
<DSH home>/skills/. Full install, verification, and rollback:
docs/deploy/deepseek-harness.md.
Since v3.0.0 the plugin is DSH-only: the earlier claim of MiniMax Code compatibility was a over-declaration (DSH's own source has no such host concept) and has been removed.
If you are writing or debugging a DSH plugin rather than deploying this one, read docs/dsh-plugin-integration.md: the host-half / client-half contract, the Lazy-CJS client bundle rule (one stray top-level export breaks every plugin in the combo), DSH_HOME routing, and the diagnosis order for "Failed to load plugins".
What it does
- Scan installed plugins across the configured scan roots for the active host
- Monitor call latency, success rate, token usage, retry count, and user feedback
- Identify strong signals (user override, three consecutive failures, > 20% latency regression) and medium signals (repeated parameter misuses, loop detection, repeated preferences)
- Propose benchmark-driven evolutions bound to Matt Pocock engineering principles
- Approve is always a human step.
auto_approveisfalseby default and staysfalse— the only gate against "code changes itself into a wall" - Execute with state machine
pending → approved → executing → completed, with deterministic rollback from a verified snapshot on validator failure - Sub-agent factory persists Markdown + YAML frontmatter definitions; scope
pluginlives under the plugin's data root, scopeuserlives under<DSH home>/skills/(see the deploy guide)
Architecture in one paragraph
The compiled binary (bin/harness-evolution.exe) is a stdio MCP server exposing fourteen tools. The DSH
home resolves in src/store/paths.mbt::dsh_home: $DSH_HOME when set, else derived from the plugin's own
install path (<X>/profiles/<name>/node_modules/...), else ~/.dsh. The user-scope directory is
<DSH home>/skills (HARNESS_EVOLUTION_USER_DIR overrides it), and the default scan roots follow the same
resolved home (src/scanner/scanner.mbt::default_scan_roots). Since v3.0.0 the multi-host abstraction is
gone — DSH is the only target.
See docs/code-architecture.md for the path-resolution detail.
Build
.\build.ps1 -Task all # check + test + build; one command rebuilds the binary
Build prerequisites: MoonBit >=0.1.20260904, MSVC or Clang on Linux/macOS. The current binary in bin/harness-evolution.exe is Windows-native; rebuilding on the target platform produces a native binary for that platform.
Data and configuration
The plugin stores proposals, metrics, signals, cache, and execution log under $HARNESS_EVOLUTION_HOME (default ~/.harness-evolution/v2/). Override with the env var to keep dev/test data separate.
Configuration is read in this order, first file that exists wins:
$HARNESS_EVOLUTION_CONFIG(explicit override)<cwd>/.dsh-plugin/plugin.json(self-manifest).dsh-plugin/plugin.json(relative to plugin root)
If none exist the plugin starts with built-in defaults — missing config is not a startup failure.
Breaking change (unreleased v2.7.0): the legacy
<cwd>/.zcode-plugin/plugin.jsonfallback is no longer read. A deployed instance that still carries that file must rename it to.dsh-plugin/plugin.json— the contents need no change.
Installing into the right tree (DSH_HOME)
Installing is per DSH tree: dsh plugin add writes into $DSH_HOME/profiles/<name>, and $DSH_HOME
decides which tree boots (~/.dsh by default — a managed launcher may point it somewhere else). Trees
share nothing: bundles, node_modules, sessions, and skills are all per-tree, so an install verified in
one tree stays invisible to a host booting another.
Since v3.1 the shipped mount row is disabled: true and carries no machine path — a literal path for
one machine would point at a missing file everywhere else, and failOnStartupError: true would then abort
the whole profile boot. The row is written per tree at install time:
# resolves $DSH_HOME (or ~/.dsh), installs the bundle, and injects the mount row
# into that tree's profile patch layer; add -DryRun to inspect first
pwsh -File scripts/install-dsh.ps1 -Profile web
# then verify statically (no boot needed)
dsh --profile web --dump-config | Select-String 'mcp-harness-evolution'
dsh.profile.bundles and the patch layers are read at boot, so the host must be restarted before
the fourteen mcp__harness-evolution__* tools appear in a session. The plugin additionally derives its
own tree from the install path, so create_sub_agent scope=user lands in <DSH home>/skills/ even if
env.DSH_HOME were left unset.
Full install, verification, and rollback: docs/deploy/deepseek-harness.md;
the live-install practice (multi-home reality, .dsh-module-fallback pitfalls):
docs/dsh-compatibility.md.
License
MIT. See LICENSE.
Comments
Loading…
Similar plugins
by ZK-Andy
Continual self-evolution plugin for DeepSeek Harness: versioned, auditable, rollback-safe harness state refined from session trajectories, with a benchmark-driven validation loop.
★ 18
MIT
TypeScript
Sep 4, 2026
dsh plugin --profile web add dsh-continual-evolveby alex04130
DeepSeek Harness 扩展套件:运行时注入器、子代理派发与模型路由策略、插件市场/技能/插件管理面板、浏览器桥与 MCP 集成。
★ 6
↓ 12/wk
MIT
JavaScript
Sep 7, 2026
dsh plugin --profile web add dsh-forgeby Ericwong5021
DeepSeek Harness 独立社区插件商店:发现、安装并提交经过验证的插件、工具与扩展。 | Independent community plugin directory.
★ 24
CC0-1.0
JavaScript
Sep 20, 2026
dsh plugin --profile web add deepseek-plugin-storeby csyangwen
为 DeepSeek Harness 带来「跨会话长期记忆 + 后台自我进化」能力的纯插件实现:五轨记忆 · git 分支感知 · 回合内自我审查 · 技能自我进化与技能管理器 · 四轨待办 · COI 调度 · 会话广播 · 会话搜索 · 提示词管理器 · 临时信息便签——零核心修改、零运行时依赖,随装随用、卸载即净。
★ 323
MIT
JavaScript
Sep 15, 2026
dsh plugin --profile web add dsh-memory-evolveby a1113622001
DeepSeek Harness (cordis) plugin: self-update for the harness launcher - checks npm for a newer @deepseek-ai/dsh, stages it, and applies it on harness exit (or update-and-restart from the web panel).
★ 3
MIT
JavaScript
Aug 22, 2026
dsh plugin --profile web add dsh-auto-updateby liqichen
DSH 插件管理器:在 DeepSeek Harness 设置面板内嵌 GUI,管理 MCP 服务 / Skills / 内置插件包,改动热生效无需重启
★ 16
MIT
JavaScript
Aug 14, 2026
dsh plugin --profile web add dsh-plugin-manager