evo-subagent: 統一的 DeepSeek Harness 插件,用於可預測的子代理路由與項目級演進

前言

DeepSeek Harness (DSH) 的核心設計理念是“一切皆插件”,這使得生態擴展非常靈活。但在實際開發中,子代理(Subagent)的路由往往缺乏確定性,且項目級知識(如常用命令、歷史教訓)容易散落在各處,導致複用困難。

evo-subagent 是一款由 ZekaiShi 維護的 DSH 插件。它解決了上述問題:通過將穩定的代理角色映射到已註冊的提供者/模型組合,確保路由可預測;同時維護每個角色的 prefercmd.md(偏好命令)和 memory.md(記憶教訓),使知識在項目範圍內得到隔離和複用。

安裝與前置要求

在安裝之前,請確保你的環境滿足以下條件:
* DeepSeek Harness 版本:0.1.5-rc.3 或更新
* Node.js 版本:>= 24.2.0

安裝命令如下:

dsh plugin add evo-subagent

核心功能

該插件提供以下核心能力:
* 確定性路由:根據 agent_key 自動路由到同名的 Markdown 綁定文件。
* 參數驗證:在創建子代理前,嚴格校驗提供者與模型的組合。
* 知識演進:爲每個角色維護 prefercmd.md 和 memory.md 文件。
* 項目隔離:將綁定關係和演進數據隔離在各自的項目工作區中。
* 啓動模式:支持全新的 spawn 子代理和上下文感知的 fork 子代理。
* 降級機制:當沒有綁定文件時,回退到 DSH 原生的模型繼承機制。
* 零憑證存儲:插件本身不存儲 API 密鑰、端點或提供者定義。

典型用法:代理綁定與調用

在項目根目錄下創建 agents/ 目錄,併爲每個角色添加一個 Markdown 文件。文件名(不含擴展名)將作爲 agent_key。

project/
├─ agents/
│  ├─ code-reviewer.md
│  └─ researcher.md
└─ .evo_subagent/
   └─ evolution/

綁定文件必須包含嚴格的 Front Matter 塊,指定提供者和模型(需在 DSH 中已註冊,且匹配嚴格區分大小寫):

---
provider: deepseek-official
model: deepseek-v4-flash
---

# Code reviewer
Optional role notes may follow.

調用插件工具時,傳入對應的 key:

{
  "agent_key": "code-reviewer",
  "description": "Review the implementation",
  "prompt": "Report correctness, security, and test coverage issues.",
  "run_in_background": false
}

插件內置了三個角色模板:code-reviewer(嚴重性排序的代碼審查)、researcher(基於證據的調查)和 wps-worker(辦公文檔生產)。如果項目中定義了同名綁定,將覆蓋內置模板。

進階:演進知識與技能

每個項目在 .evo_subagent/evolution/<agent_key>/ 目錄下存儲角色的演進知識。

  • prefercmd.md:記錄經過驗證的命令。
  • memory.md:記錄可複用的教訓和需要避免的錯誤。

前臺子代理會收到一個知識塊,若需要返回新條目,可使用以下格式:

[[EVOLUTION]]
prefercmd:
- pnpm test
memory:
- Do not use --force in CI.
[[/EVOLUTION]]

插入條目時,可在行首添加前綴:
* !:保持最高優先級。
* ?:在上下文預算緊張時允許壓縮。

插件還隨安裝註冊了三個 DSH 兼容的技能(需確保 DSH 的技能註冊表和工具已啓用):
* /evo-route-doctor:診斷意外的路由或無效的提供者/模型對。
* /evo-memory-review:審查角色的 prefercmd.md 和 memory.md,檢查過時或衝突的知識。
* /evo-delegation-guide:選擇現有角色並準備一個範圍化的子代理任務。

路由行爲

插件的路由邏輯遵循以下步驟:
1. 安全解析 <agent_key>.md。
2. 解析其 fenced 的 provider 和 model 字段。
3. 在實時模型註冊表中驗證這兩個值。
4. 通過選定的 spawn 或 fork 提供者啓動子代理。

如果綁定無效,子代理在創建前就會失敗。如果缺少綁定,則保留原生 DSH 繼承,除非內置模板匹配。

注意事項

  • 插件以當前 DSH 進程的權限運行,安裝前建議檢查源碼與許可證。
  • 提供者和模型必須已經在 DSH 中註冊(精確且區分大小寫的匹配)。
  • 舊版 .smart_subagent/evolution 數據作爲只讀後備方案保留,並在下次保存時複製到新位置。

總結

evo-subagent 通過將代理角色、路由邏輯與項目級知識演進解耦,爲 DSH 提供了一種結構化管理子代理的方式。無論是通過命令行插件安裝,還是集成到現有工作流中,它都能幫助開發者保持子代理行爲的可預測性。

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

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

小夜