dsh-ponytail-58fly:在 DSH 裏用檔位化的「少寫代碼」決策階梯

前言

在 DSH 裏做智能體輔助開發時,模型往往傾向於直接動手寫新代碼、加新依賴。倉庫裏已有實現、標準庫能力、一行能寫清的邏輯,經常被跳過。要系統性壓住這種衝動,單靠會話裏臨時叮囑不夠穩定,也不便於在團隊內統一強度。

下面介紹維護者 58fly 發佈的 DSH 工作流插件 dsh-ponytail-58fly(npm 包名同爲 dsh-ponytail-58fly)。它在系統提示裏掛載一道固定的六步決策階梯,並通過 off / lite / full / ultra 四檔控制約束強度;同時提供六個斜槓技能與可選設置面板。規則思想參考上游 DietrichGebert/ponytail(MIT),實現與技能正文爲本倉原創。插件在 SkillHub 目錄 歸類爲「工作流」;社區目錄爲獨立站點,與 DeepSeek / 幻方無官方從屬關係。

這是什麼

dsh-ponytail-58fly 是面向 DeepSeek Harness(DSH)0.2.x 的自維護 lazy-mode(ponytail)插件:檔位分級引導、與代碼圍欄相關的提示過濾、六份技能目錄,以及 Web 端設置頁中的「Ponytail 檔位」配置。運行時依賴爲零,技能由宿主註冊表從包內 skills/ 讀取。

宿主版本由 engines.dsh 閘門約束,裝錯版本會直接裝不上,不會靜默降級運行。

核心功能

六步決策階梯

階梯進入 system prompt 的固定段,僅在會話創建時渲染一次;切換檔位通過尾部 system-reminder 注入完整指令,不會讓整個提示詞前綴失效(有利於 KV cache)。

動手寫代碼前,模型按順序過六道問:

# 先問 命中就用
1 這東西需要存在嗎? 不需要就跳過,一行說明省了什麼
2 倉庫裏已經有了? 照周圍的用法用它
3 標準庫或平臺原生特性? 用原生,除非項目自己有約定
4 已裝的依賴裏有? 用,絕不新增依賴
5 能寫成一眼看懂的一行? 一行
6 都不行 能跑通的最少那份代碼

四檔強度

檔位只決定強度,不改變階梯本身:

檔位 行爲
off 完全關閉,本會話恢復普通開發模式
lite 按要求做,另附一行「更小的選項」供選擇
full 默認,完整階梯
ultra 額外質疑需求本身;適合需求未定形時,代價是更慢、更囉嗦,可能推翻既有方案

六個技能

斜槓命令後必須跟半角空格;全角「/」或全角逗號不會觸發宿主手勢。

命令 用途
/ponytail 查看或切換檔位
/ponytail-review 按六階審查改動:邏輯、安全、負載、測試、性能、多餘代碼
/ponytail-audit 全倉審計
/ponytail-debt 盤點 shortcut: 註釋標出的技術債
/ponytail-gain 本機效率統計與檔位分佈
/ponytail-help 用法速查

技能描述爲中文重寫,並保留英文觸發詞(如 be lazy、yagni),中英文提問均可命中。

配置與優先級

Cordis 配置字段(三者均不在插件內寫死默認值,由校驗與設置面板顯式呈現):

字段 類型 說明
defaultMode enum off / lite / full / ultra,面板側缺省表現爲 full
skillDir string 相對 $DSH_HOME;缺省路徑爲 $DSH_HOME/ponytail-58fly/skills
locale enum zh / en,已聲明,當前無消費點

改默認檔位三條等價路徑,優先級爲:環境變量 > profile 補丁 > 內置兜底。

export PONYTAIL_DEFAULT_MODE=ultra
# profile 的 cordis.patch.yml
- patch:
    - id: ponytail-58fly
      config:
        defaultMode: ultra

會話內即時切換(敲在對話框,非 shell):

/ponytail ultra

若未生效,設置面板會逐層顯示哪一層配置覆蓋了當前值。

安裝與啓用

前提:Node >=20,DSH >=0.2.0-rc.1 且 <0.3.0-0(README 徽章寫宿主 DSH 0.2.x);--profile 必填,官方模板含 web / headless / acp / sdk。

# ① 把插件裝進 profile
dsh plugin --profile web add dsh-ponytail-58fly

# ② 重啓 DSH 生效

裝完後在會話裏執行 /ponytail 查看當前檔位;或在設置頁「Ponytail 檔位」切換。

離線或內網可從 tarball 安裝(示例版本與 README 一致):

pnpm run build && npm pack
dsh plugin --profile web add ./dsh-ponytail-58fly-0.3.1.tgz

桌面版 Electron 獨佔 profile 時,dsh plugin 會拒絕寫入,需在 profile 目錄用 pnpm 添加本地包:

cd ~/.dsh/profiles/desktop && pnpm add /path/to/dsh-ponytail-58fly-0.3.1.tgz

注意: 插件以當前 DSH 進程的權限運行。安裝前應自行查看 GitHub 倉庫 源碼與 MIT LICENSE,確認符合你的安全與合規要求。

典型用法

查看或討論某功能是否值得加代碼時,帶上半角空格:

/ponytail 這個功能要加緩存嗎
/ponytail-review 看看這個 diff

需要默認更激進地質疑需求時,在 profile 或環境中把 defaultMode 設爲 ultra,或新開會話前設置 PONYTAIL_DEFAULT_MODE。

若宿主未安裝 @deepseek-ai/dsh-client-ui-settings 相關模塊,設置面板會降級缺失,但斜槓命令、環境變量與 cordis.patch.yml 仍可完成全部操作(README 排障表中的預期行爲)。

適用場景與注意

適合希望在 DSH 會話裏統一「先找現成方案、最小改動解決問題」紀律的團隊或個人;ultra 適合需求探索階段,off 適合需要放開約束的專項任務。

Peers 爲 @deepseek-ai/cordis ~4.1.0、@deepseek-ai/schemastery ~3.19.0,由宿主提供。本包零運行時依賴,勿在插件包內新增會被 link: 安裝方式忽略的 dependencies。

常見排障:斜槓無響應時檢查半角空格與 ASCII 斜槓;技能列表爲空時覈對 skillDir 與各 SKILL.md 的 frontmatter;裝時若出現 Agent skills awaiting approval,與 pnpm 鏈入的其他技能目錄有關,不影響本插件六個技能從包內加載。

結尾

dsh-ponytail-58fly 把 ponytail 式決策階梯做成 DSH 可配置的長期約束,用檔位調節強度,用六個命令覆蓋審查、審計與統計。目錄頁:https://www.skillhub.cn/plugins/58fly/dsh-ponytail-58fly;源碼與完整說明:https://github.com/58fly/dsh-ponytail-58fly。

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

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

小夜