PaperForge:水彩风格的论文、对话气泡与钢笔

在 DSH 里读论文:边读、边问、边记

快速开始 · 亮点 · TODO · 开发手册 · English

[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](./LICENSE) [![DSH Plugin](https://img.shields.io/badge/DSH-plugin-4f46e5)](https://github.com/topics/dsh-plugin) [![DSH](https://img.shields.io/badge/DSH-0.1.7%2B-6366f1)](https://github.com/deepseek-ai/deepseek-harness) [![Repo](https://img.shields.io/badge/github-PhysicalAI--0%2Fdsh--paperforge-181717?logo=github)](https://github.com/PhysicalAI-0/dsh-paperforge)
**读懂一篇论文,留下自己的思考。** 从论文库点开 PDF,原文、专属 AI 会话与 Markdown 笔记并排展开:选中难懂的段落,带着上下文向 AI 追问;划下重要的文字,框选值得留存的图表,高亮与截图自动收进本地笔记。下次打开,接着上次的思考往下读。 ## News - **2026-09-29** - 原生多栏阅读布局:左边会话列表,中间本篇论文的 AI 会话,右边 PDF|笔记。 - 新增会话 Summary 与复制路径;笔记目录改为 `paperforge_notes`,不再引用的图片自动清理。 - Markdown 块级编辑:所有 `.md` 都能原地编辑、自动保存。 - 阅读链路重做:论文库、笔记实时预览、每篇论文一个专属 AI 会话。 - **2026-09-28** — 首个版本发布;改为 DSH 原生 `dsh plugin` 安装。 ## 亮点 ![阅读布局:左边会话列表,中间本篇论文的 AI 会话,右边 PDF 与笔记](docs/images/zh/reading.png)
论文库
左侧栏「论文」列出工作区里的 PDF,点一篇进入阅读布局
标注
划词高亮(六色)与框选截图自动写进笔记;选段也可复制为原文或 Markdown 引用
Ask AI
划词「Ask AI」或页头「AI」:问题带上 @论文、页码与选段,发进本篇论文的会话
Markdown 编辑
所有 .md 都能原地编辑:点一块改源码,离开即渲染;自动保存,与插件、AI 的改动自动合并
Summary
论文库「会话」页签勾选会话,生成一份 Summary(Markdown):每 3 个一批引用,最后综合
复制路径
任意文档页头的复制图标,一键复制文件路径
点一块即可编辑源码,其余保持渲染
笔记:点一块改源码,其余保持渲染
Summary:AI 把多个会话的总结写进 Markdown
Summary:勾选的会话由 AI 汇总成一份 Markdown
截图中的论文页面来自 Vaswani et al., Attention Is All You Need(arXiv:1706.03762),按 Google 的授权注明出处、用于学术用途。Logo 与章节图标由 AI 图像模型生成。 ## 快速开始 前置条件:DSH `0.1.7+`,PATH 上有 `pnpm`。 ```bash dsh plugin --profile web add github:PhysicalAI-0/dsh-paperforge # 或克隆后本地安装(改代码后重启 dsh web 即生效): git clone https://github.com/PhysicalAI-0/dsh-paperforge.git && cd dsh-paperforge dsh plugin --profile web add . ``` 在放论文的目录启动 `dsh web`(这个目录也要是 DSH 的工作区),左侧栏出现「论文」即安装成功。卸载:`dsh plugin --profile web remove dsh-paperforge`。 ## 笔记放在哪 ```text <论文目录>/paperforge_notes/ ├─ <论文名>/<论文名>.md 笔记(标准 Markdown,可直接编辑) ├─ <论文名>/assets/ 截图;不再被任何笔记引用的图片约 2 分钟后自动删除 ├─ <论文名>/highlights.json、session.json 高亮位置、与论文会话的绑定 └─ Summary/ 会话 Summary ``` ## 配置(可选) 在 `~/.dsh/profiles/web/cordis.patch.yml` 里按 id 覆盖: ```yaml - id: paperforge config: workspaceRoot: <论文目录的绝对路径> # 缺省 = 启动 dsh web 的目录 notesDir: paperforge_notes # 笔记根目录名(旧版默认是 notes) model: # 论文会话用的模型;不写则沿用当前模型 provider: deepseek-official name: deepseek-flash reasoningEffort: high ``` 不要写 `- insert:`(插件会被加载两次)。配置了 `model` 时,DSH 也会把它存为新会话的默认模型。 ## TODO - [ ] Markdown 即时渲染(类似 Vditor):图片点击放大、块拖拽排序 - [ ] 富渲染:mermaid 流程图 / 时序图 / 甘特图、echarts 图表、脑图 - [ ] 为同一篇论文开多个会话(页头「AI」按钮) - [ ] 按页、按图读论文的工具与读图 skill,降低读图的 token 消耗 - [ ] 问答要点自动写回笔记 - [ ] 统一为 JavaScript:用 `mupdf` 替换 Python 边车;论文库扫描改为异步 ## 已知限制 - 右侧栏最多两栏(DSH 限制),更多窗口请拖成浮动。 - 论文会话在第一次提问前,左侧列表显示为「新会话」,DSH 的「新建会话」可能复用它。 - Markdown 按块编辑:撤销只在当前块内;跨块的引用式链接与脚注可能不生效;工作区外或超过 2 MB 的 `.md` 只能预览。 - Summary:DSH 每条消息最多引用 3 个会话,插件分批发送;内容由 AI 用写文件工具写入。 - 不同目录下的同名 PDF 共用一个笔记文件夹;笔记里的章节名固定为中文。 ## 开发 ```bash pixi run test # 单元测试 pixi run verify # 契约与冒烟测试 ``` 插件分两半:浏览器半 `lib/client.js`,宿主半 `lib/index.js` 等(注册 `/api/paper.*` 路由)。另有可选的 Python 边车 `py/`,只用于把高亮写进 PDF 文件本身。开发前先读 [`AGENTS.md`](./AGENTS.md):DSH 插件的硬约束、关键 API、踩过的坑和路线图都在里面。 ## 缘起与致谢 作者是 [alphaXiv](https://www.alphaxiv.org/) 的重度用户,本插件「划词即问、就地记笔记」的交互正是受它启发。但它的问答额度有限,模型也不能替换,于是把「划词 → 追问 → 落笔记」搬回自己掌控的 DSH:不重复造阅读器,复用 DSH 原生的预览、会话与模型配置。 PaperForge 与 alphaXiv 及其团队无任何隶属、赞助或背书关系,也不包含其任何代码或素材。 ## License [MIT](./LICENSE) © dsh-paperforge contributors