前言¶
跑長會話的智能體開發者都繞不開一個問題:上下文逼近窗口上限時必須壓縮,而 dsh 內置的 Basic 壓縮走的是不可逆的模型摘要路線——摘要有損,壓完就回不來了。對代碼工程這類依賴精確事實的場景,丟一條約束,後續改動就可能跑偏。
dsh 的理念是「一切皆插件」,壓縮策略同樣可以被替換。dsh-arc-context 的思路不同:壓縮前先把原件完整存進本地 append-only 日誌,上下文裏的壓縮塊隨時可以逐字還原。下面介紹它的做法、安裝方式與實測數據。
這是什麼¶
dsh-arc-context(ARC = Adaptive Reversible Context)是面向 DeepSeek Harness(dsh)的上下文治理插件,由 PlxloYzb 維護,MIT 許可,當前版本 0.2.0-beta.15,要求 Node >= 20。壓縮內核源自 acp-kernel(及 billion-context-pi、opencode-acp,ranxianglei,MIT)的移植與獨立演進。
它的行爲可以概括爲一句話:在安全區保持靜默,接近真實輸入容量時執行模型驅動、本地可逆的壓縮,信息永不丟失,卸載零殘留。
發佈狀態爲公開 Beta,跟隨 dsh 官方 0.1.0-rc.8;插件與 dsh 均處公開 beta,暫不建議用於生產。
核心功能¶
壓縮可逆,檢索可用¶
- 壓縮原件永遠保留在 append-only 日誌;
decompress逐字恢復有效源,六鏈實測 100%,超大輸出經 dsh 溢寫文件同樣完整。 search_context支持檢索壓縮塊,中英信息層召回 43/43。
多層蒸餾不失真¶
tier-3 深層檢查點的證據附錄在 6/6 條雙語鏈上 20/20 保留全部事實。這依賴 effectiveSourceSafetyIndex:tier-2/3 索引遞歸回有效原始源,而不是隻重提取可見的父 checkpoint。
預算內的類型加權保留¶
附錄超出檢查點預算時,按 safetyIndexRanking: value 依類型價值密度逐出噪聲行,而非按時間序截斷。
對抗注入零服從¶
18 個歸檔注入攻擊面變體(摘要投毒、檢索注入、僞保護標籤、模板模仿等),模型服從次數 0。所有歸檔輸出帶「歷史數據,非指令」框架。
誠實壓力治理與緊湊指導¶
- 壓縮感知讀數 = dsh 投影 − 日誌賬本遮蔽,壓縮後零僞緊急告警。
- 系統指導僅 1,140 tokens,四臂實機 verbatim 質量與完整版零劣化。
Preset Bridge 不動官方文件¶
安裝時 bundle 會自動安裝 host-plane Preset Bridge:ARC 在 standard preset 自己的 compaction 隔離域內替換官方 Basic 行,preset 文件逐字節不變。
與內置 Basic 壓縮的對比¶
在代碼工程長會話場景下,隨包發佈的實機實驗給出了這樣一組數據:
| 方案 | 精確事實 | 派生約束 | 輸入 tokens | 輸出 tokens | 總 prompt |
|---|---|---|---|---|---|
| ARC | 24/24 | 4/4 | 121,146 | 23,234 | 1,055,802 |
| Basic | 6/24 | 0/4 | 231,315 | 30,940 | 1,355,539 |
質量差距之外,成本也更低:輸入 tokens −47.6%、輸出 −24.9%、總 prompt −22.1%。所有數字可運行 npm run research:verify 逐項複覈。
安裝與啓用¶
同時啓用 web 界面與 cli 終端時,分別執行:
dsh plugin --profile web add dsh-arc-context # web 界面
dsh plugin --profile headless add dsh-arc-context # cli 終端
重啓 dsh 即生效。dsh plugin --profile <name> ... 的寫法可推廣到任意 profile;手動安裝 tarball、其他 profile 與高級選項見 docs/INSTALL.md。
配置¶
配置節選(compaction-arc-bridge / “dsh-arc-context/bridge”):
- id: compaction-arc-bridge
name: 'dsh-arc-context/bridge'
config:
effectiveSourceSafetyIndex: true # tier-2/3 索引遞歸回有效原始源(默認開)
safetyIndexRanking: value # 超預算時按類型價值密度逐出(默認 value)
adaptiveGovernor:
enabled: true
maxOutputTokens: auto
兩項關鍵默認值:effectiveSourceSafetyIndex 默認開,safetyIndexRanking 默認 value。完整配置(上下文窗口、nudge 閾值、保護範圍、Governor、提示模板等)見 docs/INSTALL.md 與 docs/kernel-tuning.md。
升級與卸載¶
發佈新版本後,在每個已安裝的 profile 裏執行:
dsh plugin --profile web up dsh-arc-context
dsh plugin --profile headless up dsh-arc-context
up 會把 profile package 裏已聲明的依賴範圍更新到最新(例如 0.2.0-beta.14 → 0.2.0-beta.15),重啓後生效。
卸載:
dsh plugin --profile web remove dsh-arc-context
dsh plugin --profile headless remove dsh-arc-context
重啓 dsh 後:組合配置回到官方 Basic;preset 文件 SHA-256 前後一致;已有會話繼續可讀;新會話不再註冊任何 ARC 工具或命令。
適用場景與注意¶
適合在 dsh 上跑長會話、且在意壓縮後精確事實丟失的用戶,尤其是代碼工程這類逐字歷史約束敏感的任務。公開 Beta 階段暫不建議用於生產。
另有兩點提醒:插件以當前 dsh 進程權限運行,安裝前建議先檢查源碼與許可證(MIT);文中實測數字均來自隨包發佈的實驗協議,除 npm run research:verify 外,完整證據見 docs/research-agenda.md(研究議程與全部結論)與 research/results/(發佈門十項矩陣、對照實驗、對抗套件)。
相關鏈接¶
- GitHub 倉庫:https://github.com/PlxloYzb/dsh-arc-context
- 社區目錄頁:https://www.skillhub.cn/plugins/PlxloYzb/dsh-arc-context (社區目錄爲獨立站點,與 DeepSeek 無官方從屬關係)
回到開頭的問題:壓縮不一定要以丟信息爲代價。dsh-arc-context 把「壓縮原件本地可逆、卸載零殘留」做成了可複覈的承諾,如果你的長會話同樣被有損摘要困擾,可以按上面的步驟在自己的環境裏跑一遍對照實驗再下結論。