Forked from backnotprop/plannotator.
An interactive paper-reading workflow for OpenCode.
Given an arXiv ID, this workflow downloads the paper, generates a structured report, opens it in paper-read for multi-round annotation and feedback, then persists the final report and updates a knowledge graph.
The original Plannotator's "Ask AI" showed a "Session error" in the OpenCode desktop app. The AI runtime created a new OpenCodeProvider instead of reusing the existing authenticated client. This fork fixes that.
| File | Change |
|---|---|
packages/ai/types.ts |
Added optional client field to OpenCodeConfig |
packages/ai/providers/opencode-sdk.ts |
Constructor accepts pre-existing client |
packages/server/ai-runtime.ts |
createAIRuntime accepts opencodeClient option |
packages/server/index.ts |
Passes opencodeClient to createAIRuntime |
- Download/load paper — arXiv ID, URL, or local PDF/TXT
- Draft report in memory — markdown, following the Report SOP (do NOT write to disk yet)
- Call
submit_plan— opens paper-read review UI in browser - Multi-round annotation — annotate → Request Changes → agent edits → resubmit
- Approve → write
report.md→ wiki ingest →build graph
The default report structure follows these 7 items:
- 论文研究的问题是什么
- 为什么这个问题值得研究,应用在哪
- 与其相关工作对比,这个工作特点在哪
- 技术栈选型是什么
- 架构流程图是怎么样的
- 数据流和控制流是怎么做的
- 结论是什么,有什么 insight
- OpenCode (only)
git clone https://github.com/liuforge/paper-read.gitcd paper-read
bun install
bun run buildcp -r paper-read/.opencode/* /path/to/your/project/.opencode//read arxiv:2606.18112
Or switch to read mode and type the arXiv ID directly.
- Wiki & knowledge graph persistence — complete the post-approval pipeline:
report.md→ wiki ingest →build graphfor full knowledge base integration - HTML generation speed — optimize report rendering to reduce latency
- Token efficiency — reduce context usage during paper ingestion and report generation
MIT — same as upstream backnotprop/plannotator.