dsh-prompt-manager:把 DSH 系統提示詞拆成可管理、可預覽的流水線

前言

在 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:每個預設一個文件,可包含 labeldescriptionoverrides

內置預設隨插件分發且只讀;個性化預設可編輯、刪除。

預設文件格式

下面是已給出示例的 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(未見於已抓取資料)
羽毛球分组比赛记分
小程序二维码

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

小夜