前言¶
DeepSeek Harness (DSH) 的核心理念是“一切皆插件”。在實際開發中,智能體容易陷入過度設計的陷阱,導致代碼冗餘或調試困難。dsh-ponytail 是一個適配到 DSH 的插件,它將 DietrichGebert/ponytail 的極簡編碼原則引入 DSH 的工作流。
該插件爲 DSH 提供了一套結構化的“懶惰 senior dev”規則集,支持會話級模式切換,並包含用於代碼精簡、審查和審計的一組技能。
安裝¶
該插件依賴 @deepseek-ai/cordis (4.0.1) 和 @deepseek-ai/schemastery (3.18.x),兼容 Node.js 22.x / 24.x。安裝時需要指定一個 Profile(例如 web、tui 或自定義名稱)。
使用官方倉庫安裝:
dsh plugin --profile web add github:MengYuil/dsh-ponytail
安裝完成後,重啓該 Profile(dsh web 或 dsh tui)即可生效。
核心模式¶
插件通過 /ponytail 命令注入結構化的規則集。核心模式分爲以下幾種檔位,它們的區別在於規則語義,而非僅僅是 Prompt 片段的替換:
- Common(所有非 off 檔位共享):將請求轉化爲可觀察的完成條件,沿真實調用流取證,執行“檢查 → 修改 → 最窄有效驗證 → 檢查最終 diff”的閉環,非平凡邏輯只留最小可執行檢查。
- Safety(任何檔位都不可刪):包含輸入校驗、防數據丟失的錯誤處理、安全措施、無障礙要求及明確驗收項。
- lite:減少儀式感,直接執行,完整交付明確要求,不挑戰明確需求。
- full(默認):完整執行七級決策階梯(YAGNI → 複用 → 標準庫 → 原生 → 已裝依賴 → 一行 → 最小實現),默認選擇最短正確實現。
- ultra:新增代碼前先求證,優先刪除或複用,主動質疑投機性功能,複雜需求先給最小正確版。
- off:完全不注入規則。
這些模式是會話級的,A 會話的模式設置不影響 B 會話。
常用命令¶
/ponytail lite|full|ultra|off:顯式切換當前會話模式。/ponytail:查看當前模式狀態。若當前爲 off,會自動恢復到有效默認檔(默認爲 full)。/ponytail status:查詢當前模式,顯示該模式是來自會話覆蓋還是配置默認值。/ponytail reset:清除當前會話的覆蓋設置,重新跟隨有效配置。
一次性技能¶
以下技能爲一次性觸發,不會進入常駐 Prompt,用完即止:
/ponytail-help:顯示參考卡。/ponytail-review:針對最近改動進行審查,指出過度工程及位置。/ponytail-audit:對全倉庫進行過度工程審計,返回高價值發現。/ponytail-debt:收割代碼中的ponytail:註釋,生成債務賬本。/ponytail-gain:顯示參考計分板(代碼減少、Token/成本/延遲效果取決於模型與任務,非插件保證)。
停用與恢復¶
隨時可以通過以下命令停用模式:
stop ponytailnormal mode停止 ponytail關閉 ponytail普通模式正常模式
恢復時只需發送 /ponytail。
配置¶
插件支持通過環境變量、Profile 配置或用戶配置文件來設置默認模式。默認模式優先級如下:
會話 override > PONYTAIL_DEFAULT_MODE 環境變量 > Profile cordis.patch.yml 配置 > 用戶 config.json > full
Profile 級配置¶
在 Profile 的 cordis.patch.yml 中配置 defaultMode,例如:
- insert:
- id: ponytail
name: '@mengyuly/dsh-ponytail'
config:
defaultMode: lite
修改 Profile 配置後需要重啓該 Profile 才能生效。
用戶級配置¶
在 ~/.config/ponytail/config.json(Windows 爲 %APPDATA%\ponytail\config.json)中設置:
{
"defaultMode": "lite"
}
用戶配置支持熱更新(約 1 秒輪詢),非法值不會導致插件崩潰。
依賴與兼容性¶
- 運行時依賴:
@deepseek-ai/cordis(4.0.1)@deepseek-ai/schemastery(3.18.x)
- 環境要求:
- Node.js 22.x / 24.x
- DeepSeek Harness (commit
b150a551構建)
- 兼容性:
webprofile 已驗證。tui和headlessprofile 未完整驗證。
注意事項¶
- 效率收益有條件:插件通過增加 Prompt 體積來減少過度設計,但其收益取決於具體任務。當任務本身已很簡單時,收益可能接近零,甚至出現額外輸入開銷。它不是“省 Token 開關”,也不保證跨模型的成本節省。
- 發行包結構:npm 發行包不包含
scripts/目錄,不提供維護腳本入口。 - 錯誤處理:配置錯誤(如非法 JSON、非法
defaultMode)只會告警一次,不會刷屏。 - 父子代理:DSH 的
subagent工具是隔離派生,但全局 system-prompt 仍會參與組裝。插件通過PONYTAIL_SUBAGENT_MATCHER正則匹配篩選子代理,不宣稱父子 Prompt 繼承。