Document voice lecture, selection explain, multi-paper compare, and link between zh-CN and English readme files. Co-authored-by: Cursor <cursoragent@cursor.com>
115 lines
4.6 KiB
Markdown
115 lines
4.6 KiB
Markdown
# ChatPapers
|
|
|
|
**Language / 语言**: [中文](readme.md) | English
|
|
|
|
An AI paper reading and summarization plugin for **Zotero 9**: chat with PDFs, generate summaries, compare multiple papers, listen to AI voice lectures, and save results as Zotero notes—all inside Zotero.
|
|
|
|
## Features
|
|
|
|
### Paper chat (ChatPapers)
|
|
|
|
- **ChatPapers** panel in the PDF / item sidebar
|
|
- One-click summary, add selection to context, streaming replies, stop generation
|
|
- Save replies as Zotero child notes
|
|
- Provider presets: **Ollama / LM Studio / OpenRouter / OpenAI / DeepSeek / SiliconFlow / Custom**
|
|
- Sidebar header: **Open in separate window**, **Adaptive height** (consistent with other Zotero plugins)
|
|
|
|
### Multi-paper comparison
|
|
|
|
- Start **Compare papers** from the main-window item context menu
|
|
- Add up to 8 papers for **Compare**, **Summarize each**, **Common themes**, and **Topic review**
|
|
|
|
### Voice lecture
|
|
|
|
- **Voice lecture** sidebar: one-click **Prepare** → listen to an AI walkthrough of the full paper
|
|
- **Overview**: segmented summary, play beat by beat
|
|
- **Paragraph reading**: original text first, then translation/explanation; switch **By paragraph** / **By sentence**
|
|
- **Highlight sync** in the PDF reader while playing (including multi-line selections)
|
|
- Typed Q&A with spoken answers; save lecture notes as Zotero child notes
|
|
- Configurable local TTS (e.g. Piper) and cloud TTS; optional MinerU path in preferences for structured PDF parsing
|
|
|
|
### Selection explain & read aloud
|
|
|
|
- After selecting text in a PDF, use **Explain** from the selection popup or sidebar
|
|
- AI generates syntax/terminology and context explanations, then reads original + translated/explained audio
|
|
- Reuses prepared lecture cache when the selection matches an already prepared sentence
|
|
- Sidebar also supports **Open in separate window** and **Adaptive height**
|
|
|
|
## Documentation
|
|
|
|
| Document | Description |
|
|
| --- | --- |
|
|
| [Requirements (zh-CN)](docs/requirements.md) | Product scope and acceptance criteria |
|
|
| [Development (zh-CN)](docs/development.md) | Architecture and developer guide |
|
|
| [Architecture & roadmap (zh-CN)](docs/newidea/) | Voice lecture and future capabilities |
|
|
|
|
## Development
|
|
|
|
```bash
|
|
npm install
|
|
npm run build # outputs .scaffold/build/*.xpi
|
|
npm run start # requires Zotero 9 locally; configure .env (see .env.example)
|
|
```
|
|
|
|
## Installation
|
|
|
|
1. Run `npm run build`
|
|
2. In Zotero: Tools → Add-ons → Install Add-on From File
|
|
3. Select `.scaffold/build/chatpapers.xpi` (exact filename may vary)
|
|
|
|
## Usage
|
|
|
|
### Paper chat
|
|
|
|
1. Preferences → ChatPapers: choose a Provider (e.g. Ollama) and set the model
|
|
2. Open a PDF or select an item, then open **ChatPapers** in the item pane sidebar
|
|
3. Ask questions or summarize → save replies as notes
|
|
|
|
### Multi-paper comparison
|
|
|
|
1. Select 2 or more items in the Zotero main window
|
|
2. Right-click → **ChatPapers: Compare papers**
|
|
3. Add papers, enter a topic, and use compare or review actions
|
|
|
|
### Voice lecture
|
|
|
|
1. Preferences → ChatPapers → **Voice lecture**: configure LLM and TTS; set MinerU path if you need structured PDF parsing
|
|
2. Open an item with a PDF attachment, then open **Voice lecture** in the sidebar
|
|
3. Click **Start preparation**, then choose overview or paragraph/sentence reading
|
|
4. The PDF highlights the current passage while audio plays
|
|
|
|
### Selection explain & read aloud
|
|
|
|
1. Select a sentence or paragraph in the PDF reader
|
|
2. Click **Explain** in the selection popup, or **Explain & read selection** in the **Voice lecture** sidebar
|
|
3. Wait for generation, then audio plays automatically; view details and replay from the sidebar
|
|
|
|
## Changelog
|
|
|
|
### Unreleased (main, after v0.2.1)
|
|
|
|
- **Voice lecture**: preparation, overview, paragraph/sentence reading, TTS playback, note export
|
|
- **PDF highlight sync**: highlight matching text while playing; fix multi-line selections only highlighting one line
|
|
- **Selection explain & read aloud**: PDF selection popup + sidebar; reuse prepared sentence cache when matched
|
|
- **Playback exclusivity**: fix overlapping audio for multi-sentence selections; stop audio when the pane is closed
|
|
- **Sidebar enhancements**: separate window and adaptive height for chat and voice lecture panes
|
|
- **Branding**: updated plugin logo
|
|
|
|
### v0.2.1
|
|
|
|
- Improved release workflow and installable `.xpi` packaging
|
|
|
|
### v0.2.0
|
|
|
|
- **Multi-paper comparison**: compare, summarize each, common themes, topic review (up to 8 papers)
|
|
|
|
### v0.1.0 (MVP)
|
|
|
|
- PDF / item sidebar chat, one-click summary, selection context, streaming replies
|
|
- Multiple Provider presets and preferences
|
|
- Save AI replies as Zotero child notes
|
|
|
|
## License
|
|
|
|
AGPL-3.0-or-later (based on [zotero-plugin-template](https://github.com/windingwind/zotero-plugin-template))
|