前言¶
用 DSH 做開發時常見兩類浪費:需求只說了一半,插件埋頭開幹,改完才發現理解錯了;或者一輪會話裏有價值結論和踩坑經驗,會話一關就丟了,下次同樣的問題還得從頭聊。hoaxquill/dsh-thinking-review(維護者 HoaXQuill)就是針對這兩點做的:一個是 per-session 的「追問澄清」開關,另一個是「會話復盤」按鈕,會把本輪問答整理成四塊內容,問你同意寫入哪幾條長期記憶。下面按資料裏寫明的能力介紹,安裝命令和接口名均照原文引用。
這是什麼¶
一句話:一個把「先想清楚再動手」和「會後復盤」做成開關與按鈕的 DSH 插件。
- 倉庫:https://github.com/HoaXQuill/dsh-thinking-review
- 版本:1.3.0(資料中的 package.json 標註)
- 分類:對話增強 / 記憶(資料分類表),社區目錄收錄在「記憶」分類下
- 依賴:DSH 桌面端(web 客戶端半功能)、cordis 插件樹、Node ≥ 20,license 爲 MIT
- 它解決的不是模型能力問題,而是交互流程問題:需求含糊時怎麼問、問完怎麼停、會話結束後經驗怎麼留
核心功能¶
插件做三件事:追問澄清、復盤本會話、復盤經驗存檔。
1. 追問澄清(per-session 開關)¶
輸入框下面多一行 [● 追問澄清:開/關]。打開後,DSH 遇到需求含糊時先問再動手,判據來自《高階思維:覈驗、修正與重構》,核心是一句話:追問只爲降低做錯概率。資料裏列出的主要規則:
- 信息價值爲零就不問:所有可能答案都指向同一做法時,直接做。
- 先找決策:這一請求改變的是哪個決定或交付物;說不出就是沒聽懂,是最該問的一條。
- 問了就停住等:問題發出即結束這一輪,不寫代碼、不改文件、不自填默認值繼續走。帶超時的問詢卡超時也不等於同意,仍然停住等,同一輪問題只發一次。只有用戶明確說「按默認 / 別問了 / 直接做」纔開工,並列出採用的假設。
- 先盤工具再問裝不裝:列出要用的 CLI / 插件 / MCP / skill,對照手頭清單逐項查(package.json、配置、技能目錄,必要時聯網搜)。缺的非它不可才問,問句裏要帶工具名、用途、爲什麼替代不了、安裝代價(聯網 / 裝包 / 權限 / 體積 / 重啓),給「裝 / 換替代 / 先不做」三種選項;裝到項目本地優先,裝完立刻最小驗證並貼結果。
- 主動掃十個「不清晰」面:目標、交付物與格式、驗收標準、範圍與不做、約束、環境與權限、數據與來源、時間與優先級、可逆性、既有約定。能讀文件查到的先自己查,問的時候按「答錯的代價 × 不確定性」挑 1–3 條。
- 至少給 3 種合理解讀,每種給一條能區分彼此的預測。
- 只在做法分岔處提問,分岔小於「改一句措辭」不問;問題 1–3 個(上限 5),編號、帶默認值,允許一句「回 defaults」。
- 答前只讀偵察:不邊問邊答、不自問自答、不給最終方案。
- 答前複述:1–3 句 spec 加「什麼會讓你改主意」,再開工。
- 交付帶邊界:一行寫清適用範圍與推翻條件。
- 叫停即開工:用戶說「別問了 / 直接做 / 停」,馬上停,編號列出假設與邊界。
開關狀態存 $DSH_HOME/dsh-thinking-review/state.json,刷新頁面、重啓 DSH 都還在。需要說明的是插件只對主會話生效,子代理一律跳過。
2. 復盤本會話(按鈕)¶
輸入框旁的 [復盤本會話] 按鈕,向當前會話發一條復盤指令(不發到別的會話,也不改草稿)。產出四塊:
- 會話摘要:做了什麼、結論是什麼
- 結論與決定:含被否決的方案及原因
- 成功經驗:可複用的做法,寫清適用條件
- 候選長期記憶 3–8 條:每條一句,可直接
remember
最後單獨一行問「全部寫入 / 只寫入第幾條 / 不要」,明確同意後逐條寫;「不要」就停,不反覆勸。
3. 復盤經驗(左側導航新一欄)¶
左側導航多一行「復盤經驗」,點開是本機所有復盤的存檔。每條顯示時間、會話標題(讀不到標題就顯示會話 id 前 8 位)、字數、文件類型(PDF / MD / 生成中)、摘要;支持打開(新標籤頁)、展開全文、複製、刪除(要點兩次確認並同時刪文件)、刷新。
落庫機制:點「復盤本會話」時瀏覽器半邊先 POST /reviews/request 登記,Host 訂閱 session/event,攢這一輪的 assistant/message 正文,turn/end 時正文 ≥ 160 字才落庫。Host 自己渲染 HTML(微軟雅黑、A4、@page 頁邊距),再調本機 Edge/Chrome 的無頭模式打印成 PDF(--headless=new --print-to-pdf),不聯網、不裝依賴,生成是異步的。
已知限制照錄如下:
- 找不到 Edge/Chrome 或
--print-to-pdf被安全軟件攔住時,自動退回<id>.md,列表顯示「MD」,打開照樣看純文本。 - 打印走本機瀏覽器進程,裝在限制子進程的環境(例如 AppContainer)會失敗並退回 MD。
- 只有 1.1.0 之後產生的復盤才進列表,之前的不會補錄;更早的純文本記錄會在打開頁面時順手補生成 PDF。
- 列表最多 500 條,超出丟最舊的。
- 狀態文件與舊名
dsh-clarify兼容:新文件不存在時讀$DSH_HOME/dsh-clarify/state.json,下次寫入即遷到新路徑。
安裝與啓用¶
從 GitHub(無需 npm)¶
dsh plugin add github:HoaXQuill/dsh-thinking-review
從 npm(發佈後)¶
dsh plugin add dsh-thinking-review
或在桌面端「插件市場」裏搜 dsh-thinking-review 安裝,然後重啓 DSH。
從本地目錄(開發時)¶
dsh plugin add file:C:/Users/HoaXQ/Desktop/插件/dsh-thinking-review
等價寫法是在 profile 的 package.json 里加:
{
"dependencies": { "dsh-thinking-review": "file:C:/Users/HoaXQ/Desktop/插件/dsh-thinking-review" },
"dsh": { "profile": { "bundles": ["dsh-thinking-review"] } }
}
插件由包內 cordis.patch.yml 插入插件樹,Host 半走 main / exports["."](lib/index.js),客戶端半走 exports["./client"](lib/client.js,dsh.client.platform = "web")。改完插件代碼不熱重載,需要重啓 DSH(桌面端點插件市場裏的「立即重啓」)。
典型用法¶
裝完後點輸入框下那行開關即可啓用。需求含糊時,插件會按上面第 3 條的規則停在提問上,不會邊問邊寫代碼,也不會自問自答。
診斷或排障時可以直接走 HTTP 接口,Host 半註冊在 /dsh-thinking-review:
GET /dsh-thinking-review/state?session=<id> 查詢某會話開關狀態
POST /dsh-thinking-review/state body {session, enabled},寫入並立即掛載/卸載
GET /dsh-thinking-review/text 當前進程實際生效的提示詞(診斷用)
GET /dsh-thinking-review/mounted 已掛載會話列表、狀態文件路徑、復盤條數
GET /dsh-thinking-review/reviews 復盤列表(不含全文)
POST /dsh-thinking-review/reviews/request body {session},登記本輪要收進復盤
單條復盤全文和文件本體分別用 GET /dsh-thinking-review/reviews/item?id= 和 GET /dsh-thinking-review/reviews/file?id=(文件本體返回 application/pdf 或 text/markdown,加 ?download=1 改爲下載,還沒生成完返回 409);刪除用 POST /dsh-thinking-review/reviews/delete,body {id}。
想驗證改動,倉庫自帶兩個不依賴 DSH 運行時的腳本(Host 半用假 ctx,客戶端半用假 window.__ModuleLoader__ 和極簡 React shim):
node test/smoke.mjs # Host 半:路由、掛載、卸載、判據關鍵字
node test/client-smoke.cjs # 客戶端半:slot 註冊、按鈕、指令落到會話
適用場景與注意¶
適合在 DSH 裏用 Agent 做實現類任務、且接受「提問先於動手」這套節奏的開發者:對長會話、多輪迭代的任務,復盤寫入長期記憶能省掉重複溝通;只想安靜幹活、不想要任何提問打斷的,會嫌追問邏輯囉嗦。
注意幾點:
- 插件以當前 DSH 進程權限運行,安裝前應檢查源碼與許可證(倉庫標註 MIT)。
- 重啓 DSH 後開關和復盤索引都在(狀態在
$DSH_HOME/dsh-thinking-review/,索引在reviews.json,文件在reviews/<id>.pdf);卸載不會刪狀態文件,想清空就刪$DSH_HOME/dsh-thinking-review/state.json。 - 提示詞優先級最低(order 89950),不會蓋住項目自己的 AGENTS.md 或系統提示。
- 復盤列表最早只覆蓋 1.1.0 之後的會話,舊記錄不補錄(打開頁面時會順手補生成 PDF)。
小結¶
一個插件解決兩個流程問題:動手前的「問清楚」和會話後的「留經驗」。開關按需開啓、復盤按條寫入、存檔可查可刪,不強制改變你平時的用法。目錄頁:https://www.skillhub.cn/plugins/HoaXQuill/dsh-thinking-review ,倉庫:https://github.com/HoaXQuill/dsh-thinking-review 。