dsh-think-summary:把長程推理收成可掃讀的進度行

前言

在 DeepSeek Harness(DSH)裏跑長任務時,「思考」區塊往往是兩套都不舒服的體驗:摺疊時只有一行摘要不說明白在幹什麼,展開則是按流式順序堆出來的整段內心獨白,幾千字很難掃。OpenAI Codex 側有模型自己產出的 reasoning-summary 通道;DSH 默認渲染的是原始 chain-of-thought,沒有等價通道。要在本地得到「每步一兩句進度、完整推理仍一點開就看」的體驗,只能在每個推理步落定後額外做一次便宜的摘要調用——這正是社區插件 dsh-think-summary(npm:@drifter-yh/dsh-think-summary,維護者 Drifter-yh)要做的事。下文按安裝、配置、行爲與邊界說明,事實與 GitHub 倉庫 README 一致。

這是什麼

dsh-think-summary 是掛在 DSH Cordis 體系上的社區插件(非 DeepSeek 官方維護)。它在每個 assistant-step 落定後,用你配置的 LLM 路由把該步推理壓成一兩句白話(README 示例爲帶「› 思考 · 進度」的短行);點擊該行仍可展開,按原先方式看完整 Markdown 推理。簡介中的「1–3 bullet points」與 package 描述一致;界面上的呈現以 README 前後對比爲準。

分類上在 SkillHub 目錄中歸於模型推理;當前倉庫星標爲 0(以目錄頁爲準)。許可證 MIT,package 版本 0.2.0,要求 Harness >=0.2.2-rc.1 <0.2.3-0,已在 0.2.2-rc.1 的 desktop profile 上驗證。

核心功能

界面上的變化

摺疊態不再只是無信息量的 excerpt,而會變成類似:

› 思考 · 進度
  我讀完了插件的兩半代碼,確認摘要走的是本地端點;接下來改客戶端的額度邏輯。

展開後仍是原始推理全文,渲染規則與內置 renderer 對齊。

Codex 式「只顯示進度、不反覆展開」

若希望最新一輪在收到下一條用戶消息前保持展開、且每步只出現進度行,可在 profile 的 cordis.patch.yml 裏爲 ui-chat 設置 collapseTiming: next-input(README 說明)。這與插件摘要配合,更接近「步進式進度條」的閱讀流。

運行機制(摘要)

客戶端在 conversation.chat.node、優先級 -1 上影子替換 assistant-step 的渲染;僅在步 落定 時請求摘要,不在流式中途調用。宿主進程提供 POST /summarize,經 ctx.llm.stream() 用配置裏的 provider/model 生成 1–2 句結果;對(截斷後的)推理文本做 SHA-1 內容哈希緩存,相同文本不重複計費。任意失敗(無路由、超時、截斷、空輸出)會降級爲內置的一行 excerpt,README 明確:插件不會讓對話比 stock 更差。

工具調用仍由 Harness 自身渲染;只 shadow assistant-step 節點。

安裝與啓用

安裝命令須使用 README 原文(勿用 github:owner/repo 自行拼接):

dsh plugin --profile <your-profile> add @drifter-yh/dsh-think-summary

部分構建可在 Settings → Plugins 裏從 registry 添加;否則用上述命令。安裝後需重啓 Harness 一次:宿主半以 fork 模塊加載,不能熱替換。

插件以當前 DSH 進程的權限運行;安裝前建議自行審閱 源碼 與 MIT 許可證。社區目錄站 SkillHub 插件頁 與 GitHub 無 DeepSeek / 幻方官方從屬關係。

配置

配置寫在 profile 的 cordis.patch.yml,或使用插件配置面板。README 給出完整示例:

