前言¶
在 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。