DeepSeek Harness Hub
← 返回列表

表格附件拖拽yybukn/dsh-table-attach

DeepSeek Harnessspec-screened在 GitHub 查看 ↗
未验证

拖拽表格文档到编辑器,自动存为附件并插入引用

尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/8/31 · 已提供中文文档

在dph中可以直接拖动.xlsx和.csv的表格文件到输入框中

综合分
29.1
GitHub 分
29.1
用户评分
★ Stars
1
周下载量
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add yybukn/dsh-table-attach
该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/16(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-typert-protocol
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

dsh-table-attach

将表格与文档(.xlsx、.csv、.pdf、.zip……)粘贴或拖拽到
DSH Web 编辑器中。文件会被保存到当前会话的工作区,并在光标处插入一个
@reference,这样智能体就能读取真实的文件。

官方 DSH 编辑器在粘贴/拖拽时只接受图片(PNG/JPG/WebP/GIF)。
本插件增加了非图片文件的附件功能。

功能特性

- 粘贴与拖拽:支持文件粘贴(⌘C 复制文件后粘贴)以及拖拽。
- 任意非图片文件:电子表格、CSV、文档、PDF、压缩包、JSON……
- 保存到会话工作区:文件存放在 /attachments/
(名称冲突时自动以 -1/-2……后缀重命名)。
- 插入 @reference:例如 @attachments/report.xlsx(当名称包含空格时
写作 @"attachments/my report.xlsx")——与宿主机的 @ 提及语法一致,
以便智能体能够读取该文件。
- 默认安全:50 MiB 大小上限,阻止可执行扩展名
(.exe、.dll、.sh、.js……),并且文件名可防止路径遍历。
- 图片不受影响:PNG/JPG/WebP/GIF 的粘贴/拖拽仍走内置的图片处理路径。
- 国际化:中文 / 英文的提示消息与拖拽提示浮层。

安装

目前从 GitHub 分发(npm 发布待定):

dsh plugin add github:yybukn/dsh-table-attach

用于本地开发:

dsh plugin --profile web add /path/to/dsh-table-attach

使用方法

1. 打开任意会话(它会提供工作区)。
2. 将 .xlsx / .csv / .pdf / .zip……拖拽到编辑器中,或复制一个
文件并将其粘贴到编辑器中。
3. 提示消息会报告进度;成功后编辑器中会包含
@attachments/。
4. 发送消息——智能体即可读取所引用的文件。

粘贴表格单元格文本(从 Excel 中复制出来)会被视为普通文本
并原样通过;它不会被转换为文件。

工作原理

- 宿主端(lib/index.js)注册了一个 Typert Remote 服务
tableAttach.saveFile(agent, payload)。它会校验载荷,将
路径保持在会话工作区内,对文件名去重,并以
0o644 写入。它作为 cordis 插件运行(无需构建步骤——纯 ESM + zod)。
- 客户端(lib/client.js)是一个 Web 打包产物。它在文档级别
于对话插件的处理器之前拦截
paste/dragenter/dragover/drop,将文件进行 base64 编码,调用宿主
远程服务,并将 @mention 插入到编辑器中(编辑器是一个
Lexical contenteditable——插入通过
execCommand("insertText") 完成,与编辑器自身使用的
beforeinput 路径相同)。

安全性

- 大于 50 MiB 的文件会在字节传输之前被拒绝。
- 可执行扩展名(.exe、.dll、.app、.sh、.js、.jar……)会被
阻止。
- 文件名会被清理(不含目录、控制字符、点文件或
遍历),并且目标路径经过验证,确保其始终位于工作区内部。
- 智能体只会看到相对于工作区的引用,而绝不会看到任意的绝对路径。

开发

dsh-table-attach/
├── lib/
│   ├── index.js      # 宿主:cordis 插件 + Typert Remote 服务
│   └── client.js     # 浏览器:拦截、上传、编辑器插入
├── cordis.patch.yml  # 宿主 bundle 的加载器入口
├── dsh.plugin.json   # 插件清单
└── package.json      # 为 Web 平台导出 ./client

宿主运行在 DSH harness(Node)中;客户端运行在 Web GUI 中。从 npm 安装时,宿主的 peer 依赖(@deepseek-ai/cordis、@deepseek-ai/dsh-typert-protocol、zod)会从 profile 的共享依赖闭包中解析。若在 profile 之外进行本地 link: 安装,则需要让这些依赖可被解析(例如将 node_modules 符号链接到应用 bundle 中)——这些不属于包的一部分,且已被 git 忽略。

许可证

MIT

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群