前言¶
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。