前言¶
寫代碼的 agent 有個常見毛病:明明一個函數能解決的事,它會搭一層抽象、加一套配置、再補一段用不上的錯誤處理。想約束這種行爲,常見做法是往系統提示裏塞一段「請遵循 YAGNI」,效果因模型而異,而且每換一個 profile 都要重寫一遍。
dsh-ponytail 走的是另一條路。DSH(DeepSeek Harness)的理念是「一切皆插件」,這個插件把 ponytail 的「最懶資深工程師」代碼風格做成 6 個隨包分發的技能,向技能註冊表註冊後即可使用,不需要用戶寫任何配置。下面介紹它的功能、安裝方式和工作原理。
這是什麼¶
一句話定位:dsh-ponytail(npm 包名 dsh-ponytail-skills)是一個把 DietrichGebert/ponytail 移植到 DeepSeek Harness Cordis 插件架構的技能插件,當前版本 0.1.3,許可證 MIT,維護者爲 gongyijie85。
需要說明的是,這是非官方移植:技能內容改編自上游 ponytail(MIT,© DietrichGebert),DSH 移植部分 © gongyijie85。技能文件與上游完全一致(verbatim),argument-hint、license 等元數據原樣透傳。
六個技能¶
插件向 ctx.skills 註冊表的 host 層註冊技能提供者,6 個技能隨包分發,位於 skills/<name>/SKILL.md:
| 技能 | 用途 |
|---|---|
ponytail |
核心模式:強制「最懶但能用的方案」,YAGNI → stdlib → 原生 → 一行 → 最小代碼,支持 lite / full(默認)/ ultra 三檔強度 |
ponytail-review |
只針對過度工程的代碼評審,每行一個發現(位置、刪什麼、用什麼替代) |
ponytail-audit |
全倉庫過度工程審計(ponytail-review 的倉庫版),排序輸出「最大削減優先」 |
ponytail-debt |
把代碼裏所有 ponytail: 註釋收進債務臺賬,延遲不爛尾 |
ponytail-gain |
展示 ponytail 的實測收益記分牌(基準中位數) |
ponytail-help |
全部模式/技能/命令的速查卡 |
全部技能對模型和用戶都可調用(上游未設 disable-model-invocation)。
安裝與啓用¶
支持的 DSH 版本爲 >=0.1.1-rc.2(已在上線版本驗證,兼容更高版本)。npm 包名 dsh-ponytail 已被同名項目佔用,所以本包發佈爲 dsh-ponytail-skills。三種安裝方式:
# npm
dsh plugin --profile web add dsh-ponytail-skills
# GitHub
dsh plugin --profile web add github:gongyijie85/dsh-ponytail
# 本地開發
dsh plugin --profile web add D:\plugins\dsh-ponytail
裝完重啓 profile(dsh web),技能即可用 skill 工具加載。整個插件零運行時依賴,只使用 Node 內置模塊。
工作原理¶
插件分兩層:
1、Bundle 層:cordis.patch.yml 在 dsh-base 層插入插件行,後續層可按 id 定位。
2、提供者:lib/index.js 調用 ctx.skills.registerProvider(...),掃描 skills/ 目錄,從 YAML frontmatter 解析 name / description 並返回完整技能定義,resourceBase 指向技能目錄。
值得一提的細節是,上游技能文件使用了 description: > 摺疊多行 frontmatter,提供者按 YAML 語義以單空格連接解析摺疊標量,因此技能內容不需要任何改寫就能原樣使用。
典型用法¶
裝好後對 agent 說「用 ponytail 模式寫這段代碼」,或者讓模型在編碼時自動採用。模式的優先級順序是:
YAGNI → 複用現有代碼 → 標準庫 → 原生平臺能力 → 一行 → 最小代碼
強度分三檔:lite / full(默認)/ ultra。退出時說 “stop ponytail” 即可。
適用場景與注意事項¶
適合兩類場景:一是在 DSH 上做編碼任務、希望默認輸出精簡實現的開發者;二是想清理存量代碼的過度工程,可以用 ponytail-review 和 ponytail-audit 分別按行、按倉庫兩個粒度掃一遍。
安裝前請注意:
- 插件以當前 dsh 進程的權限運行,建議先檢查源碼與許可證再安裝。
- 這是非官方移植,許可證爲 MIT:技能內容 © DietrichGebert,DSH 移植 © gongyijie85,細節見倉庫的 LICENSE 文件。
小結¶
dsh-ponytail 做的事情不復雜:把一套已經成型的「最懶資深工程師」風格,按 DSH 的插件機制裝進 ctx.skills 的 host 層。六個技能覆蓋了寫代碼、評審、審計、債務記錄幾類場景,零運行時依賴,裝上重啓 profile 即用。
- 社區目錄頁(獨立站點,與 DeepSeek / 幻方無官方從屬關係):https://www.skillhub.cn/plugins/gongyijie85/dsh-ponytail
- GitHub 倉庫:https://github.com/gongyijie85/dsh-ponytail