Skip to content

Commit 92ae267

Browse files
committed
Merge branch 'main' into development
2 parents a62c5e9 + 594373f commit 92ae267

140 files changed

Lines changed: 7338 additions & 1761 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

README.md

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,15 @@
1-
![branding](docs/imgs/branding.png)
21

3-
**Explore the demo paper’s supporting assets in the [/demo](/demo/) folder.**
2+
<a href="https://chromewebstore.google.com/detail/paperdebugger/dfkedikhakpapbfcnbpmfhpklndgiaog" target="_blank"><img src="docs/imgs/branding.png" alt="PaperDebugger"/></a>
43

54
<div align="center">
65
<a href="https://chromewebstore.google.com/detail/paperdebugger/dfkedikhakpapbfcnbpmfhpklndgiaog" target="_blank"><img src="https://img.shields.io/chrome-web-store/users/dfkedikhakpapbfcnbpmfhpklndgiaog?label=Users" alt="Chrome Web Store Users"/></a>
76
<a href="https://chromewebstore.google.com/detail/paperdebugger/dfkedikhakpapbfcnbpmfhpklndgiaog" target="_blank"><img src="https://img.shields.io/chrome-web-store/v/dfkedikhakpapbfcnbpmfhpklndgiaog?label=Chrome%20Web%20Store&logo=google-chrome&logoColor=white" alt="Chrome Web Store Version"/></a>
87
<a href="https://github.com/PaperDebugger/paperdebugger/releases" target="_blank"><img src="https://img.shields.io/github/v/release/PaperDebugger/paperdebugger?label=Latest%20Release" alt="GitHub Release"/></a>
9-
<a href="https://github.com/PaperDebugger/paperdebugger/actions/workflows/release.yml" target="_blank"><img src="https://img.shields.io/github/actions/workflow/status/PaperDebugger/paperdebugger/build.yml?branch=main" alt="Build Status"/></a>
8+
<a href="https://github.com/PaperDebugger/paperdebugger/actions/workflows/build-backend-prd.yml" target="_blank"><img src="https://img.shields.io/github/actions/workflow/status/PaperDebugger/paperdebugger/build-backend-prd.yml?branch=main" alt="Build Status"/></a>
109
<a href="https://github.com/PaperDebugger/PaperDebugger?tab=AGPL-3.0-1-ov-file"><img src="https://img.shields.io/github/license/PaperDebugger/paperdebugger" alt="License"/></a>
1110
</div>
1211

13-
**PaperDebugger** is an AI-powered academic writing assistant that helps researchers debug and improve their research papers with intelligent suggestions and seamless Overleaf integration, without leaving the editor. It is powered by a custom MCP-based orchestration engine that simulates the full academic workflow **Research → Critique → Revision**. <br>
12+
**PaperDebugger** is an AI-powered academic writing assistant that helps researchers debug and improve their research papers with intelligent suggestions and seamless Overleaf integration, without leaving the editor. It is powered by our [custom MCP-based orchestration engine](demo/xtramcp/readme.md) that simulates the full academic workflow **Research → Critique → Revision**. <br>
1413
This enables multi-step reasoning, reviewer-style critique, and structured revision passes beyond standard chat-based assistance.
1514

