dsh-prompt-polish:DSH 輸入框三檔潤色,先預覽再回填

前言

在 DSH(DeepSeek Harness)裏,輸入框草稿往往是一句隨手寫的需求:直接發送容易含糊,自己重寫到結構清晰又費時,還容易改走原意。常見做法是複製到別處讓模型改一版再貼回來,但 @引用、代碼塊、路徑和命令參數很容易丟,而且會多佔一輪會話上下文。

dsh-prompt-polish 是面向 DSH Web GUI 輸入卡的「二次優化」插件:在草稿仍留在輸入框的前提下,按輕 / 中 / 重三檔改寫,結果先進入預覽面板,確認後纔回填;未確認前草稿一字不改。優化過程不寫入 Session、不產生對話輪次。維護者爲 zhaosiw,許可證 MIT,歸類上常出現在模型推理 / Web UI 相關目錄。

這是什麼

一句話:把輸入框裏的一段話交給當前默認模型做三檔潤色,預覽滿意再寫回輸入框,並儘量保留 @引用、代碼與原有意圖。

  • 名稱:dsh-prompt-polish
  • 版本(package.json):0.1.0
  • 平臺:DSH Web GUI(dshhub 標註 surfaces 爲 host、web)
  • 目錄頁:https://www.skillhub.cn/plugins/zhaosiw/dsh-prompt-polish
  • 源碼:https://github.com/zhaosiw/dsh-prompt-polish

核心功能

入口與交互

  • 輸入卡片上方 Aa 優化 按鈕
  • 快捷鍵 Ctrl/Cmd + Alt + P
  • 瀏覽器會記住上次選用的檔位(默認「中度」);提交或裁決進行中時,相關按鈕自動置灰

三檔改寫

檔位 標識 做什麼 效果
輕度 smooth 修語法、錯別字、標點、贅詞、指代與銜接 結構與信息量不變,長度約在原文 ±15% 內
中度 structure 把隱含結構寫清楚:分點、範圍、輸出格式、禁止項等 信息點與原文一一對應,每句能在原文找到出處
重度 instruction 重組成可執行指令:目標 / 範圍 / 要求 / 禁止項 / 驗收標準 模糊表述收斂;缺的參數進入「待確認」

先預覽後回填

改寫結果只進入預覽面板;確認之前輸入框草稿不動。預覽框內可繼續編輯後再決定是否採用。

選區模式

在草稿中選中一段時,只優化選區;確認後只替換該選區(一次可撤銷的編輯)。

保真與邊界行爲

客戶端會校驗並儘量逐字保留:@引用、/命令、代碼塊與行內代碼、URL、路徑、環境變量、命令參數、標識符、數字。若有丟失,會在面板頂部列出。

其他約定:

  • 優化使用設置裏的 agent-default-model;無可用模型時提示先在設置裏選擇模型
  • 調用優先關閉 reasoning,被拒時自動退回默認檔
  • 輸出協議爲 {"text","notes","assumptions"};超時 60 秒
  • 重度檔文本更長時會按原文長度放大 token 預算;若被截斷會盡量從 "text" 字段搶救正文,避免把裸 JSON 寫回輸入框

不寫會話

按 DSH 對「模型可見輸入應能從會話日誌重建」的約定,本插件故意不落 Session。需要留痕時請手動複製預覽內容。

安裝與啓用

前提:DSH Web GUI 已能正常使用,profile 目錄可寫,pnpm 在 PATH。

下面三步把插件加入當前正在使用的 profile(將 <profile> 換成 desktop 或 web):

# 1) 加進正在運行的那個 profile
pnpm --dir "$env:USERPROFILE\.dsh\profiles\<profile>" add "github:zhaosiw/dsh-prompt-polish"

# 2) 讓 profile 組合它:編輯 <profile>/package.json 的 dsh.profile.bundles,追加 "dsh-prompt-polish"

# 3) 觸發一次 profile 重組(宿主 dsh-hmr 監聽 patch/manifest,約 2~3 秒)
Add-Content "$env:USERPROFILE\.dsh\profiles\<profile>\cordis.patch.yml" "`n# touch $(Get-Date -Format o)"

宿主支持熱重組:一般無需重啓宿主,也無需刷新頁面(新 bundle 經 /plugins/events SSE 推到已打開頁面)。

倉庫提供冪等安裝腳本(自動探測在跑的 profile、改前備份、失敗回滾):

pwsh -File .\scripts\install.ps1
pwsh -File .\scripts\uninstall.ps1     # 回滾
node .\scripts\verify.mjs dsh-prompt-polish 61372   # 只讀驗證:模塊圖有該行 + bundle 200

說明:verify.mjs 中的端口號 61372 來自 README 示例,實際驗證時需與本機 GUI 端口一致。

兼容性(package.json / README):DSH >=0.2.0-rc.2,Node >=20;README 寫明在 DSH 0.2.1-rc.2(Web GUI / desktop profile)上實測,客戶端 slot 與 Remote 形態可能隨版本變化。

典型用法

  1. 在輸入框寫好草稿(可含 @引用、代碼塊、路徑等)。
  2. 點擊 Aa 優化 或按 Ctrl/Cmd + Alt + P,在面板中選擇輕度 / 中度 / 重度。
  3. 等待流式結果進入預覽;必要時在預覽框內再改幾個字。
  4. 確認後全文或選區回填;不滿意則關閉面板,草稿保持原樣。
  5. 僅需潤色一段時:先選中該段,再觸發優化,確認後只替換選區。

倉庫 test/cdp-verify.mjs 在 headless Chromium 下會跑完整鏈路(點按鈕、切重度、確認插入、快捷鍵、Esc 關閉等),可作爲行爲參考;該腳本需本機會話 cookie,使用 ~/.dsh/.credentials.yaml 簽名密鑰在本機簽發,不讀取模型密鑰。

工作原理(簡述)

插件拆成宿主半區與瀏覽器半區:lib/index.js 提供 promptPolish 服務並把草稿交給 LLM 流式改寫;lib/client.js 爲手寫成品 bundle,掛載輸入 dock、預覽面板與快捷鍵;瀏覽器通過 ctx.remote.promptPolish.polish({ text, level, locale }) 調用。草稿讀寫走宿主 inputActions(captureInsertion、insertText、setDraft 等)。更細的 slot、RPC 與提示詞規則見倉庫 docs/(spec.md、composer-api.md、host-llm.md、deploy.md)。

適用場景與注意

適合誰

  • 經常在 DSH 輸入框裏寫長需求、希望結構更清晰但不想多佔會話輪次的使用者。
  • 需要在改寫法的同時儘量保留技術細節(引用、代碼、路徑、參數)的場景。

使用前建議

  • 插件在當前 DSH 進程權限下運行,安裝前請閱讀源碼與 MIT 許可證,確認符合你的環境策略。
  • 社區目錄(如 SkillHub)是獨立站點,與 DeepSeek / 幻方無官方從屬關係;安裝命令以 README 爲準,勿憑插件名自行拼接未文檔化的命令。
  • Lexical 渲染下,輸入框內換行在 innerText 中可能呈現爲多行空行,段落結構仍以編輯器爲準(README 已知邊界)。
  • 無可用默認模型時無法優化;重度檔輸出更長,仍可能受模型長度限制。

結尾

dsh-prompt-polish 把「潤色輸入草稿」收進 DSH 輸入卡:三檔可控、預覽可編輯、確認纔回填,並儘量保真技術片段。需要安裝細節與實現證據時,可直接查閱 GitHub README 與 docs/。

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

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

小夜