前言¶
在 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。
核心功能¶
整段增強與回退¶
- 在輸入框寫好草稿(中文、英文或混排均可)。
- 點擊魔法棒:按鈕進入加載態,草稿被改寫成可直接發送的提示詞。
- 加載中再點一次即取消。
- 寫回後按鈕變爲回退箭頭,點一下恢復原文;若你手動改過結果,回退箭頭會自動消失。
空草稿時不顯示按鈕。
局部增強(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;改源碼後刷新即生效,無需構建。
典型用法¶
經過上面的安裝步驟,可按下面順序試一遍完整流程:
- 在輸入框寫一句短草稿,例如「幫我把這段邏輯 refactor 一下,別動 API」。
- 點魔法棒,等待寫回;若結果滿意直接發送,不滿意點回退箭頭恢復原文。
- 若只想改其中一句:選中該句,Ctrl+點擊(macOS Cmd+點擊)魔法棒。
- 若草稿裏含路徑或版本號、擔心被改壞:保持默認保真閘;若結果被拒,看按鈕失敗提示或宿主日誌中的
reason=fidelity。 - 想先看再決定: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