# 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 辅助论文阅读」成为可能的先行者们。这个项目站在你们的肩膀上,只是换了一个更顺手的外壳。