dsh-composer-enhance:發送前把輸入框草稿改寫成可發送的提示詞

前言

在 DSH(DeepSeek Harness)裏寫請求,常見做法是先在輸入框打一段短草稿,再指望模型自己補全意圖。草稿越短,歧義越多;路徑、版本號、約束若寫不全,下一輪對話就要來回澄清。自己逐句擴寫也可以,但和「改提示詞」是同一類重複勞動。

下面介紹社區插件 dsh-composer-enhance(維護者 GraptK):在發送鍵左側增加一個「增強提示詞」按鈕,用一次模型調用把當前草稿改寫成更清晰、更具體的提示詞並寫回輸入框。按鈕只做改寫、不替用戶執行任務,也不改變原意;過程中可取消,寫回後可一鍵回退。包名自 v0.4.0 由 dsh-enhance-prompt 改爲 dsh-composer-enhance(原名在 npm 已被佔用)。

這是什麼

dsh-composer-enhance 是 DSH 的客戶端 + 宿主雙半插件:瀏覽器半在 conversation.input.right 槽註冊魔法棒按鈕;宿主半註冊 session 命令,讀取默認模型(或配置覆蓋)、可選的會話歷史語境,經 llm.stream() 輸出後再經保真閘、長度閘與清洗,把結果返回瀏覽器寫回草稿。倉庫裏的 .js 即爲發佈產物,無單獨構建步驟;界面文案中英雙語,隨 DSH 語言切換。

當前版本 0.4.1(見倉庫 package.json),許可證 MIT。插件在 SkillHub 目錄 可檢索;源碼與說明見 GitHub。

核心功能

整段增強與回退

  1. 在輸入框寫好草稿(中文、英文或混排均可)。
  2. 點擊魔法棒:按鈕進入加載態,草稿被改寫成可直接發送的提示詞。
  3. 加載中再點一次即取消。
  4. 寫回後按鈕變爲回退箭頭,點一下恢復原文;若你手動改過結果,回退箭頭會自動消失。

空草稿時不顯示按鈕。

局部增強(Ctrl / Cmd + 點擊)

選中輸入框中的一段文字,再 Ctrl+點擊(macOS 爲 Cmd+點擊),只把選中片段發給模型,結果只替換該段;未選中時行爲與普通點擊相同,仍是整段增強。寫回通過編輯器的一次獨立撤銷操作完成,也可用 Ctrl+Z 退回,不必依賴回退箭頭。

修飾鍵與預覽

操作 行爲
普通點擊 整段增強,寫回後可回退
增強中再點 取消
Ctrl / Cmd + 點擊 僅增強選區
Alt + 點擊 本次不帶會話歷史
Shift + 點擊 本次帶全部歷史輪次
Alt + Shift + 點擊(v0.4.0) 只預覽、不寫回;輸入框下方出現預覽卡(標題、字符差、正文、「採用 / 放棄」)

Alt / Shift 可與 Ctrl 疊加。預覽模式下采用結果後仍可用回退箭頭回到原文。

會話歷史語境(v0.2.0 起)

改寫時默認帶上本會話已提交的最近對話(不含當前未發送的草稿),便於處理「再詳細一點」「換個說法」這類依賴上下文的草稿。歷史只進入模型輸入,不會寫進草稿;讀歷史失敗時記宿主日誌並繼續只改草稿,不阻斷功能。

範圍與預算可在配置中調整(見下文);無歷史時靜默降級爲「只改草稿」,行爲與早期版本一致。

保真閘與長度閘(v0.4.0)

