# paperScholar
**Repository Path**: jy-wang/paper-scholar
## Basic Information
- **Project Name**: paperScholar
- **Description**: paper pilot
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2026-05-30
- **Last Updated**: 2026-06-16
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
PaperScholar
在 VSCode 里读论文,顺便和 AI 聊聊。
Paper + Code,深度集成,开箱即用。
功能 ·
快速开始 ·
架构
---
## 缘起
这个项目的灵感来自朋友做的一款论文阅读工具,以及社区中其他优秀的同类工具。它们让我看到「AI + 论文阅读」的可能性,但作为 VSCode 重度用户,我更希望这一切发生在我最熟悉的编辑器里——不用切换窗口,不用打开浏览器。
于是有了 PaperScholar:**按照自己的使用习惯重新设计,以 VSCode 插件的形式落地。** 它不追求面面俱到,只做好我真正需要的几件事。
## 功能
| | |
|---|---|
| **PDF 阅读** | 连续滚动、高 DPI 渲染、文本选择、高亮与批注 |
| **AI 助手** | 侧边栏对话,自动读取论文全文(含页面图片),多模型支持 |
| **三层笔记** | 批注 → PDF 内高亮;论文笔记 → 关联论文的 .md;独立笔记 → 跨论文知识沉淀 |
| **标签管理** | 三层嵌套标签树,论文可属于多个标签 |
| **代码关联** | 远程仓库自动 clone(支持 SSH/HTTPS/DevOps),本地路径符号链接 |
| **灵活导入** | arXiv / DOI / URL / 本地文件(PDF、Markdown、HTML、TXT) |
## 快速开始
```bash
git clone
cd paper-scholar
npm install
npm run build # 编译 + 复制 sql-wasm.wasm
# F5 启动 Extension Development Host
```
使用 **Claude API**(Anthropic SDK)驱动 AI 助手,支持任意 Anthropic 兼容端点(如 OpenRouter、中转站等)。
### 配置
在 VSCode 设置中搜索 `paperScholar`:
- `paperScholar.ai.model` — 模型名称(如 `claude-sonnet-4-20250514`)
- `paperScholar.ai.apiKey` — API Key
- `paperScholar.ai.baseUrl` — API 端点(可选,用于中转或兼容接口)
## 架构
```
src/
├── extension.ts # 入口:命令注册、消息路由
├── db/index.ts # sql.js SQLite,数据存于 globalStorage
├── services/
│ ├── ai.service.ts # AI 提供商抽象层
│ ├── paper.service.ts # 论文 / 笔记 / 标签 / 代码
│ ├── import.service.ts # arXiv / DOI / URL 导入
│ └── vision.service.ts # PDF → 图片(视觉模型转换)
├── views/
│ └── UnifiedTreeView.ts # 侧边栏:标签 → 论文 → 笔记 / 代码
├── webview/
│ ├── PdfViewer.ts # PDF 阅读器(Webview)
│ └── AiSidebarView.ts # AI 聊天(WebviewView)
├── commands/
│ ├── import.ts # 导入命令处理
│ └── search.ts # 搜索命令处理
├── prompts/
│ ├── system-prompt.md # AI 系统提示词
│ └── vision-convert.md # 视觉模型转换提示词
└── utils/
├── paper-helpers.ts # 工具函数
├── pdf-extract.ts # PDF 文本提取 + multimodal 解析
├── vision-prompts.ts # 视觉模型提示词工具
└── nonce.ts # Webview CSP nonce
```
## 测试
```bash
npm test # 全部测试(336 tests)
npx jest db # 仅数据库测试
npx jest integration # 仅集成测试
```
## 开发方式
这个项目完全使用 **vibe coding** 方式完成,通过 **mimo-v2.5** 和 **qwen3.7** 协作开发。
## 致谢
感谢那些让「AI 辅助论文阅读」成为可能的先行者们。这个项目站在你们的肩膀上,只是换了一个更顺手的外壳。