前言¶
在 DeepSeek Harness(DSH)裏跑長會話時,上下文會不斷堆疊:系統指令、用戶消息、助手回覆、工具輸出、附件引用等。Harness 自帶自動 compaction,但開發者往往需要在「減 token」和「保留決策與約束」之間自己權衡,且希望在改上下文之前看到替換結果。
下面介紹社區插件 dsh-context-manager(GitHub:SkanderBog/dsh-context-manager)。它在會話標題旁增加 Context 入口,並在命令菜單提供 /context-manager,用於查看用量、按歷史分組選擇保留 / 摘要 / 省略,並在確認預覽後再寫入 checkpoint。插件不修改桌面源碼,不依賴額外後臺服務或專用 model tool。
這是什麼¶
dsh-context-manager 是面向 DeepSeek Harness 0.2.0-rc.2 及更高版本的獨立 feature 插件(當前發佈版本 v0.2.0,MIT 許可證)。維護者爲 SkanderBog;在 SkillHub 社區目錄中歸類爲「記憶」。
一句話定位:Inspect and selectively compact DeepSeek Harness conversation context with reviewable checkpoints——即「檢查並選擇性壓縮會話上下文,且壓縮結果經可審查的 checkpoint 落地」。
核心功能¶
上下文面板與用量分解¶
打開 Context 後,可查看估計的上下文佔用及構成,包括:instructions、用戶消息、助手回答、stored reasoning、工具/文件輸出、工具定義、附件引用等。
面板將 local context(Harness 上下文計量器的會話表面估計)與 the last reported model request(最近一次可用 usage 的 provider 輸入/輸出計數)分開顯示。缺失的 usage 顯示爲 unavailable,不會顯示爲 0。
若當前 agent 可見 acp_status 工具,可點擊 Read ACP status 經 Harness 常規模型工具與權限管道讀取報告(不發起 model 請求,約 10 秒超時)。這與 ranxianglei/billion-context 等 ACP 邊界兼容,但不要求安裝這些項目。
分組策略:Keep / Summarize / Omit¶
對較舊的歷史分組,可分別選擇:
- Keep:保留完整交換(含 reasoning 與 tool 配對結構)。
- Summarize:用普通文本 checkpoint 替換整段「平衡」範圍。
- Omit:從活躍上下文中移除。
受保護內容(不可被上述操作隨意拆掉)包括:最新一輪交換、system/developer instructions、Harness instruction/catalog/runtime 快照、未完成的 tool 交換。
摘要輸入是新的、無 tool 的文本 transcript:不含 reasoning,文檔內容標爲 data,並提示模型保留目標、決策、約束、已驗證結果、路徑與未完成工作。插件不會改寫保留消息上的 reasoning 或 provider 元數據——這是爲避免 adapter 重放時因缺少 reasoning signature 或完整 tool-call/result 而損壞會話。
工具輸出與決策筆記¶
生成摘要前,可配置摘要對 recorded tool/file outputs 的處理:摘要、保留原文或省略。「Keep original text」保留的是日誌裏記錄的輸出文本,不會重新讀盤或保留圖像像素;附件圖像不會做視覺摘要,需保留含附件的分組。
可選 Add notes to preserve:爲選中分組寫入決策、被拒方案及原因、風險或下一步等。筆記以 verbatim 塊附加到經審查的 checkpoint,後續 Context Manager 摘要會保留合法 note 塊及出處。單條筆記上限 2000 字符;一個 summary range 最多 32 條筆記、合計 16000 字符,超限會在調用模型前拒絕。
預覽、應用與壓縮歷史¶
典型閉環:
- 生成 preview(摘要請求可能走當前會話最近路由的模型;標記
purpose: 'compaction'時,宿主插件可路由到專用 summarizer)。 - 查看替換文本、筆記、生成 usage、估計的 local token 變化。
- 勾選 review 後 Apply(僅當 agent idle 時允許)。
Preview 在約 10 分鐘、新 preview、插件重載或會話變更後過期;未 Apply 前不改變活躍上下文。Omit 類 preview 不調用模型。Apply 後寫入標準 Harness compaction 事件;原始 log 仍在,但本版本無一鍵 undo。Keep 僅對本次操作生效,不能永久釘住以對抗 Harness 自動 compaction。
Load compression history 讀取 Harness 標準 compaction/summary 記錄;View originals 只讀展示來源 event ID 對應的消息(不恢復進模型上下文)。長會話有分頁與字符上限,以保證面板響應速度。
安裝與啓用¶
插件以 DeepSeek Harness 插件運行時爲目標,不是 DeepSeek 消費端聊天應用。package.json 聲明 Node ^22.19.0 || >=24.0.0,以及 DSH >=0.2.0-rc.2(Store 兼容矩陣還列出 0.2.1-alpha.1、0.2.1-alpha.2、0.2.1-rc.2)。
官方 README 給出的打包安裝方式如下。先從 v0.2.0 Release 下載歸檔,再執行(將 profile 名與路徑換成你的環境):
dsh plugin --profile tauri add /absolute/path/dsh-context-manager-0.2.0.tgz
社區 Linux 桌面在文檔中測試過的 profile 名爲 tauri;其他桌面發行版可能使用 desktop。修改 reserved profile 前需退出對應桌面;更新插件後應重啓 Harness——僅重載前端或切換組件可能使已導入的 host 模塊仍被緩存。
部分社區桌面構建會在啓動時誤刪本地 .tgz 安裝。README 建議在該類構建上保留項目目錄,執行 npm ci 與 npm run build 後,用目錄路徑安裝:
dsh plugin --profile tauri add /absolute/path/dsh-context-manager
安裝期間需保留該文件夾。SkillHub 目錄頁當前標記 CLI 的 install/start/uninstall/rollback 操作爲 unknown,安裝前仍以 README 與 Release 爲準。
典型用法¶
在已有會話中:
- 點擊標題旁的 Context,或從命令菜單進入
/context-manager。 - 查看 local context 與組成;必要時 Read ACP status(若 agent 具備該工具)。
- 對較早的歷史分組設置 Keep、Summarize 或 Omit;配置 tool/file output 的處理方式。
- 需要時在分組上 Add notes to preserve。
- 點擊生成 preview,覈對替換文本與 token 估計,勾選 review,在 agent 空閒時 Apply。
若只需覈對過去 compaction,使用 Load compression history 與 View originals,無需再次調用模型。
適用場景與注意¶
適合:長會話智能體開發、需要人工把關再壓縮上下文、希望保留結構化決策筆記、或與 billion-context / ACP 並用時區分「本地歷史估計」與「代理側有效輸入」的場景。
權限與成本:摘要生成走 Harness 已配置的 LLM 服務,可能產生 provider usage;Omit-only preview 不調用模型。Apply 會通過 Harness 持久化寫入 compaction 事件。插件在 當前 DSH 進程權限下運行;安裝前應閱讀源碼、Store compatibility and permissions 表與 MIT 許可證,自行評估是否滿足環境要求。
分類估計使用 Harness 固定文本啓發式,各類別之和未必等於總量;CJK、tool schema、圖像計價等與 provider 賬可能不一致。摘要質量依賴模型,應用前務必審查 preview。
鏈接¶
DSH 生態強調「一切皆插件」;SkillHub 爲獨立社區站點,與 DeepSeek / 幻方無官方從屬關係。若你已在 Harness 上維護長會話,需要可審查、可筆記、可對照壓縮歷史的上下文管理,dsh-context-manager 提供的是一條不改動桌面源碼的手動 compaction 路徑。