maple-pwn/paperlab

maple-pwn/paperlab

Overleaf 式 LaTeX 论文工作台:在渲染后的 PDF 上选中任意文字批注,由 dsh agent 改写源文件、编译验证并提交 git 修订。

文档与渲染deepseek-harnessdshlatex
PaperLab logo

PaperLab

An Overleaf-style paper revision workbench, powered by a DeepSeek Harness plugin.

中文 · Quick Start · Architecture · Contributing

Edit LaTeX and see the real rendered PDF in one place. Select any text to annotate, then let a DeepSeek Harness agent revise the paper annotation by annotation — with compile verification, git commits, diffs, rollback, and export.

PaperLab UI screenshot

✨ Features

🖥 UI📄 Annotation🤖 AI revision
Overleaf-style three panes, draggableSelect any text in the PDF to commentdsh agent: read annotations → uniquely-matched edits → compile check → git commit
Source edits auto-save and auto-compileYellow highlights pinned by page coordinatesWide-screen trace streams reasoning / tool calls / output with timer and LIVE badge
True PDF rendering (formulas, figures, layout)"Locate" shows the pre-revision text in a red popupSwitch model / reasoning effort / agent preset in the workbench
📜 Versioning📦 Engineering
Every project is a git repo with AI checkpointsOne-click export: sources (+ annotations) / PDF / git history
History browser, arbitrary diffs, one-click revertAuto XeLaTeX detection, respects latexmkrc, multi-engine fallback chain

🔄 Workflow

PaperLab workflow

🏗 Architecture

The AI engine runs entirely inside DeepSeek Harness; the workbench never calls model APIs directly.

PartStackResponsibility
web/React + Vite + PDF.jsthree-pane UI, PDF text selection, trace view, history/export
server/FastAPIproject management, LaTeX compile, annotations, git history, static hosting
plugin/DeepSeek Harness bundle (TypeScript)paper-revision tools + HTTP trigger + model/preset settings proxy

See docs/architecture.md.

🚀 Quick Start

Prerequisites: Node.js ≥ 20, pnpm ≥ 10, Python ≥ 3.11, git, DeepSeek Harness (dsh). LaTeX is optional.

git clone https://github.com/maple-pwn/paperlab.git
cd paperlab
./start.sh                # or make start

Open http://127.0.0.1:8210.

🔑 Credentials belong to dsh: configure them on the Models page of the dsh Web UI (http://127.0.0.1:3080). PaperLab never touches your API keys.

📦 Installing the plugin

The repository root is an official-format dsh bundle (dsh.bundle + cordis.patch.yml + prebuilt lib/):

dsh plugin --profile paperlab add dsh-paperlab                     # npm
dsh plugin --profile paperlab add github:maple-pwn/paperlab        # GitHub
dsh plugin --profile paperlab add .                                # local development

⚠️ Installing a plugin runs third-party code with your permissions. Review the source and try it without your credentials first.

🧪 Tests

make test

📄 License

MIT © 2026 PaperLab contributors

🔗 Community