前言¶
在 DeepSeek Harness(DSH)中,直接往输入框粘贴图片,内核通常只把它当作内存里的 object URL,不立即上传到磁盘。这导致两个问题:其一,官方的 @ 菜单里找不到这张图;其二,没有固定的编号,无法在长对话中精确指代它。dsh-picflow 解决了这个缺口:它将粘贴操作转化为一次入库,赋予图片固定的编号(如 图片506),并在输入框旁提供面板进行管理和插入。
工作原理¶
插件会每 350 毫秒读取一次输入框的实时草稿附件,将图片字节 POST 给宿主路由,由宿主调用官方 attachments.saveImage 接口。这套流程保证了图片以同一套规范入库,拥有相同的 SHA256 和对象。编号则依据全库文件的修改时间(mtime)升序排列,最早的那张固定为 图片1,后续新增的图片编号只会更大。
核心功能¶
粘贴即入库与编号固定¶
粘贴的图片会自动进入附件库并分配编号。编号在全库范围内唯一且固定,即便你未发送该图片,它也会被收录,方便后续引用。
输入框旁的面板与搜索¶
输入框旁展开「引用素材」面板,显示最新图片。面板包含缩略图、编号、时间、大小,并提供操作按钮:
* 插到光标处:在光标位置插入引用芯片。
* 挂上:将图片存为当前消息的附件,供模型直接查看。
* 路径:复制 Markdown 引用。
* 全屏查看:点击缩略图查看大图。
面板支持搜索与筛选,可按编号、日期(如 10-04)、文件名、SHA 前缀或大小(如 128kb)搜索。排序支持最新/最早/最大,翻页每次加载 120 张。
时间桶与状态桶¶
- 时间桶:顶部固定筛选栏,提供「全部」「近3天」「近7天」「近30天」「更早」,具体日期通过「按日期」开关展开。
- 状态桶:第二排提供「用过」「没用过」「已置顶」「大文件」「小噪音」「可清理」等筛选,实时统计各状态图片数量。
使用账本与清理向导¶
插件会在本地记录使用情况(<DSH_HOME>/dsh-picflow/usage.json),每一次插入或挂上都会更新记录。
* 清理向导:针对「入库满 N 天(默认 14)」「从未被引用」「未置顶」「不属于当前会话」的图片提供清理选项。点击「移入回收站」会将图片搬至 <DSH_HOME>/trash/dsh-picflow/,7 天内可撤销,到期才真删。
其他能力¶
- 置顶:可手动置顶图片,置顶项不会进入清理候选。
@图片源:在@菜单中会出现「图片」分组,选中插入的即为此类引用芯片。- 自动插入:默认开启。粘贴入库后,引用芯片会自动落到光标处;关闭后需手动点击面板按钮。
安装与启用¶
支持以下任一方式安装:
curl -fsSL https://raw.githubusercontent.com/XWIDE/dsh-picflow/main/install.sh | sh
桌面端(Windows):
iwr https://raw.githubusercontent.com/XWIDE/dsh-picflow/main/install.ps1 -useb | iex
手动安装:
dsh plugin --profile web add git+https://github.com/XWIDE/dsh-picflow.git
安装完成后,需重启承载插件的应用(如 DSH NEXT 或 dsh web 进程),以便宿主注册 HTTP 路由。
典型用法¶
- 粘贴入库:在输入框粘贴截图,图片自动编号并入库。
- 插入引用:在面板中点击「插到光标处」,或开启自动插入功能。
- 精准引用:在对话中输入
图片506,或通过面板搜索找到该图片。 - 管理历史:使用清理向导筛选「可清理」的图片,移入回收站。
注意事项¶
- 本地运行:插件不联网,所有操作在本地完成,无外部依赖。
- 必入库行为:粘贴的图片即便未发送,也会进入附件库。这是设计取舍,清理向导是为此准备的补救机制。
- 格式与大小:支持 PNG、JPEG、WebP、GIF。单张图片最大 20MB(官方库),请求体上限 24MB。
- 环境要求:需要 Node.js 22.19+ 或 24+。
- 兼容性:已针对 DSH 0.2.0-rc.2 实测验证。
结语¶
dsh-picflow 通过拦截粘贴操作,将零散的内存附件转化为可管理的本地资源,解决了在长对话中引用截图的痛点。它提供了从粘贴、编号、面板管理到清理的完整闭环,适合需要频繁处理截图的智能体开发者使用。