1615
<div align="center">
@@ -51,7 +50,7 @@ PaperDebugger never modifies your project, it only reads and provides suggestion
5150
- **💬 Comment System**: Automatically generate and insert comments into your project
5251
- **📚 Prompt Library**: Custom prompt templates for different use cases
5352
- **🔒 Privacy First**: Your content stays secure - we only read, never modify
54-
- **🧠 Multi-Agent Orchestration**[XtraMCP](https://github.com/PaperDebugger/xtramcp) support for literature-grounded research, AI-Conference review, citation verification, and domain-specific revision
53+
- **🧠 Multi-Agent Orchestration**[XtraMCP](demo/xtramcp/readme.md) support for literature-grounded research, AI-Conference review, citation verification, and domain-specific revision
5554

5655
https://github.com/user-attachments/assets/6c20924d-1eb6-44d5-95b0-207bd08b718b
5756

@@ -64,19 +63,21 @@ https://github.com/user-attachments/assets/6c20924d-1eb6-44d5-95b0-207bd08b718b
6463
2. **Ready to use**
6564
- Open any Overleaf project
6665
- Click the PaperDebugger icon on the top-left
67-
- Begin chatting with your LaTeX assistant!
66+
- Begin chatting with your LaTeX document!
6867

6968
### Custom Endpoint Configuration
7069

7170
If you want to use a **self-hosted** PaperDebugger backend, you can configure a custom endpoint. Here are the steps:
7271

7372
1. Open the PaperDebugger extension
7473

75-
(a.) Go to Settings, click the version number 5 times to enable "Developer Tools"
74+
(a.) Go to Settings, click the version number **5 times** to enable "Developer Tools"
7675

7776
(b.) Enter your backend URL in the "Backend Endpoint" field
7877
2. Refresh the page
7978

79+
Note: you can only use "Login by Overleaf" if you are self-hosting the backend.
80+
8081
If you encounter endpoint errors after refresh, use the "Advanced Options" at the bottom of the login page to reconfigure.
8182

8283
<div align="center">

demo/xtramcp/readme.md

Lines changed: 26 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,14 @@ This document describes the core tools exposed by XtraMCP and how they combine i
1919
| Tool Name | Role | Purpose | Primary Data Source | Presently Deployed |
2020
|---------------------------|-----------|-----------------------------------------------------------------|--------------------------------|----------------------|
2121
| `search_relevant_papers` | Researcher | Fast semantic search over recent CS papers in a local vector DB, enhanced with semantic re-ranker module | Local DB | Yes |
22-
| `deep_research` | Researcher | Multi-step literature synthesis & positioning of your draft | Local DB + retrieved papers analysis | *Temporarily Disabled* |
23-
| `online_search_papers` | Researcher | Online search over external academic corpora | OpenReview + arXiv | Yes (*Partially*) with arXiv |
24-
| `review_paper` | Reviewer | Conference-style structured review of a draft | Your draft + section-level review (static & semantic) | Yes (*Partially*) — Title, Abstract, Intro — to balance operational cost. |
25-
| `verify_citations` | Reviewer | Ensure citations are grounded, valid, and traceable | Your draft's bibliography | *Coming Soon*! |
22+
| `deep_research` | Researcher | Multi-step literature synthesis & positioning of your draft | Local DB + retrieved papers analysis | Yes |
23+
| `online_search_papers` | Researcher | Online search over external academic corpora | OpenReview + arXiv | Yes |
24+
| `review_paper` | Reviewer | Conference-style structured review of a draft | Your draft + section-level review (static & semantic) | Yes (slightly scaled down to balance operational cost) |
25+
| `verify_citations` | Reviewer | Ensure citations are grounded, valid, and traceable | Your draft's bibliography | Yes |
26+
| `generate_citations` | Reviewer | Generates BibTeX-style citations by simplying providing arxiv ID / DOI / URL / title | Your draft | Yes |
2627
| `enhance_academic_writing`| Enhancer | Context-aware rewriting and polishing of selected text | Your draft + XtraGPT | *Temporarily Disabled* |
27-
| `get_user_papers` | Misc / Researcher| Fetch all published papers with description, by a specific user | OpenReview | *Disabled* (requires auth; easy to enable with local deployment) |
28-
| `search_user` | Misc | Fetch user's profile, including info such as publications, co-authors | OpenReview | *Disabled* (requires auth; easy to enable with local deployment)|
28+
| `get_user_papers` | Misc / Researcher| Fetch all published papers with description, by a specific user | OpenReview | Yes |
29+
| `search_user` | Misc | Fetch user's profile, including info such as publications, co-authors | OpenReview | Yes |
2930

3031
---
3132

@@ -122,7 +123,7 @@ Analyze and review a draft against the standards of **top-tier ML conferences**
122123
## 5. `verify_citations`
123124

124125
**Purpose:**
125-
Verify that citations in your draft are valid, grounded, and traceable, helping reduce the risk of desk rejection due to incorrect or unverifiable references.
126+
Verify that citations in your draft are valid, grounded, and traceable, helping reduce the risk of desk rejection due to incorrect or unverifiable references. There have been [embarrassing cases](https://gptzero.me/news/neurips/) where accepted papers were found with hallucinated citations. This tool helps to avoid such occurrences.
126127

127128
**How it works**:
128129
- Parses your bibliography and in-text citations.
@@ -137,8 +138,21 @@ Typical usage:
137138
- “Check whether any citations in this draft are invalid or unverifiable.”
138139

139140
---
141+
## 6. `generate_citations`
140142

141-
## 6. `enhance_academic_writing`
143+
**Purpose:**
144+
Generate BibTeX-style citations easily by simply providing the paper's arxiv ID or DOI or URL or just its title.
145+
146+
**How it works**:
147+
- Searches online for the paper's official source
148+
- Formats into BibTeX-style citation ready for copy-pasting
149+
- Inform user if proposed information is invalid / unmatched
150+
151+
Typical usage:
152+
- “generate_citations: [https://arxiv.org/abs/2505.11336, ... ]
153+
154+
---
155+
## 7. `enhance_academic_writing`
142156

143157
**Purpose:**
144158
Suggest **context-aware academic writing enhancements** for selected text.
@@ -157,7 +171,7 @@ Suggest **context-aware academic writing enhancements** for selected text.
157171
- "enhance_academic_writing this paragraph to be clearer and more concise, preserving all technical details.”
158172
- "enhance_academic_writing the abstract to be suitable for NeurIPS.”
159173

160-
## 7. `get_user_papers`
174+
## 8. `get_user_papers`
161175

162176
**Purpose:**
163177
Retrieve **all papers authored by a given user** (OpenReview), identified by email.
@@ -172,7 +186,7 @@ Useful for quickly assembling a researcher’s publication list or grounding con
172186
- “get_user_papers for <author-email> in summary mode.”
173187
- “Retrieve all publications by this researcher and then compare my draft using deep_research.”
174188

175-
## 8. Conference Formatter (WIP)
189+
## 9. Conference Formatter (WIP)
176190

177191
Upcoming workflows will:
178192

@@ -191,7 +205,8 @@ Upcoming workflows will:
191205

192206
- **Reviewer Flow**
193207
1. Run `review_paper` on the full draft.
194-
2. For high-impact issues, call `enhance_academic_writing` on the relevant spans.
208+
2. For high-impact issues, call `enhance_academic_writing` on the relevant spans.
209+
3. Verify your citations with `verify_citations` or if you haven't yet formatted them, include with `generate_citations`.
195210

196211
- **Enhancer Flow**
197212
1. Select a paragraph or section in Overleaf.

docs/imgs/wechat.jpg

-177 KB
Loading

hack/prd.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ ROOT_DIR=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/.." &>/dev/null && pwd)
66
cd $ROOT_DIR
77

88
OPENAI_BASE_URL=${OPENAI_BASE_URL:-https://api.openai.com/v1}
9-
OPENAI_API_KEY=${OPENAI_API_KEY:-sk-dummy-OPENAI_API_KEY}
9+
OPENAI_API_KEY=${OPENAI_API_KEY:-}
1010
INFERENCE_BASE_URL=${INFERENCE_BASE_URL:-https://inference.paperdebugger.workers.dev}
1111
INFERENCE_API_KEY=${INFERENCE_API_KEY:-sk-dummy-OPEN-ROUTER}
1212
MCP_BASIC_KEY=${MCP_BASIC_KEY:-sk-dummy-MCP_BASIC_KEY}

hack/stg.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ ROOT_DIR=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")/.." &>/dev/null && pwd)
66
cd $ROOT_DIR
77

88
OPENAI_BASE_URL=${OPENAI_BASE_URL:-https://api.openai.com/v1}
9-
OPENAI_API_KEY=${OPENAI_API_KEY:-sk-dummy-OPENAI_API_KEY}
9+
OPENAI_API_KEY=${OPENAI_API_KEY:-}
1010
INFERENCE_BASE_URL=${INFERENCE_BASE_URL:-https://inference.paperdebugger.workers.dev}
1111
INFERENCE_API_KEY=${INFERENCE_API_KEY:-sk-dummy-OPEN-ROUTER}
1212
MCP_BASIC_KEY=${MCP_BASIC_KEY:-sk-dummy-MCP_BASIC_KEY}

internal/api/chat/create_conversation_message_stream_v2.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -195,6 +195,7 @@ func (s *ChatServerV2) prepare(ctx context.Context, projectId string, conversati
195195
}
196196

197197
var latexFullSource string
198+
var projectInstructions string = ""
198199
switch conversationType {
199200
case chatv2.ConversationType_CONVERSATION_TYPE_DEBUG:
200201
latexFullSource = "latex_full_source is not available in debug mode"
@@ -207,6 +208,8 @@ func (s *ChatServerV2) prepare(ctx context.Context, projectId string, conversati
207208
if err != nil {
208209
return ctx, nil, nil, err
209210
}
211+
212+
projectInstructions = project.Instructions
210213
}
211214

212215
var conversation *models.Conversation
@@ -217,7 +220,7 @@ func (s *ChatServerV2) prepare(ctx context.Context, projectId string, conversati
217220
actor.ID,
218221
projectId,
219222
latexFullSource,
220-
project.Instructions,
223+
projectInstructions,
221224
userInstructions,
222225
userMessage,
223226
userSelectedText,

0 commit comments

Comments
 (0)