The AI that catches your Eureka moments.
Crawls arXiv · Generates theorems · Proves lemmas · Writes LaTeX papers · Runs experiments
All from your chat or terminal.
English | 中文
🚀 Update — April 20, 2026 (v0.2.0)
Two new features are now available:
- Paper Q&A / Rebuttal Helper — Ask multi-turn questions about any generated paper PDF. Ideal for drafting precise, citation-backed responses to reviewer comments.
- Paper Rewrite — Revise the paper in one step using a free-form prompt or accumulated Q&A feedback. Versioned saves and automatic rollback included.
See Paper Q&A, Rebuttal & Rewrite for details.
$ eurekaclaw prove "Find recent papers on sparse attention + prove efficiency bound"
🦞 Crawling arXiv cs.LG (2024–2025)...
📄 Found 23 relevant papers. Summarizing...
💡 Hypothesis generated: O(n log n) via topological filtration
✨ Theorem 3.1 drafted. LaTeX ready. Proof complete.
🦞 Eureka! Paper draft saved to ./results/
EurekaClaw is a multi-agent AI research assistant that goes from a question to a publishable result — autonomously. It crawls the literature, generates and stress-tests hypotheses, runs experiments, and writes up findings, all from your terminal or browser UI.
Open Source · Local-First · Privacy by Design · Apache 2.0 License
What EurekaClaw Does
| Feature | Description | |
|---|---|---|
| 🔍 | Literature Crawler | Fetch, summarize, and cross-reference papers from arXiv and Semantic Scholar |
| 💡 | Idea Generator | Brainstorm novel hypotheses by synthesizing patterns across thousands of papers |
| 🔢 | Theorem Prover | Generate, verify, and formalize proofs via a 7-stage bottom-up pipeline |
| 📄 | Paper Writer | Draft camera-ready LaTeX papers with theorem environments and citations |
| 💬 | Paper Q&A / Rebuttal | Ask multi-turn questions about any paper PDF — understand proofs, locate evidence, and draft precise answers to reviewer comments |
| ✏️ | Paper Rewrite | Rewrite the generated paper based on a free-form prompt or accumulated Q&A chat feedback in one click |
| 🖥️ | Runs Locally | Compatible with Every Major Model API — Privacy by Design |
| 🧠 | Continual Learning | Distills proof strategies into skills after every session, improving over time |
| 🧪 | Experiment Runner | Numerically validates theoretical bounds; flags low-confidence lemmas |
| 📋 | Session History | Revisit completed sessions — review papers, ask questions, and revise any past work |
| 🌐 | Browser UI | Split-view paper review with PDF/LaTeX preview and QA chat, live pipeline track, proof sketch |
Installation
(See Installation for detailed instruction)
macOS / Linux
curl -fsSL https://eurekaclaw.ai/install.sh | bash
Windows
powershell -c "irm https://eurekaclaw.ai/install_win.ps1 | iex"
The macOS/Linux installer clones the repo, creates a virtual environment, installs EurekaClaw, and adds the eurekaclaw command to your PATH. Run eurekaclaw onboard afterwards to configure your API key and settings.
Docker — one-line install (recommended for servers — no sudo required)
Requirements: Docker only (user must be in the docker group — no sudo, no Python, no Node.js needed on the host)
Pre-built images on Docker Hub:
| Image | Tag | Size | Description |
|---|---|---|---|
eurekaclaw/eurekaclaw |
latest |
~10 GB | CPU — Python 3.11, Node.js 18, all dependencies pre-installed |
eurekaclaw/eurekaclaw |
gpu |
~13 GB | GPU — NVIDIA CUDA 12.4 + everything above |
# Pull the image (one-time, ~10 GB)
docker pull eurekaclaw/eurekaclaw
One-line install — launch the browser UI:
docker run --rm -it -p 8080:8080 -e ANTHROPIC_API_KEY=sk-ant-... eurekaclaw/eurekaclaw
# Open http://localhost:8080 in your browser
GPU support (NVIDIA):
docker run --rm -it -p 8080:8080 --gpus all \
-e ANTHROPIC_API_KEY=sk-ant-... eurekaclaw/eurekaclaw:gpu
With .env config file + persistent data:
# Copy and edit .env first: cp .env.example .env
docker run --rm -it -p 8080:8080 --env-file .env \
-v ~/.eurekaclaw:/root/.eurekaclaw eurekaclaw/eurekaclaw
CLI mode (prove / explore / from-papers):
docker run --rm -it -e ANTHROPIC_API_KEY=sk-ant-... \
eurekaclaw/eurekaclaw prove "The sample complexity of transformers is O(L·d·log(d)/ε²)"
docker run --rm -it -e ANTHROPIC_API_KEY=sk-ant-... \
eurekaclaw/eurekaclaw explore "multi-armed bandit theory"
Interactive shell (full environment inside container):
docker run --rm -it -e ANTHROPIC_API_KEY=sk-ant-... eurekaclaw/eurekaclaw bash
# Inside: eurekaclaw, python3, node, npm, uv are all available
Remote server access (SSH):
Use --network host so the container shares the server's network directly — no -p port mapping needed, and OAuth callbacks just work:
# Step 1: SSH into server with port forwarding
ssh -L 8080:localhost:8080 user@server-ip
# Step 2: On the server, run the container with host networking
docker run --rm -it --network host \
-e ANTHROPIC_API_KEY=sk-ant-... eurekaclaw/eurekaclaw
# Step 3: Open http://localhost:8080 in your laptop's browser
Note: No root/sudo required on the server — just Docker access. The container runs as root internally, so there are no permission issues for installing packages or writing files inside the container.
Authentication: API Key vs OAuth (Claude Pro/Max)
Option A — API Key (simplest):
docker run --rm -it --network host \
-e ANTHROPIC_API_KEY=sk-ant-... \
eurekaclaw/eurekaclaw
Option B — OAuth for Claude Pro/Max (no API key needed):
# Step 1: SSH into server (forward UI port + OAuth callback port)
ssh -L 8080:localhost:8080 -L 54545:localhost:54545 user@server-ip
# Step 2: Start container with host networking + persistent credentials
docker run --rm -it --network host \
-v ~/.config/ccproxy:/root/.config/ccproxy \
-v ~/.eurekaclaw:/root/.eurekaclaw \
eurekaclaw/eurekaclaw bash
# Step 3: Inside the container, run OAuth login (one-time)
ccproxy auth login claude_api
# Copy the URL → paste into your laptop's browser → authorize
# Step 4: Start EurekaClaw
ANTHROPIC_AUTH_MODE=oauth eurekaclaw ui --host 0.0.0.0 --port 8080
# Subsequent runs — credentials are saved, no re-login needed:
docker run --rm -it --network host \
-e ANTHROPIC_AUTH_MODE=oauth \
-v ~/.config/ccproxy:/root/.config/ccproxy \
-v ~/.eurekaclaw:/root/.eurekaclaw \
eurekaclaw/eurekaclaw
Build locally (optional):
git clone https://github.com/EurekaClaw/EurekaClaw && cd EurekaClaw
make docker # CPU image
make docker-gpu # GPU image (NVIDIA CUDA 12.4)
make docker-run # run UI at http://localhost:8080
Docker Compose:
cp .env.example .env # edit with your API key
docker compose up # CPU — UI at http://localhost:8080
docker compose --profile gpu up # GPU (NVIDIA)
docker compose --profile dev up # Development (hot-reload on :5173 + :7860)
See docker-compose.yml for full configuration.
Manual install with uv (recommended — Linux / macOS)
Requirements: Python ≥ 3.11, Node.js ≥ 18, Git, uv
# 1. Install uv (if not already installed)
curl -LsSf https://astral.sh/uv/install.sh | sh
# 2. Clone the repository
git clone https://github.com/EurekaClaw/EurekaClaw
cd EurekaClaw
# 3. Create a virtual environment with Python 3.11 and activate it
uv venv --python 3.11 .venv
source .venv/bin/activate
# 4. Install Python dependencies + frontend
uv pip install -e "."
cd frontend && npm install && cd ..
# 5. Post-install setup
eurekaclaw install-skills # install built-in proof skills
eurekaclaw onboard # configure API key and settings
Manual install with pip (Linux / macOS)
Requirements: Python ≥ 3.11, Node.js ≥ 18, Git
git clone https://github.com/EurekaClaw/EurekaClaw
cd EurekaClaw
python3 -m venv .venv
source .venv/bin/activate
make install # pip install -e "." + npm install (frontend)
Manual install (Windows)
Requirements: Python ≥ 3.11, Node.js ≥ 18, Git
git clone https://github.com/EurekaClaw/EurekaClaw
cd EurekaClaw
powershell -ExecutionPolicy Bypass -File install_win.ps1
Quick Start
eurekaclaw onboard # interactive setup wizard (creates .env)
# — or — cp .env.example .env and add ANTHROPIC_API_KEY manually
eurekaclaw install-skills # install built-in proof skills (do once)
# Browser UI (recommended) — split-view paper review with QA chat
eurekaclaw ui --open-browser
# CLI — prove a conjecture
eurekaclaw prove "The sample complexity of transformers is O(L·d·log(d)/ε²)" \
--domain "ML theory" --output ./results
# CLI — explore a domain
eurekaclaw explore "multi-armed bandit theory"
# CLI — start from arXiv papers
eurekaclaw from-papers 1706.03762 2005.14165 --domain "attention mechanisms"
# CLI — review a completed session (ask questions, request revisions)
eurekaclaw review
# CLI — list all past sessions
eurekaclaw sessions
No API key? Use a Claude Pro/Max subscription via OAuth.
Pipeline
Input Modes
| Command | Level | When to use |
|---|---|---|
eurekaclaw prove "" |
1 | You have a precise mathematical statement to prove |
eurekaclaw from-papers |
2 | You want to extend or find gaps in specific papers |
eurekaclaw explore "" |
3 | You have a broad research area but no conjecture yet |
Paper Q&A, Rebuttal & Rewrite
After the pipeline generates a paper, EurekaClaw provides an interactive review experience in both CLI and UI.
Paper Q&A and Rebuttal Helper
Load any generated paper (or any past session) and ask questions about it. The QA agent has full access to the LaTeX source and can search arXiv, Semantic Scholar, and the web to support each answer — ideal for preparing reviewer rebuttals.
Browser UI — The Paper tab shows a split-view with PDF/LaTeX preview on the left and a QA chat on the right. PDFs are auto-compiled. Type any question, including exact reviewer comments, and the agent produces a precise, citation-backed response.
CLI — After paper generation, you're prompted to review:
Review the paper? [y/N]: y
Question (Enter to accept): Reviewer 2 asks: the bound in Theorem 2 seems loose compared to prior work
⏳ QA Agent thinking...
✓ tool: arxiv_search("spectral gap tight bound k-regular graphs")
✓ tool: latex_section_read(section="Theorem 2")
Our O(n²) bound follows from Weyl's inequality applied to the normalized Laplacian...
Compared to [Smith et al. 2023] (arXiv:2301.xxxxx), our setting is more general because...
What next? [a]ccept [q]uestion [r]ewrite
Historical sessions — Review any past session with eurekaclaw review or click any completed session in the UI.
Paper Rewrite
Revise the paper based on either a free-form instruction prompt or the accumulated Q&A conversation. EurekaClaw re-runs the theory and writer agents with the feedback injected, saves the new version alongside the original, and rolls back automatically on failure.
What next? [a]ccept [q]uestion [r]ewrite
→ r
Describe what to fix:
→ Tighten the bound in Theorem 2 using Cauchy interlacing for k-regular graphs,
and add a comparison paragraph against Smith et al. 2023
Re-running theory + writer with feedback...
✓ Done: theory (paper_v2.tex saved)
✓ Done: writer
In the browser UI, click Revise Paper, type your instructions in the overlay, and the updated PDF appears in the preview pane when done.
Documentation
See detailed documentation in https://eurekaclaw.github.io/ .
| 📖 User Guide | Installation, walkthrough, gate modes, tuning, troubleshooting |
| ⚙️ Configuration | All .env variables with defaults |
| 🏗️ Architecture | Pipeline stages, data flow, component design |
| 🤖 Agents | Each agent's role, inputs, outputs, and tool usage |
| 🔧 Tools | arXiv, Semantic Scholar, Lean4, WolframAlpha, code execution |
| 💻 CLI Reference | All commands: prove, explore, from-papers, review, sessions, pause, resume |
| 🐍 Python API | EurekaSession, KnowledgeBus, data models |
| 🧠 Memory System | Episodic, persistent, and knowledge graph tiers |
| ✨ Skills | Skill registry, injection, distillation, writing custom skills |
| 🔌 Domain Plugins | Plugin architecture, MAB domain, adding new domains |
| 🌐 UI Design | React/TS architecture, component tree, run commands |
Configuration Essentials
cp .env.example .env
| Variable | Default | Description |
|---|---|---|
ANTHROPIC_API_KEY |
— | API key (or use OAuth, see User Guide) |
EUREKACLAW_MODEL |
claude-sonnet-4-6 |
Main reasoning model |
GATE_MODE |
auto |
none · auto · human |
THEORY_PIPELINE |
default |
default or memory_guided |
OUTPUT_FORMAT |
latex |
latex or markdown |
EXPERIMENT_MODE |
auto |
auto · true · false |
THEORY_MAX_ITERATIONS |
10 |
Max proof loop iterations |
CONTEXT_COMPACT_TOKEN_THRESHOLD |
24000 |
Token count that triggers automatic context compaction |
CONTEXT_PRESERVE_TAIL_MESSAGES |
6 |
Recent messages preserved during compaction |
LLM_HTTP_TIMEOUT_SECONDS |
300 |
HTTP timeout for LLM API calls |
Full reference → configuration.md
Evaluation
EurekaClaw includes a Scientist-Bench evaluator:
| Dimension | Weight |
|---|---|
| Formal correctness (Lean4 / LLM peer review) | 0.35 |
| Novelty (embedding distance from known results) | 0.25 |
| Experimental alignment | 0.15 |
| Proof depth (lemma count) | 0.15 |
| Citation coverage | 0.10 |
eurekaclaw eval-session
Contributing
# Unit tests (no API key needed)
pytest tests/unit/ -v
# Integration tests
ANTHROPIC_API_KEY=sk-... pytest tests/integration/ -v
# Frontend type-check
make typecheck
# Frontend development (hot-reload)
make dev
To add a custom skill, drop a .md file into ~/.eurekaclaw/skills/ — see Skills and Continual Learning.
To add a new research domain, subclass DomainPlugin — see Domain Plugin System.
To add a new tool, subclass BaseTool and register it — see Research Tools.
Acknowledgements
EurekaClaw builds on ideas and inspiration from the broader AI-for-science community. We thank the authors of the following projects:
- MetaClaw — multi-agent research orchestration
- AutoResearchClaw — automated research orchestration
- EvoScientist — evolutionary hypothesis generation
- AI-Researcher — automated research pipeline
- Awesome AI for Science — curated resource list
- Dr. Claw — open research agent framework
- OpenClaw — open-source research claw
- ClawTeam — collaborative research agents
- ScienceClaw — science-focused research agent
Star History
Citation
If you use EurekaClaw in your research, please cite:
@misc{eurekaclaw2026,
title = {EurekaClaw: An AI Agent for Capturing Eureka Moments},
author = {Zhang, Chenggong and Li, Xuheng and Di, Qiwei and Ji, Kaixuan and Zhao, Qingyue and Liu, Yifeng and Zhang, Shiyuan and Gu, Quanquan},
year = {2026},
url = {https://github.com/EurekaClaw/EurekaClaw}
}
License
Apache 2.0 License. See LICENSE for details.
Fonts
This software bundles the following open-source fonts:
- Inter by Rasmus Andersson — licensed under SIL Open Font License 1.1
- JetBrains Mono by JetBrains — licensed under SIL Open Font License 1.1
Built for researchers who believe the next breakthrough is one Eureka moment away. 🦞
