dsh-better-prompt:將草稿重寫爲優質提示詞的 DSH 插件

前言

在 DeepSeek Harness (DSH) 中,提示詞(Prompt)的質量直接決定了智能體的表現。面對粗糙的草稿或邏輯不清的需求,手動打磨往往效率低下。dsh-better-prompt 插件解決了這一痛點:它利用 LLM 將輸入框中的草稿重寫爲更規範的提示詞,並寫回輸入框供確認。優化方向並非固定死板,而是基於一個可編輯的 Skill 文檔,既靈活又可控。

安裝與啓用

使用官方提供的安裝命令即可完成插件添加。

dsh plugin --profile web add git+https://github.com/Areium/dsh-better-prompt.git

安裝完成後,需要重啓 dsh web 進程(dsh web 或 dsh --profile web)以加載插件。瀏覽器插件端支持 HMR,修改前端代碼後刷新頁面即可生效。

核心功能

該插件主要提供以下功能:

  1. 優化按鈕:在輸入框工具行(發送按鈕左側)新增 ✨優化 按鈕。
  2. 智能判斷:點擊後,插件會先判斷草稿是否缺關鍵信息。
    • 若缺關鍵信息,會觸發 dsh 原生提問(ask_user_question),提供選項或允許手動輸入,答完後自動繼續生成。
    • 若信息足夠,直接進行優化改寫,不打斷用戶。
  3. 撤回機制:優化後的內容寫回輸入框後,會出現 ↩ 撤回 按鈕,可一鍵恢復優化前的原始內容。
  4. 錯誤處理:如果發生錯誤,輸入框會出現 ! 標記,懸停即可查看錯誤詳情。
  5. 設置界面:在 DSH 設置中進入“提示詞優化”頁面,可以直接查看和編輯優化方向的 Skill 文檔,支持保存、取消和重置爲默認,且未保存時會進行二次確認。

使用方法

使用流程非常直觀,分爲以下幾步:

  1. 在輸入框中輸入一段內容(支持任意語言和粗糙草稿)。
  2. 點擊 ✨優化。
    • 情況 A(缺信息):輸入區會切換爲 dsh 原生提問界面(每題有選項,也可手動輸入,最多 clarifyMaxQuestions 個),用戶回答後自動繼續生成。
    • 情況 B(信息足):直接生成優化後的提示詞。
  3. 輸入框內容被替換爲優化結果。若不滿意,可點擊 ↩ 撤回 恢復原文,或直接手動編輯。
  4. 確認無誤後,點擊發送。

編輯優化方向(Skill)

優化方向並非寫死的,而是來源於一個 Skill 文檔(SKILL.md)。

默認位置

首次加載時,該文件會自動生成在 ~/.dsh/skills/better-prompt/SKILL.md。

編輯方式

有兩種主要方式來修改優化邏輯:

  1. 設置界面(推薦):
    進入 DSH 設置 -> 提示詞優化。這裏會顯示當前文件路徑及狀態。修改後點擊保存,下一次點擊 ✨優化 時即可立即生效,無需重啓。

  2. 直接編輯文件:
    文件位置爲 ~/.dsh/skills/better-prompt/SKILL.md。文件包含 frontmatter(用於標識)和正文(定義優化原則,如角色、上下文、約束、輸出形式等)。

容錯機制

  • 如果刪除該文件,插件下次讀取時會自動生成捆綁的默認版本。
  • 如果文檔爲空,同樣會回退到默認方向,不會導致崩潰。

配置項

插件支持通過 Profile 配置文件進行自定義。默認配置位於 ~/.dsh/profiles/web/cordis.patch.yml,需要以“覆蓋整行 config”的方式修改。

字段 默認值 說明
skillDir $DSH_HOME/skills/better-prompt 優化方向技能目錄(含 SKILL.md)
timeoutMs 120000 單次優化調用超時時間(毫秒)
maxInputChars 20000 輸入草稿的最大字符數
maxTokens 8192 優化輸出 Token 上限
clarifyMaxQuestions 3 追問時單次最多提出的問題數量(1–10)
askTimeoutMs 300000 等待用戶回答原生提問的超時時間(毫秒)

開發與架構

該插件採用模塊化設計,無構建步驟,純 ESM。

  • Host 端(lib/index.js):負責處理 webServer 路由、文檔讀寫、LLM 調用以及優化邏輯的判定。
  • Client 端(lib/client.js):負責瀏覽器端 UI,包括輸入行按鈕、設置頁插槽的注入。
  • Skill 邏輯(lib/skill.js):提供純函數支持,用於構建 system prompt、解析 frontmatter 和清洗結果。

開發時,修改 lib/client.js 後刷新瀏覽器即可(client-modules 會按內容 hash 緩存);修改 lib/index.js 則需要重啓 dsh web。

結語

dsh-better-prompt 是一個輕量且實用的 DSH 插件,它通過 Skill 文檔的形式讓優化邏輯變得透明且可定製,幫助開發者快速將模糊的草稿轉化爲高質量的提示詞。更多細節及源碼,請訪問 GitHub 倉庫。

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

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

小夜