How edwardaiyw/literature-agent works
Literature Agent is a local-first literature discovery and daily email assistant. The main workflow is: configure sources and a model, submit a research task, plan queries, retrieve and deduplicate papers, screen and summarize them, optionally review evidence, then save results for the user. Subscriptions schedule that workflow and deliver digests. The graph preserves README-documented capabilities such as source diagnostics, paper labels, backups, prompt management, and Jev decisions. Some links are omitted or marked unverified because excerpts do not show all API routing and runtime wiring.
Main entry points: graph.py Query planning · db.py Local research store · api.py HTTP API · runner.py Run orchestrator
Components 23
User interface
- Web workspace
frontend/src/App.tsx - HTTP API
backend/src/literature_agent/api.py - Request schemas
backend/src/literature_agent/schemas.py
Research workflow
- Run orchestrator
backend/src/literature_agent/runner.py - Local worker
backend/src/literature_agent/worker.py - Query planning
backend/src/literature_agent/graph.py - Source retrieval
backend/src/literature_agent/sources.py - Deduplication
backend/src/literature_agent/graph.py - Relevance screening
backend/src/literature_agent/graph.py - Paper summaries
backend/src/literature_agent/graph.py - Evidence review
backend/src/literature_agent/graph.py - Jev decisions
backend/src/literature_agent/decisions.py - Prompt library
backend/src/literature_agent/prompts.py
Local operations
- Local research store
backend/src/literature_agent/db.py - Settings and secrets
backend/src/literature_agent/config.py - Daily scheduler
backend/src/literature_agent/daily.py - Local service launcher
backend/src/literature_agent/launcher.py - Digest delivery
backend/src/literature_agent/email.py
External services
- Academic sources
- Model provider
- LocalJev service
- SMTP service
Other components
- Researcher
Connections 28
- Researcher → Web workspace: uses
README.md - Web workspace → HTTP API: requests
- HTTP API → Request schemas: validates
backend/src/literature_agent/api.py - HTTP API → Local research store: reads and writes
backend/src/literature_agent/api.py - HTTP API → Local worker: submits runs
backend/src/literature_agent/api.py - Local worker → Run orchestrator: dispatches
backend/src/literature_agent/worker.py - Run orchestrator → Local research store: loads and saves
backend/src/literature_agent/runner.py - Run orchestrator → Query planning: invokes graph
backend/src/literature_agent/runner.py - Query planning → Source retrieval: searches
backend/src/literature_agent/graph.py - Source retrieval → Academic sources: queries
README.md - Query planning → Deduplication: canonicalizes
backend/src/literature_agent/graph.py - Query planning → Relevance screening: screens
backend/src/literature_agent/graph.py - Query planning → Paper summaries: summarizes
backend/src/literature_agent/graph.py - Query planning → Evidence review: reviews optionally
README.md - Query planning → Model provider: requests decisions
README.md - Query planning → Jev decisions: consults
backend/src/literature_agent/graph.py - Jev decisions → LocalJev service: calls optionally
README.md - Query planning → Prompt library: uses prompts
backend/src/literature_agent/graph.py - Query planning → Local research store: stores results
backend/src/literature_agent/graph.py - Run orchestrator → Digest delivery: renders digest
backend/src/literature_agent/runner.py - Digest delivery → SMTP service: sends message
backend/src/literature_agent/email.py - Digest delivery → Local research store: records delivery
backend/src/literature_agent/runner.py - Daily scheduler → Run orchestrator: runs subscriptions
backend/src/literature_agent/daily.py - Daily scheduler → Local research store: checks subscriptions
backend/src/literature_agent/daily.py - Local service launcher → Daily scheduler: starts scheduler
backend/src/literature_agent/launcher.py - HTTP API → Settings and secrets: updates settings
backend/src/literature_agent/api.py - Researcher → Daily scheduler: configures subscriptions
README.md - Researcher → Local research store: manages backups and labels
README.md