前言¶
DeepSeek Harness(DSH)內置的視覺卸載默認值限制大約是 20MB 或 600 張圖片。很多 OpenAI 兼容的中繼網關(relay providers)通常在這之前就會崩潰。每次 read_image 或粘貼圖片都會保留在歷史記錄中,並在下一輪對話時重新發送。
插件介紹¶
dsh-image-amnesia 是一個 DeepSeek Harness 配置包。它由 Choco-Zz 維護,旨在保持原生視覺能力(如 Grok、Claude、GPT 等)的同時,阻止歷史圖片被重複上傳到中繼提供商。
核心功能¶
- 保持原生視覺:確保當前對話能正常使用視覺模型。
- 丟棄歷史圖片:在發送給中繼提供商的請求之前,丟棄舊的歷史圖片。
- 保留最新圖片:始終保留最新的
keepAtLeast張圖片。 - 資源優化:減少 token 使用量,防止中繼提供商崩潰。
- 全局覆蓋:配置文件中的所有代理(包括子代理和任務板任務)都會使用該插件。
安裝與啓用¶
安裝一次即可覆蓋整個配置文件,無需爲每個代理單獨安裝。
# Web Profile
pnpm dsh plugin --profile web add github:Choco-Zz/dsh-image-amnesia
# Desktop Profile
pnpm dsh plugin --profile desktop add github:Choco-Zz/dsh-image-amnesia
# 本地檢出
pnpm dsh plugin --profile web add "link:D:/CodexProjects/dsh-image-amnesia"
配置¶
插件安裝後,可以通過編輯配置文件來調整保留策略。
| Key | Default | Meaning |
|---|---|---|
enabled |
true |
總開關 |
maxImages |
6 |
出站請求中保留的圖片數量 |
maxBytes |
6291456 |
保留圖片的字節預算 |
keepAtLeast |
1 |
永遠不丟棄最新的 N 張圖片 |
可以在 settings.yaml 中編輯 image-amnesia.maxImages,或者編輯該包自帶的 cordis.patch.yml。
驗證¶
在單次會話中粘貼七張圖片。查看宿主日誌:
dsh-image-amnesia: dropped 1/7 image(s); kept 6
注意事項¶
- 安裝位置:每個配置文件安裝一次即可,不要爲每個代理單獨安裝。
- 本地存儲:本地會話仍然會存儲所有原始圖片,只有發出的出站請求會被投影處理。
- dsh.client:不要添加假的
dsh.client組件,除非它是一個真實的 lazy-CJS 客戶端包(否則會阻止 DSH Desktop 啓動)。 - 許可證:MIT 許可證。
結尾¶
該插件通過在出站請求前丟棄舊圖片並保留最新圖片,有效解決了中繼提供商因圖片過多而崩潰的問題,適合需要頻繁使用視覺功能的 DSH 配置文件。