前言¶
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 中常见的草稿丢失问题,适合需要频繁粘贴图片进行调试或开发的场景。