前言¶
在 DSH(DeepSeek Harness)Web 裏和模型對話時,輸入框裏的文字往往是口語化草稿:有口頭禪、重複和亂序,但意思已經在了。若每次都要自己逐句改寫成更順口的表達,會打斷髮送節奏;若把整段對話歷史交給模型「代寫」,又容易越界到替你發言、或把不該帶的上下文一併送出。
下面介紹的 dsh-draft-polish 是維護者 WanchunLian 發佈的 客戶端 Web 插件:在輸入框右側提供「潤色」入口,默認走快路徑只生成一版「核心意思」,確認後通過官方草稿通道寫回輸入框,由你刪改再發送。設計原則是 AI 只幫你把話說到位,絕不替你發言。
這是什麼¶
- 名稱:
dsh-draft-polish(npm 包名,當前版本 0.1.0) - 類型:DSH Web 客戶端插件(
dsh.client.platform: web),瀏覽器半邊注入 UI,宿主半邊提供 fenced API - 倉庫:https://github.com/WanchunLian/dsh-draft-polish(MIT)
- 社區目錄:https://www.skillhub.cn/plugins/WanchunLian/dsh-draft-polish(獨立社區站點,與 DeepSeek / 幻方無官方從屬關係)
一句話:把還沒發出的口語化草稿,一鍵潤色成更專業、更順口的表達;替換回輸入框後仍由你確認再發送。
核心功能¶
默認快路徑:只出一版核心意思¶
輕量化設計下,點擊潤色後默認只生成 核心意思 一版(調用 POST /draft-polish/api/polish/one,roleId 爲 core),避免一次拉滿 8 段的長等待。需要其它表達風格時,在 compact 560px 面板裏通過「更多風格」按需展開、逐條生成。
面板與替換¶
- 主卡提供「用這版替換」;7 個額外視角摺疊在次級入口,不搶主視覺。
- 展開後的視角卡可勾選「併入」;勾選 ≥2 條時會出現「合併 N 版替換」,按
【視角】標題拼接多版內容。 - 替換走官方
setDraft通道,支持 Ctrl+Z 撤銷回原始草稿。
口語清洗與邊界¶
- 潤色側強調去掉口頭禪、重複、亂序,還原事實主幹,不編造用戶沒說過的事實。
- 草稿長度上限 2000 字(
MAX_DRAFT_CHARS),超出接口返回DRAFT_TOO_LONG,需精簡後再試。 - 單次 LLM 生成默認超時 30000 ms(
DEFAULT_TIMEOUT_MS)。
隱私與降級¶
- 只發草稿快照:點擊潤色瞬間鎖定輸入框快照(
lockedRef);面板打開期間你繼續輸入的內容、對話歷史 不會 進入任何 LLM 請求。請求體白名單僅允許draft、roleId、timeoutMs等字段;夾帶sessionId、conversation、history等會 400 UNEXPECTED_FIELD。 - 潤色失敗不阻塞發送:LLM 不可用或超時時 toast 提示「潤色暫時不可用,可原樣發送」,輸入框原樣保留;發送中(submitting/adjudicating)時潤色按鈕置灰,防誤觸。
全量 8 段接口 POST /draft-polish/api/polish 仍保留兼容,前端默認不再使用。
安裝與啓用¶
前置要求¶
- Node.js 20+(README 實測 v22.22.2)
@deepseek-ai/dsh(文檔寫明 0.1.1-rc.2,可用npx @deepseek-ai/dsh web啓動)- DSH profile 目錄(Windows 示例:
C:\Users\<你>\.dsh\profiles\web)
步驟(link 開發/本地安裝)¶
資料中的部署方式爲 npm link: 裝進 profile,改 lib/*.js 可實時生效;改動 cordis.yml / package.json 的 bundle 聲明需重啓 dsh web。
-
進入插件項目根目錄(路徑按你本機 clone 或下載位置爲準)。
-
在 profile 目錄執行 link 安裝:
cd C:\Users\wanch\.dsh\profiles\web
npm install link:D:\mycode\dsh\dsh-draft-polish
-
確認
profiles\web\package.json的dependencies已包含dsh-draft-polish: link:...;若dsh.profile.bundles缺少 bundle 註冊,需參考同機官方 bundle 寫法補齊包名。 -
啓動 Web:
npx @deepseek-ai/dsh web
瀏覽器打開 http://127.0.0.1:3456,輸入框工具行右側應出現「✨ 潤色」按鈕。
典型用法¶
- 寫:在輸入框輸入或語音轉寫一段話(口語化、有口頭禪即可)。
- 點:點「✨ 潤色」,稍等彈出「潤色結果」,默認已有一版核心意思。
- 換:合適則點「用這版替換」→ 回輸入框檢查、刪改 → 再點發送。
需要其它風格:面板中「想要其它風格?」→ 選視角「生成這版」,可單版替換,或勾選多版後「合併 N 版替換」。不需要任何結果時關面板(Esc 或點遮罩),輸入框保持原樣。
適用場景與注意¶
適合:經常在 DSH Web 裏先打口語草稿、再希望快速收成專業表達後再發送的開發者或日常用戶;在意「只潤色當前草稿、不帶會話上下文」的場景。
注意:
- 插件隨 DSH 進程運行,安裝前請自行查看 GitHub 源碼 與 MIT 許可證,確認符合你的環境與合規要求。
- 宿主路由帶 loopback / 同源等 fence,LLM 調用在宿主側完成,瀏覽器不直連
ctx.llm。 - 項目提供
npm test(node --test test/polish-core.test.mjs)迴歸上下文紅線與白名單;README 記錄 V2 輕量化(2026-09-04)與多項 Playwright / 真模型里程碑,以倉庫文檔爲準。
結尾¶
dsh-draft-polish 把「發前的最後一道措辭」做成輸入框旁的一鍵能力:快路徑只出核心意思,多風格與多版合併按需展開,失敗時仍可原樣發送。進一步瞭解可在社區目錄頁查看簡介,在 GitHub 閱讀完整 README、docs/design.md 與 API 契約。