Skip to content

hyworrywart/future_search

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Future Search — 未来学研究论文检索与分类系统

Periodic academic paper retrieval and classification system for Future Studies research.

研究方向

方向 英文 涵盖领域
未来心智、思想与艺术文化 Mind, Thought & Art-Culture 哲学、认知科学、心理学、伦理学、艺术学
未来工具、技术与人机关系 Tools, Technology & Human-Machine Relations AI、人机交互、材料科学、能源科学
未来身体、生命与健康形态 Body, Life & Health 生物医学、合成生物学、基因工程、公共卫生
未来环境、生态与文明栖居 Environment, Ecology & Civilization Habitat 生态学、环境科学、天文学、建筑学
未来社会、制度与全球秩序 Society, Institutions & Global Order 政治学、经济学、社会学、法学、国际关系

文章类型

  • 原创研究 (Research Articles) — 范式创新、理论深度的长篇原创成果
  • 研究通讯 (Research Letters) — 短篇高原创性前瞻研究
  • 新闻 (News) — 全球前沿动态、政策、会议、科研计划
  • 观点与洞见 (Insights) — 社论、评论、历史预测再审视

功能特性

  • 🔍 20+ 学术数据源 — arXiv, Semantic Scholar, PubMed, bioRxiv, CrossRef, OpenAlex, PMC 等
  • 🏷️ 智能分类 — 关键词规则引擎 + 可选 LLM 辅助,按方向和文章类型自动标注
  • 🔄 定期检索 — 按月自动执行,增量去重,支持 cron 调度
  • 💾 SQLite 持久化 — 跨次去重,搜索词库管理
  • 📊 Web 管理界面 — Dashboard、论文浏览、检索触发、搜索词管理、导出
  • 📝 报告生成 — Markdown 月度报告 + CSV 导出
  • ⌨️ CLI 命令行 — 完整的命令行操作支持

快速开始

环境要求

  • Python 3.10+
  • Node.js 18+(仅 Web UI 需要)
  • uv(推荐)或 pip

安装

# 克隆项目
git clone https://github.com/<your-org>/future-search.git
cd future-search

# 安装 Python 依赖
uv venv --python 3.12
source .venv/bin/activate
uv pip install -e ".[dev,web,llm]"

# 安装前端依赖
cd frontend && npm install && cd ..

# 初始化数据库
future-search init

配置 API Keys(可选)

cp .env.example .env
# 编辑 .env,填入可选的 API keys:
# PAPER_SEARCH_MCP_SEMANTIC_SCHOLAR_API_KEY=...
# PAPER_SEARCH_MCP_CORE_API_KEY=...
# PAPER_SEARCH_MCP_UNPAYWALL_EMAIL=...
# FUTURE_SEARCH_LLM_API_KEY=...  # LLM 辅助分类(可选,OpenAI-compatible)
# 在 config.yaml 中设置 classification.llm_base_url;留空使用 OpenAI 默认地址

CLI 使用

future-search init                          # 初始化数据库
future-search run --dry-run                 # 试运行(不写库)
future-search run                           # 执行一次检索+分类
future-search run --direction tools_tech_hmr  # 只跑一个方向
future-search status                        # 查看统计
future-search papers                        # 浏览论文
future-search query list                    # 查看搜索词库
future-search query add tools_tech_hmr "quantum computing future"
future-search report                        # 生成月度报告
future-search export --format csv           # 导出 CSV

启动 Web 界面

# 终端1:启动后端 API
future-search web

# 终端2:启动前端
cd frontend && npm run dev

访问 http://localhost:3000 即可使用 Web 管理界面。

定时调度(可选)

# 使用 cron 每月1号执行
(crontab -l 2>/dev/null; echo "0 0 1 * * cd /path/to/future-search && .venv/bin/future-search run") | crontab -

项目结构

future-search/
├── future_search/
│   ├── academic_platforms/    # 20+ 学术搜索引擎连接器
│   ├── classification/        # 分类引擎(规则 + LLM)
│   ├── db/                    # SQLite 持久化层
│   ├── export/                # 报告与导出
│   ├── retrieval/             # 检索层(搜索词库 + 去重)
│   ├── scheduler/             # 执行编排
│   ├── web/                   # FastAPI 后端 API
│   │   └── api/               # REST 端点(stats/papers/runs/queries/export)
│   ├── cli.py                 # Click CLI
│   ├── config.py              # 配置加载
│   ├── models.py              # 数据模型
│   └── paper.py               # Paper 数据类
├── frontend/                  # Next.js + Tailwind 前端
│   └── src/
│       ├── app/               # 页面(Dashboard/Papers/Queries/Runs/Export)
│       ├── components/        # 组件
│       └── lib/               # API 客户端 + 类型定义
├── tests/                     # 单元测试
├── config.yaml                # 主配置文件
└── pyproject.toml

技术栈

  • 后端:Python 3.12, FastAPI, SQLite, Click, APScheduler, Jinja2
  • 前端:Next.js 15, React 19, Tailwind CSS 4, TypeScript
  • 数据源:arXiv, Semantic Scholar, PubMed, bioRxiv, CrossRef, OpenAlex, PMC, CORE 等 20+

License

MIT

About

Future search system

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors