前言¶
在 DeepSeek Harness(DSH)中,會話越長,下一次請求攜帶的表層歷史可能越多。已有做法通常依賴自動壓縮或人工清理;如果想讓模型自己判斷哪些表層歷史可以替換成摘要,就需要一個能複用 DSH compaction 事務的插件。
aerince/dsh-active-context-pruning 提供這一能力:它讓模型提供摘要,再通過 DSH 的官方 compaction 路徑,從下一次請求的表層中隱藏一段歷史。該過程不修改原始 session.events。
這是什麼¶
aerince/dsh-active-context-pruning 是 aerince 維護的 DSH host plugin。資料中給出的倉庫標識是 aerince/dsh-active-context-pruning,包名是 dsh-active-context-pruning。
它解決的問題是:在 DSH 會話中,讓模型主動選擇一段表層 seq 範圍,並用自己的摘要替換這段歷史,使後續請求的表層上下文變短。
關鍵信息如下:
- 許可證:
MIT - 版本:
0.1.0 - Node engines:
^22.19.0 || >=24.0.0 - 插件類型:host plugin,需要
tools - 自身行爲:不發起網絡請求,沒有
prepare安裝腳本 - 數據邊界:複用 DSH 已有 compaction 事務,不修改原始
session.events
注意:這不是 @deepseek-ai/dsh-acp;後者指 Agent Client Protocol。
核心功能¶
資料中列出的功能如下:
| 工具或命令 | 作用 |
|---|---|
acp_status |
查看用量、表層 seq 表、檢查點 |
acp_compress |
用模型提供的 summary 替換一個表層 seq 範圍 |
acp_decompress |
讀取被隱藏的原文;不撤銷表層替換 |
acp_search |
搜表層和已壓縮原文 |
/acp |
給人看的狀態命令 |
acp_decompress 只能讀取被隱藏的原文,不能撤銷已經發生的表層替換。原文仍保存在 session.events 中,只是作爲工具結果返回。
安裝與啓用¶
安裝前提是可用的 dsh、pnpm 和 git,並確認 Node 版本滿足 ^22.19.0 || >=24.0.0。
示例使用 web profile。如果使用其他 profile,請替換命令中的 web。
安裝最新 main:
dsh plugin --profile web add github:aerince/dsh-active-context-pruning
安裝可復現版本 v0.1.0:
dsh plugin --profile web add github:aerince/dsh-active-context-pruning#v0.1.0
沒有 CLI 時,可在 Desktop 插件面板粘貼同一個 github: source spec。
DSH 會把插件寫入:
$DSH_HOME/profiles/<profile>
請確認 CLI 與 Desktop 使用的是同一個 DSH home。安裝後重啓 DSH。
實際調用 acp_compress 前,還需要加載提供 ctx.compaction.compactRegion 的 @deepseek-ai/dsh-compaction-basic。
驗證與典型用法¶
1、先確認插件進入配置樹。運行:
dsh --profile web --dump-config
配置樹中應出現 active-context-pruning。
2、在新會話中確認工具可用。新會話中應出現 acp_* 工具和 /acp。
3、可選:在源碼目錄運行純函數自檢:
node check.js
4、在會話中使用 /acp 查看狀態,再根據需要調用 acp_status、acp_search、acp_compress 或 acp_decompress。
使用限制與注意¶
- 不能壓最新
preserveRecent條表層。默認preserveRecent爲2,包含當前未閉合工具調用。 - 壓縮範圍必須工具配對平衡。
- 摘要必須比被藏內容短,否則官方引擎會拒絕。
acp_decompress不撤銷replace。原文仍在session.events,只作爲工具結果返回。config是 profile patch 行的完整替換,不是深合併;修改時請保留所有需要的鍵。- 插件是 host plugin,需要
tools;自身不發起網絡請求,也沒有prepare安裝腳本。 - 它會隨當前 DSH 進程加載工具。安裝前請檢查源碼與許可證。
結尾¶
aerince/dsh-active-context-pruning 的價值在於:它不把壓縮做成黑盒替換,而是給 DSH 會話提供一組 acp_* 工具,讓模型基於表層 seq 做主動壓縮,同時保留原始 session.events。它適合已經使用 DSH、希望控制上下文壓縮邊界的開發者。
- GitHub:https://github.com/aerince/dsh-active-context-pruning
- 目錄頁(資料給出的 URL,社區目錄頁,不等同於 DeepSeek / 幻方官方應用商店):https://www.skillhub.cn/plugins/aerince/dsh-active-context-pruning