前言¶
在 DSH 的插件化思路下,系統提示詞通常不是一整段手工維護的文本,而是由多個插件分別註冊成段,再按順序組裝。對智能體開發者來說,這帶來一個具體麻煩:最終發給模型的提示詞到底由哪些段組成、某段從哪裏來、改一處會不會影響其他段,往往不容易直接看出來。
dsh-prompt-manager 針對這個問題,把“系統提示詞”做成可視化和可配置的流水線。下面介紹它的能力、安裝方式和典型用法。
這是什麼¶
dsh-prompt-manager 是一個 DeepSeek Harness(DSH)插件,由 errorcode7 維護,許可證爲 MIT。它的一句話定位是:通過預設查看、改寫並切換 DSH 系統提示詞,並可視化展示其組裝流水線。
它主要解決兩類問題:
- 管理:用預設對提示詞段做替換、插入、刪除,並控制渲染順序;
- 展示:把來源片段、預設覆蓋、變量插值、最終系統提示詞和完整請求放在同一條可視鏈路裏。
核心功能¶
下面列出已覈實的能力。
預設改寫¶
插件支持通過預設對系統提示詞段執行以下動作:
- replace:替換某段;
- insert:在某段之後插入新段,或按規則追加;
- remove:刪除某段。
順序控制¶
插件可以精確控制提示詞段渲染順序,支持:
- 置頂;
- 錨點(例如 after 指定某段之後);
- order 數值。
可視化流水線¶
插件會展示提示詞組裝過程:
- 來源片段;
- 預設覆蓋;
- 變量插值;
- 最終系統提示詞;
- 完整請求。
歷史回看¶
插件支持回看最近 20 輪真實模型組裝歷史,用於對照當時發給模型的內容。
設置頁¶
插件提供設置頁「提示詞管理」,包含:
- 預設列表;
- 開關切換;
- 表單化規則編輯。
即時生效¶
預設文件修改會即時熱重載;切換在下一個模型步驟生效。
agent 工具¶
插件提供 4 個 agent 工具:
- switch_prompt:切換 active preset,或停用;
- list_prompts:列出預設、active 與當前提示詞段;
- get_prompt:讀取指定 section 的當前文本;
- save_prompt:把當前 section 文本固化爲某 preset 的 replace 規則。
預覽一致性¶
預覽與運行時共用 applyPreset 純函數,用於保證預覽落位與實際一致。
安裝與啓用¶
先安裝插件。README 中的 npm 安裝命令標註爲“發佈到 npm 後”;當前是否已發佈未確認。
dsh plugin --profile web add dsh-prompt-manager
如果從源碼目錄安裝,可以使用:
dsh plugin --profile web add /path/to/dsh-prompt-manager
安裝前建議先檢查源碼與許可證。該插件以當前 dsh 進程權限運行,源碼中的文件、路由、工具註冊和客戶端注入都可能影響本機行爲,確認後再安裝。
文件佈局¶
個性化預設保存在 $DSH_HOME/prompts/。
$DSH_HOME/prompts/
├── active.yml
└── <preset>.yml
其中:
$DSH_HOME/prompts/active.yml:用active: <preset>指定啓用的預設;null表示不啓用;$DSH_HOME/prompts/<preset>.yml:每個預設一個文件,可包含label、description、overrides。
內置預設隨插件分發且只讀;個性化預設可編輯、刪除。
預設文件格式¶
下面是已給出示例的 YAML 形態。規則由動作、目標段、位置和內容組成。
label: 創作模式
description: 面向創意寫作的提示詞集
overrides:
- action: replace
section: deployment:persona
text: |
你是一位創意寫作助手……
- action: insert
section: creative:guidance
after: tools:guidance
text: |
寫作流程建議……
- action: insert
section: security:top-guard
top: true
text: |
最高優先級規則……
- action: remove
section: plan-mode:prompt
字段說明:
action: replace / insert / remove;section: 目標段名;text: 要寫入或替換的文本;after: 可選,表示插入到該段之後;top: 可選,表示置頂 / 壓倒一切。
替換文本中的 {{variable}}(如 {{provider}} {{model}} {{cwd}})會保留給渲染階段正常插值。
典型用法¶
下面按“先安裝,再啓用,再用工具調整”的順序說明。
1、安裝插件:
dsh plugin --profile web add /path/to/dsh-prompt-manager
2、準備個性化預設文件,例如:
$DSH_HOME/prompts/active.yml
$DSH_HOME/prompts/creative.yml
3、在 active.yml 中啓用某個預設:
active: creative
如果需要停用,使用:
active: null
4、在 agent 中通過工具查看或切換:
- 用
list_prompts查看當前預設、active 與當前提示詞段; - 用
get_prompt讀取指定 section 的當前文本; - 用
switch_prompt切換 active preset,或使用off: true停用; - 用
save_prompt將當前 section 文本固化爲某個 preset 的 replace 規則。
經過上面的步驟,可以在設置頁「提示詞管理」查看預設列表和表單化規則編輯,也可以在可視化流水線中查看來源、覆蓋、插值、最終提示詞與完整請求。
適用場景與注意¶
適合以下場景:
- 需要確認 DSH 最終發給模型的 system prompt 是如何組裝出來的;
- 需要按會話全局調整某些提示詞段;
- 需要在多個預設之間切換,並保留可視化記錄;
- 需要把某段當前文本固化爲預設規則。
注意:
- 某作用域存在
complete: true段時,註冊表會在 waterfall 之後把它還原爲唯一提示詞段,preset 對 sections 的改寫不生效。 - preset 作用於全局組裝(所有會話);per-agent 覆蓋需通過 agent preset 的
dsh-persona行或agent.ctx註冊實現。 - 預設文件修改即時熱重載;切換在下一個模型步驟生效。
- 社區目錄是獨立站點,與 DeepSeek / 幻方沒有官方從屬關係;不要把目錄頁理解爲官方應用商店。
鏈接¶
- GitHub:https://github.com/errorcode7/dsh-prompt-manager
- 插件線索給出的目錄頁:https://www.skillhub.cn/plugins/errorcode7/dsh-prompt-manager(未見於已抓取資料)