dsh-prompt-optimizer:DSH Web GUI 輸入提示詞優化插件

DeepSeek Harness(DSH)採用插件化架構。在編寫或調試提示詞時,往往需要反覆打磨才能得到理想的回覆。dsh-prompt-optimizer 旨在解決這一問題,它將一個「優化」入口掛載到 Web GUI 的輸入工具欄中,允許用戶在發送前對當前草稿進行潤色或重構。

插件概覽

  • 插件名稱: dsh-prompt-optimizer
  • 維護者: rayhanlu0519-a11y
  • 許可證: MIT
  • 核心功能: 在 DSH Web GUI 聊天輸入框工具欄(模型切換按鈕左側)新增「✦ 優化」按鈕,支持手動觸發優化以及「發送前自動優化」開關。

核心功能

  • UI 掛載: 插件註冊到官方 conversation.input.right 槽位,渲染在輸入框底部工具條,位於模型切換按鈕正左側。配色隨 DSH 深淺主題自動適配。
  • 手動優化: 點擊工具條上的「✦ 優化」按鈕,對當前輸入框內容進行優化。若草稿爲空,按鈕禁用並提示。
  • 自動攔截: 開啓「發送前自動優化」開關後,系統會在發送前攔截 Enter 鍵與發送按鈕點擊(document 捕獲階段),先展示對比結果再決定是否發送。
  • 前後對比與回退: 彈窗展示原文(只讀)與優化後內容(可編輯)。提供四個選項:採用併發送、僅填入輸入框、發送原文、放棄。若優化失敗或超時,系統自動回退發送原文,不中斷對話。
  • 雙後端支持:
    • DSH 內置路由: 複用 harness 的 ctx.llm,免密鑰。
    • OpenAI 兼容: 支持 /chat/completions,與 linshenkx/prompt-optimizer 配置方式兼容。
  • 安全存儲: API Key 僅存儲在宿主側 ~/.dsh/dsh-prompt-optimizer.json,瀏覽器端只可見掩碼值,不暴露原始內容。

安裝與啓用

方式一:作爲 bundle 安裝(持久化)

適用於需要重啓後依然生效的場景。

pnpm pack
dsh plugin --profile web add ./dsh-prompt-optimizer-0.1.0.tgz

方式二:開發注入(熱插拔)

適用於本地開發調試,需要依賴 DSH_CHECKOUT 指向源碼 checkout。

DSH_CHECKOUT=/path/to/dsh-checkout npm run build
dev_build_plugin <本目錄>
dev_inject_plugin <本目錄>
# 刷新 Web GUI 生效

配置說明

在輸入框工具行點擊「⚙」進入設置面板:

配置項 說明
後端模式 選擇 DSH 內置路由(免密鑰) 或 OpenAI 兼容供應商
供應商 DeepSeek (https://api.deepseek.com/v1)、OpenAI 或自定義
API Key 配置 Key,實際存儲於宿主機配置文件 ~/.dsh/dsh-prompt-optimizer.json
溫度 控制輸出隨機性,範圍 0–2
最大輸出 輸出 Token 上限,範圍 16–16384
輪數 優化輪數,範圍 1–3(多輪=對上一輪結果再精煉)

使用示例

  1. 手動觸發優化:在輸入框輸入草稿,點擊工具行的「✦ 優化」按鈕,在彈窗中確認結果後點擊「採用併發送」。
  2. 自動優化:在設置中開啓「自動」開關,輸入內容後直接按 Enter。系統會攔截髮送請求,彈出對比框供確認或編輯後再提交。
  3. 連通性測試:在設置面板使用「測試連通」功能,驗證 API Key 與端點配置正確。

性能與注意事項

  • 性能開銷: 攔截邏輯爲 O(1),自動模式關閉時無性能開銷。Client bundle 大小約爲 55 KB(gzip ≈ 12 KB)。
  • 開發依賴: 插件開發依賴 DSH_CHECKOUT 指向 DSH 源碼 checkout。
  • 許可證兼容: 插件自身爲 MIT 許可證,兼容對象(如 prompt-optimizer)爲 AGPL-3.0。插件未複製其源碼或提示詞,僅遵循其 OpenAI 兼容協議。

更多詳情與源碼,請參考 GitHub 倉庫。

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

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

小夜