dsh-ask-first:Composer 裏先問清楚再改寫的澄清按鈕

前言

在 DeepSeek Harness(DSH)裏給智能體寫需求時,輸入框裏往往只有幾個詞或一句很籠統的話。很多「潤色 / 改寫 prompt」類插件默認你已經能說清目標,只是把措辭整理得更順。若問題其實是「還沒想清楚要什麼」,直接改寫只會把模糊原樣包裝成更長的一段模糊。

dsh-ask-first 走相反假設:草稿含糊,是因爲人暫時還說不完整。它先用模型複述它理解到的意圖,再用兩三條可點選的問題補關鍵信息,最後才把輸入框內容改寫成帶目標、約束和完成標準的請求——且不會替你點發送。

這是什麼

維護者 BAIYE0303 在 GitHub 開源的客戶端插件(dsh-ask-first,當前 package 版本 1.0.1,MIT 許可證)。官方簡介:A composer button that asks first, then writes. 中文界面裏按鈕叫 說清楚點,tooltip 爲 不用會描述:點幾下選項,我替你把需求問清楚。

插件分 host 與 browser 兩半:host 註冊本地 loopback API 並調用 ctx.llm.stream;browser 在 Composer 發送行左下角注入按鈕與面板,結果通過 inputActions.setDraft() 寫回輸入框。無需配置項、無需單獨填 API Key,模型與 Composer 角標裏當前選中的 provider / model 一致。

核心功能

先複述,再提問

面板標題 說清楚點,副標題 先問清楚,再發送。打開時不會改動草稿,也不會發送消息。第一塊 我理解你想要的是 單獨展示模型對你草稿的一句話理解,便於在答題前發現誤讀。

以點選爲主,打字可選

理解對了嗎?下面幾問點一下就行,不用打字。 下面通常有兩到三個問題,選項由當前草稿生成,每題末尾固定有 我不知道,你替我定。也可在 或者自己寫一個答法(可留空) 裏補一句;說明裏寫:不想答的留空就行;一個都不選也能直接重寫。 Host 側會在模型漏選項或漏「替我定」時補全,不依賴 prompt 自覺。

重寫後填回,從不發送

點 按這些重寫 後出現 正在按你的選擇重寫……,結果在 覺得可以就直接填回輸入框;還能再改。 下展示,結構爲:目標、約束、完成定義。模型確實不知道的內容保留爲可見的 [待補充:…],不編造參數。三個操作:填回輸入框、重新問一遍、關掉。整個流程結束於寫回輸入框,發送鍵仍由你控制。

與其它改寫類插件的差異(README 歸納)

  • 誤讀會在提問前暴露(獨立複述塊)。
  • 問題與選項隨草稿變化,不是固定問卷。
  • 未知項用佔位符,不瞎填。
  • 一次完整點擊通常消耗 兩次 模型調用(ask + rewrite),計費走當前會話配置的服務。
  • 若 host 未接 LLM,面板會說明無法連到本地 rewriter,而不是僞造結果。
  • JSON 解析失敗時,原始回覆當作複述並直接進入重寫路徑,不當作硬錯誤。

安裝與啓用

命令行(資料原文):

dsh plugin --profile web add dsh-ask-first

或在 GUI:Plugins → Add plugin,粘貼 dsh-ask-first。

插件包含 browser 端代碼,安裝後需重啓 host。按鈕出現在 Composer 左下角發送行。無 settings 頁、無 key 要粘貼。

package.json 聲明 dsh 與 @deepseek-ai/dsh-client-ui-conversation / @deepseek-ai/dsh-client-ui-slots 的 peer 版本範圍;Node 引擎爲 ^22.19.0 || >=24.0.0。插件以當前 DSH 進程權限運行,安裝前可在 倉庫 查看源碼與 LICENSE。

典型用法

下面步驟來自 README 的「Try it on one vague draft」,可在本地復現。

1、輸入短草稿並點「說清楚點」

在 Composer 裏輸入極短內容(例如 make me a page),發送前 點擊 說清楚點。草稿保持原樣,尚未發送。

2、看複述並點選答案

閱讀 我理解你想要的是 是否與你的意圖一致。對下面的問題點選選項,或使用 我不知道,你替我定 / 可選的自由文本行。

3、重寫並填回

點擊 按這些重寫,確認生成文本後點 填回輸入框。再自行編輯或直接發送——發送仍由你觸發。

維護者在倉庫提供離線自檢(不依賴網絡與 host 進程):

node test-offline.mjs

README 說明該腳本含 39 項檢查,覆蓋路由註冊、請求校驗、JSON 提取、選項規範化、跨站拒絕等。

適用場景與注意

適合: 需求還在腦子裏、輸入框只有片段時,用點選把「要什麼、邊界在哪、怎樣算做完」補齊,再交給 agent 執行。

不必用:

  • 你已經能寫清楚請求——每次點擊多兩次模型調用,收益有限。
  • 你希望 agent 立刻開幹、少問多做——本插件設計就是「先問」。
  • 你只想同義改寫、翻譯或縮短語氣——它改的是請求「是什麼」,不是措辭微調。
  • Host 未配置可用 LLM 服務——無法完成 ask / rewrite。

實現要點(供排查): Host 僅接受 loopback 上的 POST:/api/dsh-ask-first/health、/ask、/rewrite;非 loopback 或跨站請求返回 403。無憑據、無遙測;對外網絡僅上述本地路由,模型調用經 host 的 ctx.llm。

社區目錄 skillhub.cn 上的 dsh-ask-first 頁 與 GitHub 倉庫由社區維護,與 DeepSeek / 幻方無官方從屬關係;DSH 生態本身是「一切皆插件」的擴展方式。

結尾

dsh-ask-first 把 Composer 裏一句含糊草稿,變成「複述 → 可點選澄清 → 結構化請求 → 填回輸入框」的固定路徑,且從不代發。需要安裝命令、面板文案與 API 形狀時,以 GitHub README 與 中文說明 README.zh.md 爲準。

  • 目錄頁:https://www.skillhub.cn/plugins/BAIYE0303/dsh-ask-first
  • 源碼:https://github.com/BAIYE0303/dsh-ask-first
羽毛球分组比赛记分
小程序二维码

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

小夜