持久化 DSH 草稿附件:dsh-draft-attachments

前言

DeepSeek Harness(DSH)采用插件化架构。在桌面端,官方行为是:切换页面或重启应用后,输入框的文字草稿会保留,但上传的图片或文件通常会丢失。本插件通过 IndexedDB 捕获这些附件,并在恢复时走官方的 createDrafts 通道重建,让附件像文字一样持久化。

核心功能

  • 持久化草稿附件:支持 DSH 输入框的图片/文件草稿,跨页面切换和重启应用后自动恢复。
  • IndexedDB 存储:基于浏览器 IndexedDB,按会话记录附件的字节和元数据。
  • 官方通道恢复:不修改官方源码,通过官方插槽和 createDrafts/addAttachments 通道重建草稿。
  • 同步机制:支持自动捕获和清空同步,发送成功或手动删除附件后,IndexedDB 中的记录会自动清空。

安装与启用

本插件需要本地安装。编辑 ~/.dsh/profiles/desktop/package.json 文件,按顺序执行以下步骤:

  1. 在 dependencies 字段中加入:
    "dsh-draft-attachments": "file:D:/桌面/AI Port/DSH plugins/dsh-draft-attachments"
  1. 在同一文件的 dsh.profile.bundles 数组中加入:
    "dsh-draft-attachments"
  1. 在 profile 目录下执行:
    pnpm install
  1. 重启 DeepSeek Harness。

典型用法

安装完成后,在 DSH 输入框上传图片或文件。此时切换到其他页面、切换会话,或者关闭并重启 DSH,再回到该会话时,未发送的附件会自动恢复到输入框,缩略图原样重现。手动删除附件或发送成功后,草稿记录会自动清空。

适用场景与注意

  • 限制:单附件大小限制 30 MB,单会话总大小限制 120 MB。超过限制的附件不会持久化。
  • 恢复时机:仅在输入区挂载且当前没有附件时恢复。如果在提交锁定相位(adjudicating/submitting),回填会被拒绝,需等下次挂载再试。
  • 源码修改:插件不修改任何官方源码,失败时仅警告,不影响正常输入。
  • 数据存储:插件数据存储在浏览器的 IndexedDB dsh-draft-attachments 库中。
  • 卸载:卸载需从 package.json 的 dependencies 和 dsh.profile.bundles 中移除条目,执行 pnpm install 并重启。

结尾

该插件通过官方插槽实现草稿附件的持久化,解决了 DSH 桌面端切换会话丢失附件的问题。源码与文档见目录页或 GitHub。

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

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

小夜