dsh-document-reader
其他 活跃维护

dsh-document-reader

Yun-tech123/dsh-document-reader

支持PDF、Word、PPT、纯文本及代码文件的上传或拖拽导入,可将文档内容快速同步至内容编辑器(Composer),兼容主流办公与开发类文档格式,操作便捷无需额外配置。

1
Stars 标星
0
Forks 分支
1
Watchers 关注
0
Open Issues
JavaScript
主要语言
MIT
开源协议
12 KB
仓库大小
1 个月前
最后推送
一键安装扩展 / 插件指令
dsh plugin --profile web add github:Yun-tech123/dsh-document-reader
git clone https://github.com/Yun-tech123/dsh-document-reader.git
git clone git@github.com:Yun-tech123/dsh-document-reader.git
README.md main

dsh-document-reader

一个 DeepSeek Harness (DSH) 网页端插件:在聊天输入框里直接读取 PDF / Word (.docx) / PPT (.pptx) / 纯文本与代码 文件,把提取出的文字填入输入框草稿。

A DeepSeek Harness (DSH) web plugin that reads PDF / Word (.docx) / PPT (.pptx) / plain-text & code files straight into the composer, by file picker or by dragging a file anywhere on the page.

功能 / Features

  • 上传读取:输入框工具栏出现「文档」按钮,点击可选择文件(支持多选)。

  • 整页拖拽:把文档拖到页面任意位置,出现「释放以读取文档」遮罩,松手即读取。

  • 格式支持:.pdf(服务端 pdfjs-dist 精确解析)、.docx、.pptx、以及 txt / md / csv / json / yaml / 代码 等纯文本。

  • 输出上限:单文件 20 万字符,超出自动截断。

  • Upload: a "文档" button appears in the composer tool row; click to pick files (multi-select supported).

  • Drag & drop: drag a document anywhere on the page and release to read it.

  • Formats: .pdf (parsed server-side with pdfjs-dist), .docx, .pptx, and plain text like txt / md / csv / json / yaml / code.

  • Output cap: 200k chars per file, truncated with a note.

架构 / Architecture

  • 客户端 (lib/client.js):注册到 conversation.input.left 插槽,负责 UI、拖拽、以及 .docx/.pptx(ZIP + XML)和纯文本的前端解析。

  • 服务端 (lib/index.js):注册 POST /read-document/parse 路由,用 Mozilla pdfjs-dist 解析 PDF(正确支持对象流、xref stream、CID 字体、ToUnicode CMap)。

  • Client (lib/client.js): registers into the conversation.input.left slot; owns the UI, drag-and-drop, and client-side parsing of .docx/.pptx (ZIP + XML) and plain text.

  • Server (lib/index.js): registers POST /read-document/parse, which parses PDFs with Mozilla pdfjs-dist (correctly handles object streams, xref streams, CID fonts, ToUnicode CMaps).

安装 / Install

需要先安装 dsh 并可用 pnpm。

# 1. 安装到 web 配置(会自动注册到 dsh.profile.bundles)
dsh plugin --profile web add github:Yun-tech123/dsh-document-reader

# 2. 重启 web 服务
dsh web

安装后刷新页面,输入框工具栏即出现「文档」按钮。

dsh plugin 需要本机可用 pnpm;若未安装,可先 corepack enable 或 npm i -g pnpm。

手动安装 / Manual install

  1. 把本仓库克隆到本地,dsh plugin --profile web add <本地路径>。
  2. 确认 package.json 的 dsh.profile.bundles 里已包含 dsh-document-reader(dsh plugin 会自动加入)。
  3. 重启 dsh web,刷新页面。

限制 / Limitations

  • PDF 为文本提取:纯扫描件(图片型 PDF) 无文本层,无法提取。

  • 老式二进制 .doc / .xls / .ppt 暂不支持,请先另存为 .docx / .pptx。

  • 需要较新浏览器(.docx/.pptx 用 DecompressionStream,Chrome/Edge/Firefox 2022+ 均可)。

  • PDF is text extraction: pure scans (image-only PDFs) have no text layer and cannot be extracted.

  • Legacy binary .doc / .xls / .ppt are not supported; save them as .docx / .pptx first.

  • Requires a modern browser (uses DecompressionStream for .docx/.pptx; Chrome/Edge/Firefox 2022+).

License

MIT