EvoScientist: Self-Evolving AI Scientist
Harness vibe research with self-evolving AI scientists that autonomously explore, generate insights, and iteratively improve.
- Source repo
- EvoScientist/EvoScientist
- Stars
- ★ 5k
- Last updated
- 2d ago
- License
- Apache-2.0
- Primary language
- Python
- FA score
- 51/100 · Major gaps
At a glance
- How it runs
- Works with
- Universal · cross-platformOpenAI API · Claude API
- Cost
- Free software; you pay for model usage
- Setup effort
- Medium · a few setup steps
- You'll need
- Typical use
- A researcher can automate the entire research lifecycle from literature review to data analysis to paper writing, with monitoring and interaction via WebUI or CLI.
- Not a fit if
- Users unwilling to pay per-use LLM API costs
- Anyone needing the iMessage channel, which cannot run in the container
- Source review
- 51/100 · Major gaps
What does this agent do, and when should you use it?
EvoScientist is a Python-based multi-agent framework for automating scientific research, adopting a human-on-the-loop paradigm where AI acts as a research buddy co-evolving with human researchers. It features a multi-agent team of six sub-agents (plan, research, code, debug, analyze, write), a self-evolving memory system that auto-distills observations into a knowledge graph, and AutoSkills, which distills recurring patterns into reusable skills for review. It supports multiple LLM providers (Anthropic, OpenAI, Google, MiniMax, NVIDIA) and multi-channel access (CLI/TUI, WebUI, Telegram, Slack, Feishu, WeChat, etc.). The workflow follows a scientific process: intake → plan → execute → evaluate → write → verify. EvoScientist has topped benchmarks like DeepResearch Bench and AstaBench, and earned a Best Paper award at ICAIS 2025. Installation is via pip or uv, with a Docker image also available.
Runs a multi-agent system following a scientific workflow: first it takes in a research topic, then a planning sub-agent formulates a plan, a research sub-agent gathers information, a code sub-agent writes and debugs code for analysis, an analyze sub-agent evaluates results, and a write sub-agent produces the report. Agents can execute shell commands (with human approval), perform web searches via tools like Tavily, and access external tools through MCP servers. The memory system distills observations into a knowledge graph, and AutoSkills distills reusable skills from them. Users can schedule recurring tasks (cron-style) via /schedule commands, and the agent can proactively ask clarifying questions. EvoScientist provides a CLI (EvoSci), interactive TUI, web workspace UI (--ui webui), and a standalone LangGraph server (serve/deploy) for external SDK clients.
- A researcher can automate the entire research lifecycle from literature review to data analysis to paper writing, with monitoring and interaction via WebUI or CLI.
- A data scientist can conduct exploratory data analysis, leveraging agent-generated Python code to uncover patterns in data, with the agent proactively asking for clarification when needed.
- A team lead can schedule recurring tasks (cron-style) to have the agent check experiment status or report daily paper summaries to a messaging channel.
- A developer can integrate EvoScientist into their workflow as an AI coding agent, using its code generation, debugging, and external tool integration via MCP servers and skills.
- A user with long-running research projects can benefit from self-evolving memory that retains domain knowledge across sessions, enabling more informed follow-ups.
How do you install or deploy this agent?
Install via uv or pip: uv tool install EvoScientist or pip install EvoScientist. Optional channels: uv pip install "EvoScientist[telegram]" etc. Alternatively, use Docker: docker run -it --rm --env-file .env -v "$(pwd)/workspace:/workspace" -v evosci-data:/home/evosci/.evoscientist ghcr.io/evoscientist/evoscientist:latest. Requires Python 3.11+ (<3.14). Run EvoSci onboard for interactive configuration of API keys and model selection. Ensure at least one LLM API key is set (e.g., ANTHROPIC_API_KEY, OPENAI_API_KEY).
How do you use this agent?
After configuring API keys, start interactive TUI with EvoSci, or browser UI with EvoSci --ui webui, or headless with EvoSci serve or EvoSci deploy. Use EvoSci -p "your question" for single-shot mode. Schedule tasks with /schedule add command. Manage skills with /skills and MCP servers with /mcp. For programmatic access, use EvoScientist.EvoScientist_agent.stream() to send messages and read state from the return value.
What are this agent's strengths and limitations?
- Consistently ranked #1 on multiple respected benchmarks (e.g., DeepResearch Bench, AstaBench, ResearchClawBench) and 6/6 accepted at ICAIS 2025 with Best Paper award.
- Offers a multi-agent structure and scientific workflow template tailored for research, including auto-distillation of skills from memory.
- Supports multiple LLM providers and multiple messaging channels, enabling flexible deployment and interaction convenience.
- Includes self-evolving memory knowledge graph, enabling knowledge accumulation across sessions.
- Heavy reliance on external LLM APIs (Anthropic, OpenAI, Google, etc.) incurs ongoing costs and potential network dependencies.
- Requires Node.js 24+ for WebUI; otherwise, TUI/CLI still have some runtime requirements.
- Default requires human approval for shell commands, adding friction, although configurable to auto-approve.
- WebUI or mobile features described in documentation are tied to demo videos, but the specifics of building/deploying still need inference from the repository.
How does this agent compare with similar options?
In the AI research agent space, based on public benchmarks, EvoScientist ranks #1 on DeepResearch Bench among others, outperforming other notable deep research agents. Its self-evolving memory and AutoSkills features differentiate it from static agents.
Key facts side by side with the most closely related agents.
| Agent | Source review | Form / cost | Stars | Updated | Language | Full support on |
|---|---|---|---|---|---|---|
| EvoScientist: Self-Evolving AI Scientist This agent | 51 · Major gaps | CLIFree + model costs | ★ 5k | 2d ago | Python | OpenAI API · Claude API |
| Yuxi – Self-Hosted Multi-Tenant Knowledge Agent Platform | 41 · Major gaps | Self-hosted serviceFree + model costs | ★ 7.4k | 2d ago | Python | OpenAI API |
| TradingCodex | 54 · Major gaps | CLIFree + model costs | ★ 373 | 2mo ago | Python | Codex |
| Principia | 66 · Some gaps | CLIFree + model costs | ★ 1.1k | 17d ago | Rich Text Format | — |
How does FollowAgents rate this agent?
Why each dimension lost points
Evidence shows: README mentions human-in-the-loop approval (v0.2.5 unified approval), Docker container runs as non-root user and restricts shell access, but lacks specific least-privilege details. Deductions: tool permission scope not detailed, data flow transparency insufficient, sensitive data handling details missing, dependency security no vulnerability scanning mentioned, external effects (e.g., network requests) not explicit, rollback mechanism not described, source attribution only author info.
Evidence shows: README and pyproject.toml versions consistent (0.2.6), dependencies have version constraints, test files exist. Deductions: failure message handling not documented, dependency availability no mirror or cache strategy.
Evidence shows: README describes multiple usage scenarios (CLI, WebUI, mobile, Docker), supports multiple providers and channels, capability boundaries stated (e.g., iMessage unavailable). Deductions: trigger precision (e.g., command syntax) not detailed, environment fit (e.g., Windows issues) only partially mentioned.
Evidence shows: README well-structured, install notes detailed, naming stable (evosci etc.), version changelog present, license Apache-2.0. Deductions: examples and FAQ sparse, known limitations not systematically listed, maintenance responsibility unclear (only author info).
Evidence shows: output format has stream-json option, rich features (multi-agent, memory, skills), high marginal value. Deductions: cost-benefit not discussed, e.g., API costs, resource consumption.
Evidence shows: README claims rankings and awards, but no reproducible steps or data provided. Deductions: claims lack traceability, cross-source corroboration insufficient, facts and inferences not clearly separated.
- Publisher identity unverified; treat source with caution.
- Many dependencies with some unpinned versions, posing supply chain risk.
- Rankings and awards claims in README lack reproducible data.
- Sensitive data handling and least-privilege details insufficient; review yourself.
Recent releases
Latest entries from the project's GitHub Releases. Notes are quoted from upstream as written, not rewritten or tested by FollowAgents.
-
Release notes excerpt
EvoScientist v0.3.7 — One-Line Install, Rubrics & Goals and Proactive Follow-ups G'Day! v0.3.7 brings a one-line install for macOS, Windows and Linux together with EvoSci update, so an install always runs the dependency versions its release was tested with. Work can now be checked against acceptance criteria: --rubric for single-shot runs, /rubric for a thread, and /goal, which drafts the criteria for you. EvoSci serve follows up on its own in channel chats with /proactive, you can sign in with ChatGPT directly, and the backend now **answers browser reque …View on GitHub ↗ -
Release notes excerpt
EvoScientist v0.3.6 — Skills Without /new, a Local WebUI & Git Bash on Windows G'Day! v0.3.6 makes skills apply mid-thread: skills you install, remove or edit take effect from the next message, and /skill-name pins a skill to a message on every surface. The WebUI now installs locally and starts offline, Windows agents run their commands in Git Bash set up by EvoSci setup, and sessions, memory and scheduled tasks are scoped to their project. Also new: Claude Haiku 5.5 on OpenRouter and the Opper provider. Under the hood: deepagents 0.7.23, langchain 1.4.4 an …View on GitHub ↗ -
Release notes excerpt
EvoScientist v0.3.5 — GPT-6.1 Sol, EvoSci setup & Profile Memory That Survives Growth G'Day! v0.3.5 adds GPT-6.1 Sol on OpenAI and OpenRouter and introduces EvoSci setup, the first piece of the new installer: it brings in Node.js for the WebUI and npx MCP servers, and gives the agent's shell a research Python with numpy, pandas, matplotlib and scipy when the machine has no usable python. It also fixes profile memory vanishing from the prompt once the profile files grow past their budget. Under the hood: deepagents 0.7.21 and a routine dependency refresh (anthropi …View on GitHub ↗
FAQ
What API keys does EvoScientist need?
What are the costs involved in running the agent?
/schedule remove is recommended. Additionally, shell commands and external tools executed by the agent may also incur costs.Is EvoScientist safe?
Can I use EvoScientist on an existing codebase?
--workdir. It supports code generation and improvement, and can be integrated into existing development workflows.