前言¶
DeepSeek Harness (DSH) 提供了插件化的擴展能力。在智能體開發中,向輸入框粘貼圖片通常被視爲內存中的臨時草稿。當輸入框因切換對話或重渲染而重新掛載時,這些草稿會丟失,導致需要重新粘貼。
dsh-draft-keeper 是一款由 XWIDE 維護的插件,旨在解決這個問題。
插件簡介¶
該插件的核心價值在於“鏡像圖片到 IndexedDB,按會話存儲”。它通過本地存儲機制,在輸入框重新掛載時自動重建 File 對象並恢復圖片,解決了切走對話再回來後圖片丟失的問題。
核心能力¶
- 自動鏡像與恢復:插件會鏡像輸入框中的圖片草稿到瀏覽器的 IndexedDB 中。當輸入框重新掛載時,它會自動嘗試恢復這些圖片。
- 自動清理:當消息發出或手動刪除圖片後,存儲中的對應記錄會立即清除。
- 範圍限制:插件僅處理
kind === "image"的草稿,不干擾文檔或其他文件類型的處理。 - 容量限制:每個會話最多支持 12 張圖片或 32 MB 的存儲。
安裝與啓用¶
插件沒有界面,也沒有配置項,安裝後即可使用。
使用官方安裝腳本(Linux/macOS):
curl -fsSL https://raw.githubusercontent.com/XWIDE/dsh-draft-keeper/main/install.sh | sh
手動安裝(Web Profile):
dsh plugin --profile web add git+https://github.com/XWIDE/dsh-draft-keeper.git
安裝完成後需要重啓 DSH 進程或界面。
使用方法¶
- 在輸入框粘貼一張圖片。
- 切換到另一個對話。
- 切換回原來的對話。
- 圖片會自動出現在輸入框中。
兼容性與限制¶
- 宿主環境:依賴 Node.js 22.19+ 或 24+。
- DSH 版本:兼容 DSH 0.2.0-rc.1 (compatible) 和 0.2.0-rc.2 (tested)。
- 隱私安全:數據僅存儲在本地瀏覽器的 IndexedDB 中,無網絡請求或遙測,無界面交互。
- 隔離機制:存儲按瀏覽器 Profile 和會話隔離。
- 恢復時機:恢復僅在輸入框空閒且處於
plain階段時嘗試,最多重試 6 次。
結語¶
dsh-draft-keeper 通過本地緩存解決了 DSH 中常見的草稿丟失問題,適合需要頻繁粘貼圖片進行調試或開發的場景。