
sunshine-lang/dsh-pdf
41最近提交 2026年8月14日
dsh-pdf DSH 插件
dsh-pdf 是 DeepSeek Harness 的 PDF 工具箱插件,提供 pdf_read 工具从 PDF 文件中提取文本。它基于 PDF.js 本地解析,无需网络和 API key。支持页码选择、内置边界控制,并通过 harness 文件系统读取。
如何安装 dsh-pdf DSH 插件
dsh plugin --profile web add "github:sunshine-lang/dsh-pdf复制不会执行命令。安装 dsh-pdf DSH 插件前请核对仓库和版本。
dsh-pdf DSH 插件数据来源
dsh-pdf DSH 插件快照日期:2026年8月16日
discovered
dsh-pdf DSH 插件能做什么
- 逐页提取文本并带页码标记
- 支持页码选择:"1-3,5" 或 "all"
- 获取文档元数据(标题)和总页数
- 内置文件字节上限、单次解析页数上限、单次调用字符上限,截断行为明确
- 通过 harness 文件系统(ctx.fs)读取,自动遵循沙箱策略
dsh-pdf DSH 插件适合哪些场景
- 总结 PDF 前几页内容
- 按页码提取合同或报告中的特定信息
- 分块读取大 PDF 文档
- 在聊天界面中直接分析 PDF 而无需上传到外部服务
dsh-pdf DSH 插件适合谁
- 使用 DeepSeek Harness 并需要 PDF 读取能力的开发者
- 希望通过聊天界面与 PDF 内容交互、无需依赖外部服务的用户
dsh-pdf DSH 插件的限制
- 仅支持文本提取,不支持图片或表格提取
- 默认文件大小上限 20 MiB(可配置至 50 MiB)
- 单次调用最多解析 500 页(可配置)
- 需要 DeepSeek Harness 环境才能运行
dsh-pdf DSH 插件的仓库 README 摘录
以下文字摘自 dsh-pdf DSH 插件的上游仓库 sunshine-lang/dsh-pdf 的 README,版权归原作者,仅作引用。
- `pdf_read` 工具:逐页提取文本,带页码标记。 - 页码选择:`"1-3,5"` 或 `"all"`——大文档可分块读取。 - 文档元数据(标题)与总页数。 - 内置边界控制:文件字节上限、单次解析页数上限、单次调用字符上限——截断行为明确,并提示模型如何继续。 - 通过 harness 文件系统接缝(`ctx.fs`)读取,部署的权限与沙箱策略自动生效。 ## 安装 ### 从 GitHub 安装 ```sh dsh plugin --profile web add "github:sunshine-lang/dsh-pdf" ``` 然后重启 `dsh --profile web`。`lib/` 已预构建并提交,安装无需构建权限。 ### 从 npm 安装 ```sh dsh plugin --profile web add dsh-pdf ``` ### 从本地源码安装(开发) ```sh dsh plugin --profile web add ./dsh-pdf ``` > 注意:pnpm 对 `link:` 方式的本地依赖不会自动安装其依赖,需要手动添加到 profile(通过 registry 或 GitHub 安装则会自动处理): > > ```sh > dsh plugin --profile web add @deepseek-ai/dsh-tools @deepseek-ai/cordis @deepseek-ai/schemastery pdfjs-dist > ``` ## 使用方法 启动 Web UI 后,向模型提问,例如: > 读取 `paper.pdf` 的前 3 页并总结。 > > `contract.pdf` 第 7 页写了什么? 模型会调用 `pdf_read`:参数 `path`(必填),可选 `pages`(`"1-3,5"` 或 `"all"`)。输出达到上限时会在页边界截断并给出提示,模型会用页码范围继续读取。 ## 配置 可通过 `cordis.patch.yml` 或 profile 的 patch 层覆盖任意配置项: ```yaml - patch: - id: dsh-pdf config: maxFileBytes: 52428800 maxPages: 200 maxCharsPerCall: 20000 ``` | 配置项 | 默认值 | 含义 | | --- | --- | --- | | `maxFileBytes` | `20971520`(20 MiB) | 整个 PDF 的字节上限(含);超过直接报错 | | `maxPages` | `500` | 单次调用最多解析的页数;超
阅读完整 README仓库许可: MIT
dsh-pdf DSH 插件常见问题
如何安装 dsh-pdf?
你可以通过命令 'dsh plugin --profile web add dsh-pdf' 从 npm 安装,或使用 'dsh plugin --profile web add "github:sunshine-lang/dsh-pdf"' 从 GitHub 安装。安装后重启 dsh 即可。
dsh-pdf 需要 API key 或网络连接吗?
不需要,dsh-pdf 完全基于 PDF.js 本地解析,无需 API key 和网络。所有 PDF 解析都在你的机器上完成。
可以只提取特定页面的文本吗?
可以,pdf_read 工具支持页码选择。你可以指定如 "1-3,5" 来读取第 1、2、3、5 页,或使用 "all" 读取全部页面。这对于大文档非常有用。
dsh-pdf 的文件大小限制是多少?
默认最大文件大小为 20 MiB,你可以通过 maxFileBytes 配置项调整(最高 50 MiB)。此外还有单次调用最大页数(默认 500)和最大字符数(默认 12000)的限制,防止资源耗尽。
如何配置 dsh-pdf 的参数?
你可以通过 cordis.patch.yml 或 profile 的 patch 层覆盖配置项,例如 maxFileBytes、maxPages、maxCharsPerCall。在配置中添加插件 id 'dsh-pdf' 和你想修改的值即可。