前言¶
DeepSeek Harness(DSH)的 composer 裏寫提示詞時,經常需要把一句模糊的草稿改寫成結構更清晰、可執行的提示詞。WorkBuddy 的 ✨ 按鈕做了這件事,但它的增強模型是官方專用模型,第三方調用會被渠道校驗擋掉。dsh-prompt-enhance 插件複用了 DSH 自己的 chat 模型,在 composer 輸入框右側(模型選擇器左邊)放一個 ✨ 按鈕,點一下就把草稿原地改寫,同時保留多層撤銷和逐字差異對比。
功能¶
一鍵改寫¶
在 composer 輸入框右側(模型選擇器左邊)會出現一個 ✨ 按鈕。輸入框有內容時按鈕亮起,點擊後插件通過宿主側的 LLM 把草稿改寫成更具體的提示詞,原地替換原文本,不彈窗也不發送。
示例:
- 草稿「幫我寫個週報」
↓ 點 ✨ - 草稿「請幫我撰寫一份本週工作週報,要求:1) 分「本週進展 / 風險與阻塞 / 下週計劃」三段…」
多層撤銷¶
增強後的文本旁邊會出現 ↺(撤銷)按鈕。點擊 ↺ 可逐層回退,最多支持 8 層。對已增強的文本再點 ✨ 會壓入新的一層,↺ 每次回退一層。退到棧空時撤銷按鈕消失,文本回到最初的狀態。
逐字差異對比¶
增強完成後會自動彈出差異卡,顯示新增和刪除的文本。差異卡按換行切行渲染,新增部分帶綠色底和底部綠線,刪除部分帶刪除線。卡片底部有「新增 / 刪除」色塊圖例,Escape 鍵可關閉。
差異卡錨定在輸入卡上方,寬度爲 min(560px, 100vw − 24px),高度按可用空間計算,超長時正文內部滾動。
跟隨界面當前模型¶
客戶端會從模型選擇器讀取當前的 provider、model 和 reasoningEffort,一起發送給宿主。宿主按白名單校驗格式後透傳給 ctx.llm.stream。如果讀不到模型或格式非法,會回落到插件配置的默認模型。
宿主側 LLM 調用¶
插件只在宿主側調用 LLM,瀏覽器端不會直接看到 API key。HTTP 路由 POST /dsh-prompt-enhance/api/enhance 複用了 dsh-client-connection 的瀏覽器會話 Cookie 校驗,因此通過隧道暴露的端口也需要這層認證柵欄。
結構¶
插件採用一個包、兩個半邊的結構:
| 半邊 | 文件 | 職責 |
|---|---|---|
| 宿主 | lib/index.js |
註冊 POST /dsh-prompt-enhance/api/enhance,校驗瀏覽器會話,單輪調用 ctx.llm.stream(),無工具、不寫會話歷史 |
| 瀏覽器 | lib/client.js |
在 conversation.input.right 槽位渲染 ✨ 按鈕,讀寫草稿、維護撤銷點 |
| 提示詞 | lib/prompt.mjs |
逐字復刻的 system prompt + user prompt 模板 + 輸出清洗 |
安裝¶
dsh plugin add github:wjf1/dsh-prompt-enhance
裝完需要重啓一次 DSH:宿主半的路由在插件圖構建時註冊。之後只改 lib/client.js 的話刷新頁面即可生效。
卸載:
dsh plugin remove dsh-prompt-enhance
配置¶
cordis.patch.yml 裏的行可以帶 config,逐鍵覆蓋 lib/index.js 的 DEFAULTS:
- insert:
- id: dsh-prompt-enhance
name: 'dsh-prompt-enhance'
config:
provider: acme # 客戶端讀不到界面模型時用它
model: cn:deepseek-v4.1-flash
reasoningEffort: '' # 空 = 不顯式傳推理檔
maxInputChars: 20000
timeoutMs: 120000
systemPrompt: '' # 非空則整體替換內置 system prompt
典型用法¶
- 在 DSH composer 中輸入草稿。
- 點擊輸入框右側的 ✨ 按鈕。
- 等待轉圈,完成後文本原地改寫,出現 ↺ 和 ⇄ 按鈕。
- 點擊 ⇄ 查看逐字差異。
- 點擊 ↺ 逐層回退,或再次點擊 ✨ 增加新的一層。
- Escape 關閉差異卡。
適用場景¶
適合在 DSH 中需要頻繁把模糊提示詞改寫成結構化提示詞的場景。與 WorkBuddy 的增強功能對齊,但不依賴官方客戶端專用模型。
注意事項¶
- 插件以當前 DSH 進程權限運行,安裝前應檢查源碼與許可證。
- 只做單輪增強,不帶會話上下文;想要「結合歷史」需要另設計。
- 撤銷棧最多 8 層,且等待期間用戶改動草稿會整棧作廢。
- 差異高亮是詞級 LCS(空白/單漢字/拉丁詞/單字符切分),token 上限 800;超長草稿會退化成正文字符級對比。
- 客戶端半改動刷新頁面即生效;但如果刷新前 bundle 已被瀏覽器/服務端緩存,需要確認頁面確實拿到了新文件。
總結¶
dsh-prompt-enhance 在 DSH composer 裏放了一個 ✨ 按鈕,通過 DSH 自己的 chat 模型把草稿改寫成可執行的提示詞,同時支持多層撤銷和逐字差異對比。它復刻了 WorkBuddy 的增強提示詞,但走的是 DSH 自己的 LLM,不依賴官方客戶端專用模型。
插件目錄頁:https://www.skillhub.cn/plugins/wjf1/dsh-prompt-enhance
GitHub:https://github.com/wjf1/dsh-prompt-enhance