前言¶
在 DeepSeek Harness(DSH)開發長對話應用時,常見的場景是:先討論部署,再修改界面,之後又回頭處理部署問題。如果每輪都保留全部歷史,上下文會迅速膨脹,增加成本並可能觸及上下文窗口限制;如果全部丟棄,當話題切回舊內容時,模型可能無法連貫回答。
dsh-jev-context 解決這個問題:它在每輪對話開始時,利用 JEV 模型評估歷史片段與當前請求的相關性,將暫時無關的內容收起,並在話題切回時從原始日誌中恢復。
插件介紹¶
dsh-jev-context 是一個爲 DeepSeek Harness 提供上下文裁剪與召回能力的插件。它通過 JEV 相關度評分,自動決定保留哪些歷史片段,並記錄每一輪的保留/收起情況及 token 變化。該插件由 YIRC99 維護,遵循 MIT 協議。
核心功能¶
該插件主要提供以下能力:
* 按相關度裁剪:根據 JEV 評分,將低相關度的歷史片段替換爲省略標記,從而縮短上下文。
* 舊話題召回:當被收起的片段再次相關時,會從原始會話日誌中恢復。
* 可視化面板:在 Web 界面側欄底部提供面板,記錄每輪的決策、保留/收起情況以及上下文 token 的變化。
* 保護近期內容:默認保留最近 1 個片段,不參與評分。
* 容錯機制:如果判斷失敗(如未配置 Key 或請求超時),插件會跳過本次選擇,不阻斷對話繼續進行。
安裝與啓用¶
安裝需要先獲取源碼,構建後添加到 DSH profile。
- 克隆源碼並構建
git clone https://github.com/YIRC99/dsh-jev-context.git
cd dsh-jev-context
pnpm install
pnpm build
- 添加插件
將構建後的本地目錄路徑替換到下面的命令中:
dsh plugin --profile web add file:/absolute/path/to/dsh-jev-context
安裝後,重啓 `dsh web` 服務。
- 配置
在側欄底部打開「JEV 配置」,填寫你的 JEV / TypeSafe API Key 並保存。
使用方法¶
- 確保側欄底部的「JEV 配置」已開啓且 Key 已保存。
- 在有歷史內容的會話中發送新的請求。
- 插件會在本輪對話開始時執行相關度判斷。
- 切換回側欄底部的面板,查看本輪哪些片段被保留、收起,以及上下文 token 的變化。
注意事項¶
- 依賴 API Key:插件需要你自行提供 JEV / TypeSafe API Key。
- 本地安裝更新:本地安裝是複製目錄,源碼變動後不會自動生效。更新代碼需要重新構建,並從 profile 中移除再添加該插件。
- 開關行爲:關閉插件開關不會自動恢復之前被收起的片段,只是停止後續的裁剪判斷。
- 召回限制:插件的判斷依賴對歷史片段的摘要提取,如果關鍵信息未被包含在摘要中,可能會被錯誤地收起。
生態背景¶
DeepSeek Harness 的理念是「一切皆插件」。dsh-jev-context 屬於社區插件,社區目錄(如 SkillHub)是獨立站點,與 DeepSeek 或幻方無官方從屬關係。
參考資源¶
- GitHub: https://github.com/YIRC99/dsh-jev-context
- 社區目錄: https://www.skillhub.cn/plugins/YIRC99/dsh-jev-context