dsh-ds-attach:DeepSeek Harness 的附件上传与文档文本注入插件

前言

在 DSH 的 web 客户端里,上传文档并让模型读取文本,是一个常见需求:需要选择 PDF、DOCX、XLSX、TXT/MD/代码文件,看到类似 chat.deepseek.com 的文件卡片,并把提取后的文本随消息发给模型。

dsh-ds-attach 是 wqx-txdsyl 维护的一个 DeepSeek Harness 插件,提供附件上传、DS 风格文件卡片、拖拽上传、文本提取和消息内附件展示。下面介绍它的功能、安装和配置。

这是什么

dsh-ds-attach 是一个 DeepSeek Harness 插件,复刻 chat.deepseek.com 的附件上传、DS 风格文件卡片、拖拽上传和 PDF/DOCX/XLSX/TXT 文本提取/注入消息能力。

维护者为 wqx-txdsyl,许可证为 MIT。下面是已核实的版本与依赖信息:

package.json: 0.1.0
peerDependencies: @deepseek-ai/cordis ^4.0.1
license: MIT

README 称该插件依赖 pdfjs-dist、mammoth、xlsx,为纯 JS、无原生编译。

核心功能

  • 上传入口:输入框工具栏左侧提供回形针上传按钮,可多选任意文档或图片;非图片文件拖到页面任意位置即上传。
  • 文件卡片:尺寸为 240×64px,圆角 16px,边框 1px,包含官方彩色文档图标和删除按钮。
  • 状态流转:支持上传中、解析中、完成、未提取到文本、上传失败。
  • 文本提取:支持 PDF、DOCX、XLSX、TXT/MD/代码;默认字符预算为 15 万字符,在段落边界截断。
  • 消息展示:用户消息中用自定义 user 节点渲染器显示文件卡片,priority 为 -1;卡片可显示文件名、图标、大小,点击展开全文。
  • 发送后清空:发送消息后,输入框附件区自动清空。
  • 图片处理:图片自动走 DSH 原生视觉附件管线。
  • 扫描版 PDF:无文字层时自动渲染页图并调用视觉模型 OCR。
  • 文本注入:提取文本随消息结构化注入,供模型读取。

host 侧提供以下接口:

/ds-attach/upload
/ds-attach/file
/ds-attach/meta

文件存储路径如下:

$DSH_HOME/ds-attach/<sessionId>/

文件按会话隔离,并有路径穿越防护。

安装与启用

先从 GitHub 安装插件:

dsh plugin --profile web add github:wqx-txdsyl/dsh-ds-attach

也可以使用本地绝对路径安装:

dsh plugin --profile web add <本目录绝对路径>

安装完成后,重启 dsh web 使插件生效。

如果安装插件时提示 allowBuilds,按提示添加即可。

典型用法

下面按使用步骤说明。

1、上传文件:点击回形针按钮选择文档或图片;非图片文件也可以拖到页面任意位置上传。

2、查看解析状态:文件卡片会显示上传中、解析中、完成、未提取到文本或上传失败。

3、发送消息:附件卡片随用户消息展示;输入框附件区自动清空。

4、扫描版 PDF OCR:需要配置以下任一 key:

DEEPEYE_API_KEY
BOOK_OCR_API_KEY

未配置 key 时,会显示未提取到文本。

OCR 默认使用智谱 glm-4v-flash,默认 baseUrl 如下:

https://open.bigmodel.cn/api/paas/v4

可调整的配置项如下:

DS_ATTACH_MAX_CHARS
DS_ATTACH_FORCE_OCR=1
DS_ATTACH_TEXTLAYER_ONLY=1
BOOK_OCR_SCALE
BOOK_OCR_CONCURRENCY
BOOK_OCR_CROP_TOP
BOOK_OCR_CROP_BOTTOM
BOOK_OCR_MODEL
BOOK_OCR_BASE_URL
BOOK_OCR_MAX_TOKENS
BOOK_OCR_TIMEOUT_MS

其中,BOOK_OCR_SCALE 默认 3,BOOK_OCR_CONCURRENCY 默认 2,BOOK_OCR_CROP_TOP 默认 0.07,BOOK_OCR_CROP_BOTTOM 默认 0.08;BOOK_OCR_CROP_TOP 和 BOOK_OCR_CROP_BOTTOM 设为 0 可关闭裁剪。

字符预算可用 DS_ATTACH_MAX_CHARS 调整,默认 15 万字符。

适用场景与注意

适合在 DSH web 客户端中上传 PDF、DOCX、XLSX、TXT/MD/代码文件,并需要把文档文本提供给模型读取的场景。

注意以下几点:

  • 插件以当前 dsh 进程权限运行;安装前应检查源码、依赖和许可证。
  • 许可证为 MIT,peerDependencies 为 @deepseek-ai/cordis ^4.0.1。
  • DS_ATTACH_FORCE_OCR=1 会强制 OCR;DS_ATTACH_TEXTLAYER_ONLY=1 会禁用 OCR。
  • OCR 依赖 DEEPEYE_API_KEY 或 BOOK_OCR_API_KEY,未配置时无法完成扫描版 PDF 的 OCR。
  • 社区目录应视为独立插件目录,不等同于 DeepSeek 官方应用商店。

链接

dsh-ds-attach 提供上传、卡片展示、文本提取和消息注入能力,适合 DSH web 客户端的文档附件场景。

GitHub:

https://github.com/wqx-txdsyl/dsh-ds-attach

目录页:未提供已核实 URL。

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

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

Xiaoye