"I was now landed, and safe on shore, and began to look up and take a survey of myself, and what I had about me." — Robinson Crusoe
Crusoe explores and maps an unknown research landscape. Give it a topic; it returns a structured literature review, enriched paper list, and synthesized insights — all written to a Google Sheet.
Topic (string)
│
▼
[Topic Decomposition Agent] → 4-6 keyword clusters
│
▼
[Discovery Agent] → up to 80 papers via Semantic Scholar
│
▼
[Enrichment Agent] → relevance scores, methodology tags, summaries
│
▼
[Synthesis Agent] → themes, gaps, reading order, summary
│
▼
[Orchestrator] → Google Sheet with Papers + Synthesis tabs
# 1. Create and activate the conda environment
conda env create -f environment.yml
conda activate crusoe
# 2. Copy and fill in your API keys
cp .env.example .env
# Edit .env with your GEMINI_API_KEY, etc.
# 3. Run the pipeline
python scripts/run_pipeline.py --topic "authentication tokens in web security"
# Resume from a checkpoint after a crash
python scripts/run_pipeline.py --resume
# Use Cerebras instead of Gemini
python scripts/run_pipeline.py --topic "..." --provider cerebrasAll settings live in config.yaml. Key options:
| Key | Default | Description |
|---|---|---|
llm.provider |
"gemini" |
"gemini" or "cerebras" |
semantic_scholar.max_total_papers |
80 |
Cap on papers collected |
enrichment.batch_size |
8 |
Papers per LLM enrichment batch |
google_sheets.sheet_id |
"" |
Leave blank to auto-create |
- Go to Google Cloud Console
- Enable the Google Sheets API and Google Drive API
- Create OAuth 2.0 credentials → download as
credentials.jsonin project root - First run will open a browser for OAuth consent
- Set
google_sheets.sheet_idinconfig.yaml(or leave blank to auto-create)
crusoe/
├── src/
│ ├── core/ # Agent loop, tool wrapper, pipeline state
│ ├── agents/ # The 5 specialized agents
│ ├── tools/ # Semantic Scholar API wrapper
│ └── llm/ # Gemini and Cerebras provider adapters
├── scripts/ # CLI entry point
├── data/ # Checkpoints saved here
└── docs/ # Architecture and learning guide
See docs/ARCHITECTURE.md for a deep-dive on each component.
See docs/LEARNING_GUIDE.md to understand how agent loops work.
- Primary: Google Gemini (
gemini-2.0-flash) — free tier, setGEMINI_API_KEY - Fallback: Cerebras (
llama-3.3-70b) — free tier, fast inference, setCEREBRAS_API_KEY
MIT