dsh-draft-keeper:防止切走对话后丢失的图片草稿

前言

DeepSeek Harness (DSH) 提供了插件化的扩展能力。在智能体开发中,向输入框粘贴图片通常被视为内存中的临时草稿。当输入框因切换对话或重渲染而重新挂载时,这些草稿会丢失,导致需要重新粘贴。

dsh-draft-keeper 是一款由 XWIDE 维护的插件,旨在解决这个问题。

插件简介

该插件的核心价值在于“镜像图片到 IndexedDB,按会话存储”。它通过本地存储机制,在输入框重新挂载时自动重建 File 对象并恢复图片,解决了切走对话再回来后图片丢失的问题。

核心能力

  1. 自动镜像与恢复:插件会镜像输入框中的图片草稿到浏览器的 IndexedDB 中。当输入框重新挂载时,它会自动尝试恢复这些图片。
  2. 自动清理:当消息发出或手动删除图片后,存储中的对应记录会立即清除。
  3. 范围限制:插件仅处理 kind === "image" 的草稿,不干扰文档或其他文件类型的处理。
  4. 容量限制:每个会话最多支持 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 进程或界面。

使用方法

  1. 在输入框粘贴一张图片。
  2. 切换到另一个对话。
  3. 切换回原来的对话。
  4. 图片会自动出现在输入框中。

兼容性与限制

  • 宿主环境:依赖 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 中常见的草稿丢失问题,适合需要频繁粘贴图片进行调试或开发的场景。

GitHub 仓库 | 技能目录

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