Skip to content

jeong87/paper-morning

Repository files navigation

Paper Morning

Paper Morning Logo

EN | KR

Paper Morning is a research-context paper search engine for medical and health AI work. It turns a project description into search queries, retrieves papers, reranks them by practical relevance, and explains why they matter.

Try Live Web Preview (No Download)

If you want to understand the product from GitHub first:

What happens on that page:

  • The page itself explains what Paper Morning does before you run anything
  • Enter your research context, choose a search mode, and paste a Gemini API key
  • The page generates search queries from your context
  • It retrieves real candidates from arXiv and PubMed based on your chosen intent and time horizon
  • It ranks and summarizes them with Gemini
  • It opens the ranked result page in a new browser tab

Notes:

  • Client-side only (runs in your browser)
  • No actual email is sent from this page
  • Best for first-impression validation before local install

What It Does

Paper Morning takes your research context - a few sentences describing what you're working on - and does the rest:

  1. Generates source-specific search queries from your description
  2. Retrieves candidates from arXiv, PubMed, Semantic Scholar, and optionally Google Scholar
  3. Filters by your chosen time horizon (7 days to 5 years)
  4. Reranks the shortlist with an LLM for practical relevance
  5. Explains why each paper matters, with evidence grounded in title and abstract

Three search modes let you control the lens:

Mode What it finds
Best Match Strongest-fit papers for your project
What's New Recent, directly useful updates
Discovery Adjacent work with transferable methods

The same engine powers both human and agent interfaces - the only difference is the output format.

Two Ways to Use It

For Researchers

Run Paper Morning locally and search on demand through the browser UI.

pip install -r deps/requirements.txt
python app/local_ui_launcher.py
# -> http://127.0.0.1:5050

Results are saved to a local inbox. You can also schedule a daily popup at a set time, or send results via email - but the primary path is just: open the UI, search, and read.

For AI Agents

Paper Morning exposes a local JSON endpoint that any research agent can call.

POST /api/agent/search

Your agent provides a research context and gets back structured, machine-usable JSON - ranked papers with scores, reasons, and evidence spans. An OpenAPI spec is included.

Key design choices:

  • Key brokering: the agent only needs an AGENT_API_TOKEN. LLM provider keys stay in .env or OS keyring.
  • Multiple LLM backends: Gemini, any OpenAI-compatible local server (LM Studio, vLLM), or Cerebras.
  • Versioned contract: the JSON response includes a schema_version field.
  • CLI mode is also available: python app/paper_digest_app.py --agent-search --agent-request-file request.json

Quick Start

What you want Where to go
Try it in the browser first Live Web Preview
Install and run locally MANUAL_FIRSTTIME_EN.md
Integrate with an agent MANUAL_AGENT_EN.md
Korean documentation README_KR.md

Key Settings

Setting What it controls
SEARCH_INTENT_DEFAULT Default search mode (best_match / whats_new / discovery)
SEARCH_TIME_HORIZON_DEFAULT Default time window (7d to 5y)
LLM_MAX_CANDIDATES How many papers enter the LLM reranking step
OUTPUT_LANGUAGE Language for LLM-generated explanations
AGENT_API_TOKEN Bearer token for the agent endpoint
ENABLE_OPENAI_COMPAT_FALLBACK Use a local/self-hosted LLM backend

Full settings reference: MANUAL_EN.md

Optional Features

These still work, but they're not the main path.

  • Morning popup: set AUTO_OPEN_DIGEST_WINDOW=true and results open in your browser on schedule.
  • Email delivery: Gmail OAuth or app password. Priority order: Local Inbox -> OAuth -> SMTP.
  • GitHub Actions: unattended automation via .github/workflows/paper-morning-digest.yml. Requires PM_ENV_FILE secret. Note: frequent runs on private repos can exceed the free Actions tier.

Building

# Windows
.\tools\build_windows.ps1

# Linux
chmod +x tools/build_linux.sh && ./tools/build_linux.sh

Troubleshooting

Problem What to check
Search query is empty Generate and save topics in the Topic Editor
PubMed 429 Retries are automatic; add NCBI_API_KEY to reduce rate limits
Gemini model errors The runtime tries multiple Gemini fallbacks before failing
Agent 403 Forbidden Verify AGENT_API_TOKEN and that the request is from localhost
No email received Check addresses, spam folder, and auth config

Documentation

English

한국어

Contact

nineclas@gmail.com

About

An open-source tool that uses LLMs to score new papers against your research context and emails you a daily digest.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages