DeepSeek Harness 插件介紹:dsh-context-lens 語義壓縮與骨架化

前言

DeepSeek Harness (DSH) 的核心版本(>= 0.1.5)原生管理上下文預算和 Token 計數,負責工具結果的剪枝和溢出策略。dsh-context-lens 插件專注於語義層面的壓縮,解決的是“發送什麼內容給模型”的問題。它將冗長的源代碼文件轉化爲結構化的 AST 骨架,將巨大的測試或構建日誌壓縮爲關鍵錯誤和摘要,從而在保持語義完整性的前提下降低 Token 消耗。

插件定位

  • 名稱:goodandready/dsh-context-lens
  • 簡介:Semantic AST Code Skeletonizer & Test Log Condenser for DeepSeek Harness
  • 維護者:GooDAnDReaDY
  • 許可證:MIT

核心功能

1. 多語言 AST 結構骨架生成器

該功能支持 TypeScript、JavaScript、Python、Go、C/C++、Rust、Java 以及 SQL DDL。它通過純正則表達式實現,不依賴重型解析器。

處理邏輯如下:
- 保留內容:導入語句、類/結構體/接口定義、導出類型、函數簽名、文檔註釋。
- 移除內容:函數或方法內部的實現體。

這允許 AI 在不閱讀具體實現細節的情況下,理解代碼的結構、類型定義和依賴關係。

2. 智能測試與構建日誌壓縮

針對 Jest、Vitest、Pytest、Go test、Cargo、Webpack、Vite、TSC、Maven、Gradle 等工具的輸出,插件提供三種壓縮模式:

  • raw:移除噪聲行,保持執行順序。
  • balanced:保留失敗部分及其周圍的上下文窗口(默認模式)。
  • aggressive:僅提取錯誤行和堆棧幀。

無論日誌大小如何,插件都會自動提取失敗信息、斷言差異(Expected ... Received ...)以及測試摘要,而忽略成功的運行記錄。

3. 路徑焦點管理

在進行代碼編輯任務時,可以指定當前活躍的目標文件或文件夾。

  • 焦點文件:返回完整的實現代碼。
  • 非焦點文件:應用 AST 骨架化處理。

焦點狀態嚴格限定在當前會話內(sessionId),用於在處理大型項目時,將上下文聚焦在當前修改的文件上。

Agent 工具使用

該插件提供兩個工具,嚴格遵循 DSH 工具規範,返回結構化輸出。

1. context_lens_code

Action 說明
skeleton (默認) 生成 AST 骨架。可指定 code、language、maxDepth、filePath。
focus 設置當前會話的焦點路徑。
get_focus 獲取當前會話的焦點路徑。
clear_focus 清除當前會話的焦點路徑。

2. context_lens_log

用於壓縮測試或構建日誌。可指定 text (或 log)、mode (raw/balanced/aggressive)、maxLines、auto、command。

  • 在 auto: true 模式下,僅對識別爲測試/構建輸出的文本進行處理。

配置項

配置通過 DSH 設置頁面(plugins.row.config / plugins.item)管理:

屬性 類型 默認值 描述
compressionMode string 'balanced' 日誌壓縮的激進程度。
astSkeletonMaxDepth number 3 AST 骨架生成的最大深度。
autoCompressThreshold number 4000 觸發自動壓縮日誌的字符閾值(0 爲禁用)。

注意事項

  • 核心版本依賴:上下文預算和 Token 計數由 DSH 核心(>= 0.1.5)管理,本插件僅負責語義壓縮。
  • 實現方式:基於純正則表達式,無原生依賴。
  • 會話隔離:路徑焦點狀態是會話隔離的。

生態信息

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

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

小夜