# NanoResearch

> Open-source end-to-end autonomous AI research engine that turns a research topic into experiments, figures and a LaTeX paper.

NanoResearch is an open-source, MIT-licensed Python project from the OpenRaiser organization that automates the research workflow from topic to paper. It runs a 9-stage pipeline covering literature search, experiment planning, code generation, GPU execution, analysis, figure generation, writing and review. The README states that figures, tables and numbers in the generated paper come from experiments that were actually run, not from LLM invention.

## What It Is

NanoResearch is a command-line research automation engine. Given a topic, it searches literature through OpenAlex and Semantic Scholar, proposes hypotheses, designs an experiment blueprint (datasets, baselines, metrics, ablations), generates a runnable experiment project, executes training locally or on a SLURM cluster, and analyzes the resulting logs. It then generates figures and writes a LaTeX paper, and finally reviews and revises the sections. Exports include paper.pdf, paper.tex, references.bib, figures, code and data.

## Pipeline and Execution

The stages are IDEATION, PLANNING, SETUP, CODING, EXECUTION, ANALYSIS, FIGURE_GEN, WRITING and REVIEW. The execution stage can submit sbatch jobs, detect local GPUs, monitor logs, and automatically analyze errors, fix code and retry. Runs can be resumed from a failed stage via workspace checkpoints. Execution profiles (fast_draft, local_quick, cluster_full) tune how heavy the run is.

## Model Routing and Evo Mode

It works with OpenAI-compatible endpoints and lets each stage use a different model. An optional evo pipeline maintains user profiles, skills, project memory and feedback-driven routing across runs, and a ram-train command can train a LoRA adapter from collected feedback. In evo mode, the writing stage reads only real execution artifacts; where none exist, it narrows claims instead of filling in synthetic numbers.

## Ways to Use It

Besides the Python CLI (with a TUI or plain-log output), it can be driven through Claude Code slash commands without separate API keys, through a Codex entry point via AGENTS.md, or through a Feishu (Lark) bot. The README recommends treating output as a high-quality first draft that still needs human review.

## Features
- 9-stage pipeline from ideation to review
- Literature search via OpenAlex and Semantic Scholar
- Automatic experiment planning and code generation
- Local GPU and SLURM execution with auto-debug and retry
- Figures generated from real experiment results
- LaTeX paper output (arXiv, ICML, NeurIPS templates)
- Checkpoint resume from any stage
- Per-stage model routing
- Evo self-evolving pipeline with skills and memory
- TUI and plain CLI modes
- Claude Code and Codex integration
- Feishu (Lark) bot

## Integrations
OpenAlex, Semantic Scholar, Claude Code, Codex, Feishu, SLURM, OpenAI-compatible APIs, tectonic

## Platforms
API, CLI

## Pricing
Open Source

## Links
- Website: https://github.com/OpenRaiser/NanoResearch
- Repository: https://github.com/OpenRaiser/NanoResearch
- EveryDev.ai: https://www.everydev.ai/tools/nanoresearch
