跳到正文

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' 和你想修改的值即可。