dsh-recap:爲 DSH 會話生成逐請求回顧鏈

前言

在 DSH 中調試或復現一次長會話時,常見的問題是原始消息、工具調用和模型請求交錯,直接重讀上下文成本較高。dsh-recap 把每一次模型請求(turn:step)新增的數據總結成一句話,並按時間順序追加成一條回顧鏈,用來快速查看一個會話做了什麼。

這是什麼

  • 名稱:Howardzhangdqs/dsh-recap
  • 維護者:Howardzhangdqs
  • 定位:DeepSeek Harness(DSH)的會話回顧總結插件
  • 許可證:MIT

它面向 DSH 的 web/客戶端場景,不向會話日誌寫入事件,也不注入消息;總結結果持久化在插件自有文件中。

核心能力

逐請求生成回顧句

插件監聽 session/event,將每次模型請求新增的數據總結爲一句,並追加到回顧鏈中。

對話內會顯示回顧行,每句總結穿插在產生它的那次模型請求的全部內容之後。

緩存友好的增量生成

生成總結時,已有句子會逐字作爲前綴;除最新新增數據 Δ 外,輸入幾乎可命中 provider 前綴緩存。

對主會話零寫入

捕獲爲只讀監聽,不向會話日誌寫入任何事件,也不注入消息。

持久化寫入插件自有文件:

~/.dsh/recap/sessions/<sessionId>.jsonl

可配置總結路由

可單獨指定總結路由的 provider 與 model。

未指定時,先跟隨會話當前路由,再退到宿主默認模型。

無思考生成

總結調用默認:

reasoningEffort: 'off'

DeepSeek 適配器映射爲:

thinking: disabled

若路由不支持 off,會自動降級爲 low 或省略字段。

HTTP API

提供以下接口:

POST /recap/api/list
POST /recap/api/generate
POST /recap/api/stats
POST /recap/api/clear
POST /recap/api/settings
POST /recap/api/settings.update
POST /recap/api/providers

HTTP API 與 /api 使用相同的瀏覽器信任校驗。

模型工具

toolsEnabled 默認關閉。

開啓後可註冊模型工具:

recap_read(limit?)
recap_refresh()

開啓後,工具 schema 會隨會話請求發送。

限流重試

生成請求遇到 RATE_LIMIT 時,會按指數增長退避重試;等待期間,行內狀態標識會顯示限流等待信息。

安裝與啓用

預構建安裝

本插件不發佈 npm,官方安裝使用 GitHub Release 的預構建 tarball。

執行以下命令:

dsh plugin --profile web add https://github.com/Howardzhangdqs/dsh-recap/releases/download/v0.1.0/dsh-recap-0.1.0.tgz

安裝完成後重啓 DSH,並強制刷新頁面:

Cmd/Ctrl+Shift+R

升級時修改 URL 中的版本號重新執行即可。

源碼安裝

先克隆並構建源碼:

git clone https://github.com/Howardzhangdqs/dsh-recap.git ~/Code/dsh-recap
cd ~/Code/dsh-recap && pnpm install && pnpm build

在 ~/.dsh/profiles/web/package.json 的 dependencies 中添加本地依賴:

"dsh-recap": "link:/home/you/Code/dsh-recap"

在 ~/.dsh/profiles/web/cordis.patch.yml 中追加掛載條目:

- insert:
    - id: recap
      name: 'dsh-recap'

然後安裝依賴:

cd ~/.dsh/profiles/web && pnpm install

若 profile 中已有人工添加的掛載條目,請先刪除,避免重複掛載。

經過上面的步驟後,重啓 DSH 並強制刷新頁面。

源碼安裝資料中寫明:README 要求 Node.js ≥ 22.13、pnpm ≥ 10;package.json 的 engines 字段聲明 node >=20。

典型用法

設置頁

在 DSH 設置頁的「會話回顧/recap」分區修改:

enabled
interval
provider
model
effort

修改即時生效。

插件設置通過自有 /recap/api/settings* 路由讀寫;DSH 的 settings RPC 不向配置客戶端開放第三方命名空間。

API

可通過 POST /recap/api/<method> 管理回顧鏈:

POST /recap/api/list
POST /recap/api/generate
POST /recap/api/stats
POST /recap/api/clear
POST /recap/api/settings
POST /recap/api/settings.update
POST /recap/api/providers

模型工具

若開啓 toolsEnabled,可調用:

recap_read(limit?)
recap_refresh()

適用場景與注意

適合需要在 DSH 會話中查看“每個請求做了什麼”的開發者、調試者或運維人員。

注意:

  • 它作爲 DSH 插件隨 DSH 加載運行,會讀取 session/event 並寫插件自有文件;安裝前應檢查源碼與許可證。
  • 許可證爲 MIT。
  • effort: off 是否真正關閉思考,取決於路由適配器與模型 reasoningEfforts 聲明;路由不支持 off 時會靜默降檔或省略字段,不報錯。
  • 修改截斷與提示詞結構相關的參數會使前綴緩存失效,這是一次性代價。
  • 本插件不發佈 npm;請使用 GitHub Release 的預構建 tarball。

鏈接

GitHub 倉庫:

https://github.com/Howardzhangdqs/dsh-recap

本資料未提供目錄頁地址。

羽毛球分组比赛记分
小程序二维码

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

小夜