- id: think-summary
  name: '@drifter-yh/dsh-think-summary'
  config:
    provider: opencode-go          # any registered LLM route
    model: deepseek-v4.1-flash     # a cheap, fast model is the point
    enabled: true                  # master switch; false = no model calls at all
    maxOutputTokens: 2000          # budget for (reasoning + answer) tokens
    maxInputChars: 6000            # longer reasoning is clamped head+tail
    maxCallsPerSession: 300        # per-session cost ceiling
    maxCallsTotal: 600             # per-process cost ceiling

常用項含義(默認值以 README 表格爲準):

Key 默認 含義
enabled true 總開關;false 保留 UI 但不發起模型調用
provider / model opencode-go / deepseek-v4.1-flash 摘要用的路由
maxInputChars 6000 超長推理頭尾截斷
maxOutputTokens 2000 單次 completion 預算
timeoutMs 25000 單次調用超時
minChars 160 短於該長度的步不調用
maxCallsPerSession / maxCallsTotal 300 / 600 會話 / 進程硬上限
cacheFile ~/.dsh/storages/think-summary/cache.json 本地持久緩存

瀏覽器應急關閉(不改 profile):在控制台執行 localStorage.setItem('dsh-think-summary.enabled', 'false'),僅對當前頁停請求。

成本、延遲與限流

每個落定步對應一次廉價調用。README 在 deepseek-v4.1-flash 上給出典型單步約 3–20 s、輸入數千 token、輸出約三行短文的量級;40 步量級在多數路由上「遠不到一個貨幣單位」,但仍是付費能力,故配置裏有 session/process 上限。

超過三小時的歷史會話不會回填摘要,避免打開舊對話觸發調用風暴。客戶端另有10 分鐘滑動窗口 60 次自限流;窗口滿時行內顯示「摘要已暫停」,滑出窗口後自動恢復。宿主側 budget/disabled 的 skipped 會在十分鐘內抑制重複請求,避免滾動重複打端點。

隱私與安全

推理文本僅發向你配置的 provider(與對話同源)。摘要緩存在本地 cacheFile 路徑。HTTP 端點 /dsh-think-summary/* 僅接受 loopback,請求體上限 512 KB,摘要須 POST,併發模型調用最多 2。README 聲明無遙測、無除模型請求外的額外出網。

適用場景與注意

適合:長時間 Harness 任務、需要掃讀「現在在幹什麼」又不想丟完整 CoT 的開發者;已具備可註冊的便宜快速模型路由(默認 deepseek-v4.1-flash 即爲此設計)。

注意:

  • 依賴 Harness 對 assistant-step 節點契約;大版本變更可能破壞 shadow renderer(有 error boundary 回退純文本)。
  • Prompt 要求中文要點;README 寫明暫不支持其他語言 bullet。
  • 文中 @path 文件提及目前按純文本顯示。
  • 部分路由的 reasoning effort 無法關閉,maxOutputTokens 需爲 thinking 留空間,默認 2000 即出於此因。

故障排查(節選)

現象 建議檢查
完全沒有要點 插件是否啓用;curl http://127.0.0.1:<port>/dsh-think-summary/status
顯示「摘要已暫停」 懸停看原因:限流窗口或 budget;可調高 maxCallsPerSession / maxCallsTotal
宿主日誌「摘要輸出超長」 提高 maxOutputTokens 或降低 maxInputChars
Harness 升級後摘要停掉 帶版本與控制台錯誤到倉庫提 issue

結尾

dsh-think-summary 用「每步額外一次本地摘要調用」補上 DSH 沒有 reasoning-summary 通道的空檔:界面保持 Codex 式的可掃讀進度,完整推理仍在單擊之內。安裝用 dsh plugin --profile <your-profile> add @drifter-yh/dsh-think-summary,配好 cordis.patch.yml 中的 provider/model 與預算項後即可使用。

  • 目錄頁:https://www.skillhub.cn/plugins/Drifter-yh/dsh-think-summary
  • 源碼與文檔:https://github.com/Drifter-yh/dsh-think-summary
羽毛球分组比赛记分
小程序二维码

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

小夜