前言¶
DeepSeek Harness(DSH)採用插件化架構。在桌面端,官方行爲是:切換頁面或重啓應用後,輸入框的文字草稿會保留,但上傳的圖片或文件通常會丟失。本插件通過 IndexedDB 捕獲這些附件,並在恢復時走官方的 createDrafts 通道重建,讓附件像文字一樣持久化。
核心功能¶
- 持久化草稿附件:支持 DSH 輸入框的圖片/文件草稿,跨頁面切換和重啓應用後自動恢復。
- IndexedDB 存儲:基於瀏覽器 IndexedDB,按會話記錄附件的字節和元數據。
- 官方通道恢復:不修改官方源碼,通過官方插槽和
createDrafts/addAttachments通道重建草稿。 - 同步機制:支持自動捕獲和清空同步,發送成功或手動刪除附件後,IndexedDB 中的記錄會自動清空。
安裝與啓用¶
本插件需要本地安裝。編輯 ~/.dsh/profiles/desktop/package.json 文件,按順序執行以下步驟:
- 在
dependencies字段中加入:
"dsh-draft-attachments": "file:D:/桌面/AI Port/DSH plugins/dsh-draft-attachments"
- 在同一文件的
dsh.profile.bundles數組中加入:
"dsh-draft-attachments"
- 在 profile 目錄下執行:
pnpm install
- 重啓 DeepSeek Harness。
典型用法¶
安裝完成後,在 DSH 輸入框上傳圖片或文件。此時切換到其他頁面、切換會話,或者關閉並重啓 DSH,再回到該會話時,未發送的附件會自動恢復到輸入框,縮略圖原樣重現。手動刪除附件或發送成功後,草稿記錄會自動清空。
適用場景與注意¶
- 限制:單附件大小限制 30 MB,單會話總大小限制 120 MB。超過限制的附件不會持久化。
- 恢復時機:僅在輸入區掛載且當前沒有附件時恢復。如果在提交鎖定相位(
adjudicating/submitting),回填會被拒絕,需等下次掛載再試。 - 源碼修改:插件不修改任何官方源碼,失敗時僅警告,不影響正常輸入。
- 數據存儲:插件數據存儲在瀏覽器的 IndexedDB
dsh-draft-attachments庫中。 - 卸載:卸載需從
package.json的dependencies和dsh.profile.bundles中移除條目,執行pnpm install並重啓。
結尾¶
該插件通過官方插槽實現草稿附件的持久化,解決了 DSH 桌面端切換會話丟失附件的問題。源碼與文檔見目錄頁或 GitHub。