模型容易改壞路徑、URL、版本號、反引號代碼片段。保真閘要求改寫結果逐字保留草稿中提取的硬事實(反引號片段、http(s):// URL、帶擴展名的路徑/文件名、語義化版本號等,去重後最多 40 條);缺一條則整次失敗、不寫回,按鈕進入失敗態並提示缺失項(最多展示 5 條)。

長度閘:草稿不少於 80 字符時,若輸出超過原文的 maxExpansionRatio 倍(默認 2.5,可配 1–6)則拒絕寫回。閘門爲硬失敗;若仍想自行判斷被拒結果,可用 Alt+Shift 預覽模式。

引用 chip 保護(v0.4.0)

草稿中含 @文件 等引用 chip 時按鈕會被禁用(懸停說明原因),避免整段改寫把 chip 抹成純文本。

其它行爲說明

  • 宿主側單次調用超時默認 60s(另有 65s 客戶端兜底);超時或失敗時按鈕進入失敗態,原因寫入 title 與 aria-label。
  • 每次調用有 req= 關聯 ID,宿主日誌與瀏覽器 console 可對齊排查。
  • 按鈕不搶輸入焦點,避免打斷中文輸入法組詞。
  • 切換會話會中止上一會話未完成的請求;等待期間若繼續輸入,增強結果不會覆蓋新內容,需重試。
  • 增強在聊天流中會留下 log-only 的 session 命令節點(recordInput:false,草稿原文不進命令參數),不進模型歷史、不額外佔對話 token。

安裝與啓用

宿主要求:DSH >=0.2.0-rc.2 <1.0.0(聲明於 package.json 的 engines.dsh),Node ≥ 20。

在 DSH 插件市場搜索 dsh-composer-enhance 一鍵安裝;或讓 Agent 執行:

plugin_manager  action=install_bundle  target=dsh-composer-enhance

安裝後刷新頁面,發送鍵左側即出現魔法棒按鈕。

從 GitHub 或本地目錄以 link: 安裝時,在 profile 的 package.json 中指向倉庫路徑,並把包名加入 dsh.profile.bundles:

"dependencies": { "dsh-composer-enhance": "link:E:/path/to/dsh-composer-enhance" }

link: 會帶上整棵源碼樹,倉庫根目錄須保留 LICENSE;改源碼後刷新即生效,無需構建。

典型用法

經過上面的安裝步驟,可按下面順序試一遍完整流程:

  1. 在輸入框寫一句短草稿,例如「幫我把這段邏輯 refactor 一下,別動 API」。
  2. 點魔法棒,等待寫回;若結果滿意直接發送,不滿意點回退箭頭恢復原文。
  3. 若只想改其中一句:選中該句,Ctrl+點擊(macOS Cmd+點擊)魔法棒。
  4. 若草稿裏含路徑或版本號、擔心被改壞:保持默認保真閘;若結果被拒,看按鈕失敗提示或宿主日誌中的 reason=fidelity。
  5. 想先看再決定:Alt+Shift+點擊,在輸入框下方預覽卡中點「採用」或「放棄」。

想確認本次帶了幾輪歷史,可在宿主日誌中查找類似行:

[dsh-composer-enhance] history: 3/5 turns, 286 chars dropped 2 oldest turn(s)

配置項(cordis.patch.yml / Config)

插件管理器或 Config Inspect 可編輯下列項(類型須正確,否則插件可能激活失敗):

鍵 默認 作用
enabled true 總開關
temperature 0.3 採樣溫度(0–2)
maxTokens 2048 輸出預算
timeoutMs 60000 宿主側超時
history true 是否帶最近對話
historyTurns 3 最近幾輪(1–12)
historyMaxChars 3000 歷史總字符預算
historyPerMessageChars 800 單條歷史裁剪長度
fidelity true 保真閘
maxExpansionRatio 2.5 長度閘倍數(1–6)
provider / model '' 僅本插件用的模型覆蓋;兩個都填才生效

適用場景與注意

適合經常在 DSH 輸入框裏寫短指令、又希望發送前自動補全約束與表述的開發者。與「直接發送短句」相比,多一次模型調用與短暫等待;與手工寫長提示詞相比,省的是重複擴寫時間,並可通過回退、預覽、局部增強控制改動範圍。

安裝前建議自行查看 GitHub 倉庫 源碼與 MIT 許可證。DSH 生態遵循「一切皆插件」;SkillHub 爲社區目錄,與 DeepSeek / 幻方無官方從屬關係。插件以當前 DSH 進程權限運行,安裝第三方包前應確認來源與代碼內容。

結尾

dsh-composer-enhance 把「發送前改提示詞」收成輸入框旁的一鍵操作:可取消、可回退、可選預覽,並用保真閘、長度閘和 chip 保護降低改壞硬事實的風險。需要安裝或配置細節時,以倉庫 README 爲準。

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

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

小夜