在開發 DeepSeek 智能體或使用 DeepSeek Harness(DSH)進行模型調優時,調試 Prompt 緩存命中率往往依賴於 Provider 控制台的反饋,難以在本地快速定位是哪部分輸入變化導致了緩存未命中。CacheScope 插件直接在 DSH 側記錄 llm/stream 嘗試,並提供桌面儀表盤,展示 Provider 報告的緩存 Token 使用量,並對比 DSH 側相鄰邏輯輸入的差異。
核心功能¶
CacheScope 主要提供以下能力:
- 桌面儀表盤:記錄並展示已觀察到的 LLM 調用嘗試,無需修改模型請求或註冊模型可見的工具。
- 診斷能力:
- 對比兩輪對話,分析 Provider 緩存讀取率。
- 檢查相鄰輸入診斷和彩色輸入樹。
- 篩選與管理:支持按會話、提供商、模型、目的、生命週期和證據進行篩選,支持診斷排序、實時跟隨以及複製元數據。
安裝與啓用¶
在 Web 配置文件中安裝該插件並啓動 DSH:
dsh plugin --profile web add @kober-basket/dsh-cachescope
dsh web
安裝完成後,在瀏覽器打開 http://127.0.0.1:3080/cachescope 即可訪問儀表盤。
典型用法:快速開始¶
以「快速開始:比較兩輪對話」爲例:
- 在 DSH 對話中發送第一條消息。這一步會創建本地的比較基線。
- 在同一個 Session 中發送第二條消息,保持 Provider、模型、System Prompt 和啓用的工具不變。
- 在 CacheScope 中選中第二次對話調用。查看頂部的 Provider Cache Read 比率,然後檢查相鄰輸入診斷和彩色輸入樹。
適用場景與注意¶
- 適用場景:需要直觀瞭解 Prompt 緩存使用情況,排查緩存命中率變化原因的開發者。
- 隱私注意:安裝的插件包默認開啓
captureInput: full。默認情況下,DSH 進程內存中最多保留最近的 12 個完整邏輯輸入,每個輸入最大 2,000,000 UTF-8 JSON 字節。如果不需要檢查完整輸入,建議在配置中使用captureInput: metadata。
- id: cachescope
name: '@kober-basket/dsh-cachescope'
config:
captureInput: metadata
- 數據與訪問:
- 嘗試記錄和保留的完整輸入僅存在於 DSH 進程內存中,DSH 進程停止後,服務器端的副本會消失。
- 儀表盤僅在 DSH WebServer 綁定到
127.0.0.1時註冊。 - 複製 JSON 功能會將選中的完整輸入寫入操作系統剪貼板。
- 指紋說明:元數據指紋使用進程內的隨機 HMAC 密鑰生成,無法跨進程重啓進行比較。
CacheScope 提供了本地 Prompt 緩存的可觀測性,幫助開發者在不依賴外部控制台的情況下快速診斷輸入變化與緩存策略的關係。更多詳情請查閱插件目錄或 GitHub 倉庫。