多平台学术论文爬取与语义搜索工具
如果这个项目对你有帮助,请给一个 ⭐️ Star!
你可以在这里听到我关于这个项目的简要介绍
TODO: 根据设定的关键词或者 examples 每日定时抓取可能会感兴趣的论文摘要
TODO: 添加 config 支持代理池部分,配置 proxy = true or false 来解决 ssrn 的限流问题
TODO: Download 部分,去设计一个下载对应的 pdf 然后对对应目录下的所有 pdf 做 deep reaserch 的页面
TODO:考虑接入 firecrawl 从而增加更多平台适配性,增加信息的来源
PaperHunter 是一个高效、灵活的多平台学术论文爬取与语义搜索工具。基于我之前的小项目 QuickArxiv 的实践演进而来,支持从多个学术平台按关键词、类别、时间范围抓取论文,利用 Embedding 技术进行语义相似度检索,并支持多种格式导出。
- 多平台支持:目前支持 arXiv、OpenReview,后续将扩展 ACL Anthology、DBLP、Semantic Scholar 等平台
- 灵活查询:支持关键词、类别、日期范围等多维度过滤
- 语义搜索:基于 Embedding 向量的相似度检索,支持文本查询和示例论文搜索
- 本地存储:使用 SQLite 进行高效数据持久化,支持向量缓存
- 多格式导出:支持 CSV、JSON 等格式导出,支持 Zotero 同步
- 数据管理:灵活的数据清理工具,支持按时间、来源、embedding 状态等条件清理
- 易于扩展:模块化设计,平台插件化,易于添加新数据源
从 Releases 页面下载对应平台的安装包(macOS/Windows)。
macOS 下载安装后如提示“已损坏,无法打开”,请先移除隔离属性再运行:
sudo xattr -r -d com.apple.quarantine /Applications/PaperHunter.app如果你放在其他位置,请替换为实际路径。
- 启动应用,进入 Settings 页面。
- Embedding / LLM(必填)
- BaseURL:兼容 OpenAI 格式的推理/向量地址(如 SiliconFlow / DeepSeek)。
- API Key:对应服务的密钥。
- ModelName:例如
text-embedding-3-small(向量)或gpt-4o-mini(LLM)。
- 数据库
- Path:本地数据文件路径(默认
~/.quicksearch/quicksearch.db)。
- Path:本地数据文件路径(默认
- Zotero(可选,用于 Zotero 导出/每日推荐种子)
- User ID:Zotero 个人或群组 ID。
- API Key:Zotero 生成的 API Key。
- Library Type:
user或group。
- 飞书(可选,用于导出到多维表格)
- App ID / App Secret:在飞书开放平台创建自建应用后获取。
- 平台配置(Settings 页内)
- 代理:如果需要通过代理访问(如 OpenReview / SSRN),在系统代理中配置并在平台设置中开启。
- 超时时间:根据网络情况调整。
- ACL:可切换
Use RSS(默认,最新 1000 篇)或Use BibTeX(全量,含摘要)。 - OpenReview:填写 Venue ID(例如
ICLR.cc/2026/Conference/Submission)。
- 保存设置后再进行爬取/推荐/搜索。
基于您的 Zotero 库(需要配置 Zotero API)或输入的兴趣关键词,为您推荐指定日期范围内新发布的相似论文。这是获取每日最新科研动态的最佳方式。
执行基于 Embedding 的语义搜索:
- 文本查询:输入自然语言描述寻找相关论文。
- 以文搜文:输入示例论文的标题或摘要,寻找相似论文。
- 混合筛选:结合时间范围、来源平台进行精确筛选。
批量爬取特定领域的论文:
- arXiv: 支持按关键词、类别、日期范围爬取。
- OpenReview: 支持按会议 ID (Venue ID) 爬取。
- ACL / SSRN: 支持更多专业平台的检索。
支持多种格式导出选中的论文:
- Zotero: 直接同步到 Zotero 收藏夹。
- 飞书多维表格: 导出到飞书,便于团队协作,添加 a few shot 分析。
- CSV / JSON: 通用数据格式导出。
本项目使用 Wails 框架构建。
- 安装 Go (1.21+) 和 Node.js (18+)。
- 安装 Wails CLI:
go install github.com/wailsapp/wails/v2/cmd/wails@latest - 克隆仓库并进入目录。
- 运行开发模式:
wails dev- 在
internal/platform/<platform_name>/创建新目录 - 实现
Platform接口:
type Platform interface {
Name() string
Search(ctx context.Context, q Query) (Result, error)
}- 实现平台特定的解析器和客户端
- 在
internal/core/registry.go中注册新平台 - 更新配置文件添加平台配置
欢迎贡献代码、报告问题或提出新功能建议!
- Fork 本仓库
- 创建特性分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 开启 Pull Request
本项目参考和借鉴了以下优秀开源项目:
- zotero-arxiv-daily - Zotero 自动化灵感
- SearchPaperByEmbedding - 语义搜索实现参考
- arxiv_crawler - arXiv 爬虫实践
感谢所有开源库的作者们!
本项目采用 AGPL-3.0 license 许可证。
- Issue: GitHub Issues
- Email: cry@sadcoder.me
如果这个项目对你有帮助,请给一个 ⭐️ Star!
