dsh-prompt-manager:給 DSH 輸入框加分組提示詞庫與一鍵優化

前言

DSH(DeepSeek Harness)的理念是「一切皆插件」,輸入框周圍的功能大多以 bundle 形式掛在 conversation 工具欄上。日常使用裏有兩類操作最重複:一是常用提示詞散落在各處、沒有分組管理,每次手動粘貼;二是輸入框里正在寫的半成品,自己看不清哪裏不清晰,又想讓大模型改一版。

dsh-prompt-manager 對應這兩件事:一個按標籤分組的提示詞庫,一個基於大模型的輸入框改寫入口。由 xdr531955724 維護,倉庫 xdr531955724/dsh-prompt-manager,MIT 許可,社區目錄裏歸入「模型推理」。下面按功能、安裝、用法、注意事項的順序介紹。

這是什麼

一句話定位:一個 DSH bundle,在輸入框左下工具欄加兩個按鈕——「提示詞」打開分組詞庫,「優化」把輸入框內容交給大模型改寫。

  • 形態:Host 半邊 + Client 半邊,純 JavaScript,無構建步驟、無依賴;Host 只用 node: 內置模塊。
  • 依賴的 DSH 能力:ctx.slots、composer 的 inputActions、ctx.webServer,對應 DSH 0.2.0-rc.x。
  • 版本:1.3.0(見倉庫 package.json)。
  • 星標:0。
  • 許可證:MIT。

整個插件的關鍵代碼就是 index.js 與 client.js 兩個文件,外加 cordis.patch.yml 裏唯一一條 Host 行,比較適合直接讀源碼做審查。

核心功能

提示詞庫(工具欄「提示詞」按鈕)

  • 一鍵寫入:點列表條目後通過 composer 的 inputActions 寫入草稿區,不直接操作編輯器 DOM。
  • 兩種寫入方式,在面板底部切換並跟隨保存:插入(光標處寫入,輸入框爲空時整段寫入)與 替換(覆蓋輸入框全部內容)。
  • 標籤分組:一條提示詞可帶多個標籤,表單裏用逗號分隔,例如 小滿, 報告;面板頂部是標籤欄,列出所有標籤與各自條數,點一下只看該話題下的條目。沒填標籤的歸入「未分組」。
  • 鍵盤操作:搜索框裏 ↑ / ↓ 移動高亮,Enter 直接把該條寫進輸入框。
  • 管理操作:新建、編輯(標籤隨編輯改)、另存副本、刪除(二次確認),以及「清空輸入框」。
  • 搜索:按名稱、正文、標籤一起過濾,並與當前選中的標籤疊加生效。
  • 持久化:瀏覽器 localStorage,鍵爲 dsh.prompt-manager.v1,收藏標記一併保存;首次安裝預置 4 條。

提示詞優化(工具欄「優化」按鈕)

  • 取當前輸入框內容,交給配置好的大模型改寫,面板裏給出原文與優化後的對照。
  • 默認先預覽,點「替換輸入框」才寫入;也可以在設置裏打開「優化後直接替換輸入框」,成功後即替換,面板裏仍可「撤銷替換」。
  • 「再優化一次」「測試連接」都在面板裏操作;接口地址、模型、Key、自動替換均在面板「設置」裏改,不需要改配置文件。
  • 改寫使用固定的中文元提示詞(見 index.js 的 SYSTEM_PROMPT),規則包括:只改寫不回答任務、不編造事實、原樣保留代碼/路徑/命令/報錯、缺信息寫成「先向我要」而不是向用戶索要、長度以夠用爲限。

架構與憑據

Host 半邊負責出網調用與憑據,Client 半邊只做 UI。這意味着瀏覽器側不需要 CORS,API Key 也不進瀏覽器。Host 側提供三條僅本機迴環可訪問的路由:

路由 作用
GET /api/prompt-manager/config 讀設置;永不返回 Key,只返回是否可用及來源
POST /api/prompt-manager/config 存設置(接口地址 / 模型 / 憑據名 / Key / 自動替換 / 溫度)
POST /api/prompt-manager/optimize 用配置的服務商改寫一段文本

設置文件位於 $DSH_HOME/prompt-manager.json,默認 ~/.dsh/prompt-manager.json,每次請求重新讀取,改配置無需重啓。

Key 的解析順序爲:設置裏的字面 Key → 環境變量 keyRef → ~/.dsh/.credentials.yaml 裏同名的憑據。例如複用 DSH 裏已配好的 ZHIPU_API_KEY,不必再複製一份密鑰。

Client 半邊註冊進 conversation.input.left,即輸入框左下工具欄,兩個條目分別是 prompt-manager(提示詞庫)與 prompt-optimizer(優化)。

安裝與啓用

前提:DSH 0.2.0-rc.x。先克隆倉庫:

git clone https://github.com/xdr531955724/dsh-prompt-manager dsh-prompt-manager

然後用 DSH 內置插件管理器安裝,target 填本機 clone 的絕對路徑:

plugin_manager  install_bundle  target = /abs/path/to/dsh-prompt-manager
plugin_manager  remove_bundle   target = @local/dsh-prompt-manager
  • profile 以鏈接方式掛載本目錄,改源碼即改插件本體。
  • Client 半邊(client.js)熱更新;Host 半邊(index.js)需要重啓一次 DSH,因爲宿主模塊只在新進程啓動時加載。重啓前點「優化」,面板會提示插件的宿主半邊要重啓一次 DSH 纔會生效。
  • 不願用插件管理器時,手工掛載也可以:把 cordis.patch.yml 裏的那一行合併進 profile 的 cordis.patch.yml。

配置服務商

任何 OpenAI 兼容的 /chat/completions 端點都能用。面板「設置」裏預置了以下幾項:

預設 接口 憑據名
智譜 glm-4.5-flash https://open.bigmodel.cn/api/paas/v4 ZHIPU_API_KEY
智譜 glm-5.3-flash 同上 同上
阿里雲百鍊 qwen-flash https://dashscope.aliyuncs.com/compatible-mode/v1 DASHSCOPE_API_KEY
Google gemini-2.5-flash https://generativelanguage.googleapis.com/v1beta/openai GEMINI_API_KEY

模型 id 以服務商控制台爲準,可直接在設置裏改。

README 給過一組實測對照:Windows 桌面版 DSH 0.2.0-rc.2,原文爲「我那個腳本跑不起來,報錯 ModuleNotFoundError,幫我看看怎麼回事」。

  • 智譜 glm-4.5-flash(免費):約 8 s,輸出「我的腳本運行時出現 ModuleNotFoundError 錯誤,請幫我分析原因並提供解決方案。」
  • 智譜 glm-5.3-flash:約 10 s,輸出「我的腳本運行失敗,報錯 ModuleNotFoundError。請幫我定位原因並修復。腳本代碼和報錯全文我還沒有提供,需要的話先向我要 <腳本代碼> 和 <報錯全文>,再開始排查。」

需要走代理的服務商(Google / OpenRouter / Groq 等),給 DSH 進程設置 HTTPS_PROXY 與 NODE_USE_ENV_PROXY=1 再啓動。

典型用法

1、把一組同主題提示詞整理進詞庫。例如圍繞「週報」寫十幾條,全部帶上 週報 標籤,面板頂部的標籤欄會把它們聚合到一起,點標籤只看這個主題。

2、在輸入框寫半句想法,點「優化」看改寫結果。比如只寫「幫我潤色一下這段結論」,優化後可直接替換草稿,不滿意就停留在原文。

3、比較不同模型。同一段原文分別選 glm-4.5-flash 與 glm-5.3-flash 優化一次,前者更短、直接給出請求,後者多了一句「先向我要腳本代碼和報錯全文」——若你的場景信息不全,第二條行爲更合適。

適用場景與注意

適合誰:

  • 常用提示詞數量多、希望按主題管理並一鍵寫回輸入框的 DSH 使用者。
  • 想拿免費或低成本小模型給輸入框草稿做啓發式改寫的用戶。
  • 已經有 OpenAI 兼容端點的使用者,配置項不多。

需要注意:

  • 該插件以當前 DSH 進程的權限運行,安裝前應檢查源碼與許可證。許可證爲 MIT,倉庫在本插件目錄下可查。
  • 詞庫、「自動替換」等設置是瀏覽器本機數據;換機器或清瀏覽器數據會丟,localStorage 鍵爲 dsh.prompt-manager.v1。
  • 優化是改寫,不是執行:不會替你跑任務,也不回答任務本身。
  • 輸入框裏若是 @文件 引用芯片,優化後按剪貼板文本(@path)寫成純文本,芯片結構不再保留。
  • 只有瀏覽器側 UI 與三條本機路由,沒有面向模型的工具(tool)。
  • 包名 @local/... 是按 DSH 本地 bundle 的慣例取的(工作區目錄安裝);如果要發 npm,需要換個 scope 並重新安裝。

社區目錄是獨立站點,與 DeepSeek 無官方從屬關係。

小結

dsh-prompt-manager 的價值在於把兩件小事各做一次:把提示詞按標籤收進詞庫,點一下寫回輸入框;再用大模型把草稿改清楚,預覽後決定是否替換。安裝基於本地 clone 目錄,Host 側憑據不出本機。目錄頁與倉庫如下:

  • 目錄頁:https://www.skillhub.cn/plugins/xdr531955724/dsh-prompt-manager
  • GitHub:https://github.com/xdr531955724/dsh-prompt-manager
羽毛球分组比赛记分
小程序二维码

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

小夜