DeepSeek Harness 插件

read-paper

A paper-review panel for the DeepSeek Harness: converts PDF papers into structured, selectable text (columns, headings, tables, sub/superscripts, table of contents) with figure and display-equation(英文原文)

跳到安装方式

来源信息

GitHub 仓库
louwenbo580/read-paper
最近更新
2026年8月21日
分类
文档与渲染
GitHub stars
0
载体类型
plugin
目录证据
上游声明已找到 dsh.bundle
证据路径
package.json#dsh.bundle
核对版本
0.1.0-rc.8
上游核对日期
2026-08-20

该证据由上游目录提供。本站没有安装、运行或安全审核这个插件。

安装

默认先复制一段 Prompt,让 Agent 读 GitHub 仓库和源码;需要自己装时再切到命令。

复制这段 Prompt,发给 DSH、Codex 或其他 Agent,让它先读 GitHub 仓库和源码。

请先不要安装或执行任何命令。阅读这个插件的 GitHub 仓库、README 和关键源码,然后用清楚、直接的方式回答以下问题,帮助我判断它是否适合我的需求:

1. 这个插件是什么,解决什么问题;
2. 适合哪些用户和典型使用场景;
3. 安装后如何使用,并给出一个最小使用示例;
4. 有哪些已知限制,以及隐私、安全、兼容性或维护风险;
5. 给出“推荐 / 有条件推荐 / 不推荐”的明确建议和理由。

请区分仓库明确说明、根据源码推断和未知信息。证据不足时请明确说明,不要猜测或照抄 README。

GitHub:https://github.com/louwenbo580/read-paper
插件名:read-paper
作者:louwenbo580

检查来源文件

安装前先看这个插件目录里的 README 和其他文件。

文件资源管理器3 个文件
README.md来源说明 · 只读预览

paper-review

A paper-review panel for the DeepSeek Harness: upload a PDF paper and read it as structured, selectable text beside the conversation, with figures and display equations rendered visually.

Features

  • PDF → structured text (runs on the Harness host, via poppler):

- two-column layout reconstruction (gutter detection + full-width line reassembly) - headings (size + all-caps normalization) and run-in heading splitting - tables (geometric column detection, wrapped-cell continuation) - sub/superscripts, dot-leader table of contents - scanned-PDF fallback to page images

  • Figures and display equations rendered as images (pdftoppm crops +

pdfimages raster extraction), with equation text kept as hidden spans so it stays searchable.

  • Right-side reader panel: real third column when space allows (the harness

details column), auto sidebar-collapse to make room, floating fallback for narrow windows, slim tab when collapsed.

  • Ask dialog: select text → a small dialog appears → type a question

("explain this", "how does this relate to…") → the question plus the selection, its surrounding context, and the abstract are sent to the model.

  • Projects: Create project materializes the paper (paper.pdf,

paper.md, paper.html, figures, README with title/abstract) into a Paper workspace, opens a session there, and asks the agent to load the paper — each project keeps its own paper, so multiple papers coexist.

Requirements

  • DeepSeek Harness (dsh) installed.
  • poppler CLI tools on PATH: pdftotext, pdftoppm, pdfimages.

- macOS: brew install poppler - Debian/Ubuntu: sudo apt-get install poppler-utils

Install

From npm (recommended)

dsh plugin --profile readPaper add @deepseek-ai/dsh-web-app paper-review
# then start the harness:
dsh --profile readPaper

dsh plugin installs the packages, then reconciles dsh.profile.bundles — packages that declare dsh.bundle join the profile's layer stack automatically.

> Why @deepseek-ai/dsh-web-app is included: a profile created on a > machine that has never used it before is seeded with only > @deepseek-ai/dsh-base (the web surface bundle is not a default for > unknown profile names). Adding @deepseek-ai/dsh-web-app explicitly is what > gives the profile the browser GUI this plugin's panel renders into. On a > machine where a readPaper profile already exists with the web app, plain > dsh plugin --profile readPaper add paper-review is enough.

Prerequisites

  • poppler CLI tools on PATH (pdftotext, pdftoppm, pdfimages) —

see [Requirements](#requirements).

  • pnpm for the dsh plugin command (it forwards to pnpm). If pnpm is

missing: corepack enable pnpm or npm i -g pnpm.

Manual install (no npm)

1. Copy this directory into ~/.dsh/profiles/readPaper/packages/paper-review. 2. Make it resolvable (no pnpm needed): ``bash mkdir -p ~/.dsh/profiles/readPaper/node_modules ln -s ../packages/paper-review ~/.dsh/profiles/readPaper/node_modules/paper-review ` 3. Add "paper-review" to dsh.profile.bundles in ~/.dsh/profiles/readPaper/package.json. 4. dsh --profile readPaper`

Usage

  • Paper tab on the right edge opens the reader column.
  • Load PDF… uploads (drag-and-drop onto the reader also works).
  • Select text → the ask dialog appears → type a question, press Enter.
  • Create project writes the paper into the Paper workspace and opens a

session with the paper loaded as context.

  • The converted documents are stored under ~/.dsh/paper-review/ and survive

restarts.

How it works

  • lib/index.js (host half): HTTP routes (/paper-review/…) for upload,

conversion, documents, figures, projects, and per-session stores. The converter extracts word geometry with pdftotext -bbox, rebuilds columns and lines, classifies blocks (headings, tables, ToC, math), and rasterizes figure/equation regions with pdftoppm.

  • lib/client.js (client half): the panel, tab, ask dialog, and project

flow. Ships as a hand-written __ModuleLoader__ CJS bundle — no build step.

  • cordis.patch.yml: the bundle patch that inserts the plugin row.

Development

  • npm run check — syntax checks.
  • npm run eval — downloads 10 recent astro-ph papers with their arXiv HTML

versions, converts them, and scores text coverage against the references (PAPERS=2 npm run eval for a quick run). The corpus lands in eval/run/ (gitignored).

Limitations

  • Conversion fidelity depends on the PDF's text layer (scanned papers render

as page images).

  • Display equations are images (their text is preserved as hidden spans);

inline math is reconstructed as sub/superscript text.

  • Content that exists only as PDF annotations (e.g., giant author lists in

some journals) cannot be extracted.

  • The plugin's HTTP routes follow the harness's localhost trust model.