前言¶
在 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,修改前端代碼後刷新頁面即可生效。
核心功能¶
該插件主要提供以下功能:
- 優化按鈕:在輸入框工具行(發送按鈕左側)新增 ✨優化 按鈕。
- 智能判斷:點擊後,插件會先判斷草稿是否缺關鍵信息。
- 若缺關鍵信息,會觸發 dsh 原生提問(
ask_user_question),提供選項或允許手動輸入,答完後自動繼續生成。 - 若信息足夠,直接進行優化改寫,不打斷用戶。
- 若缺關鍵信息,會觸發 dsh 原生提問(
- 撤回機制:優化後的內容寫回輸入框後,會出現 ↩ 撤回 按鈕,可一鍵恢復優化前的原始內容。
- 錯誤處理:如果發生錯誤,輸入框會出現 ! 標記,懸停即可查看錯誤詳情。
- 設置界面:在 DSH 設置中進入“提示詞優化”頁面,可以直接查看和編輯優化方向的 Skill 文檔,支持保存、取消和重置爲默認,且未保存時會進行二次確認。
使用方法¶
使用流程非常直觀,分爲以下幾步:
- 在輸入框中輸入一段內容(支持任意語言和粗糙草稿)。
- 點擊 ✨優化。
- 情況 A(缺信息):輸入區會切換爲 dsh 原生提問界面(每題有選項,也可手動輸入,最多
clarifyMaxQuestions個),用戶回答後自動繼續生成。 - 情況 B(信息足):直接生成優化後的提示詞。
- 情況 A(缺信息):輸入區會切換爲 dsh 原生提問界面(每題有選項,也可手動輸入,最多
- 輸入框內容被替換爲優化結果。若不滿意,可點擊 ↩ 撤回 恢復原文,或直接手動編輯。
- 確認無誤後,點擊發送。
編輯優化方向(Skill)¶
優化方向並非寫死的,而是來源於一個 Skill 文檔(SKILL.md)。
默認位置¶
首次加載時,該文件會自動生成在 ~/.dsh/skills/better-prompt/SKILL.md。
編輯方式¶
有兩種主要方式來修改優化邏輯:
-
設置界面(推薦):
進入 DSH 設置 -> 提示詞優化。這裏會顯示當前文件路徑及狀態。修改後點擊保存,下一次點擊 ✨優化 時即可立即生效,無需重啓。 -
直接編輯文件:
文件位置爲~/.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 倉庫。