EvoScientist: Self-Evolving AI Scientist

Harness vibe research with self-evolving AI scientists that autonomously explore, generate insights, and iteratively improve.

Stars
★ 5k
Last updated
2d ago
License
Apache-2.0
Primary language
Python

At a glance

How it runs
CLIWeb appSelf-hosted service
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
Python 3.11+Node.js 24 LTS (for WebUI)Shell / CLINetwork accessLocal filesystem
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

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.

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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?

Pros
  • 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.
Limitations
  • 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?

FollowAgents source review · FARS-2.1
Major gaps
51/ 100 5-point scale 2.6 / 5
This review covers the source as of Aug 11, 2026. The project has shipped 12 stable release(s) since, which have not been re-reviewed. The score and verdict describe the reviewed version only. Recent releases ↓
Trust 11/29
Reliability 8/14
Adaptability 12/18
Convention 10/18
Effectiveness 7/13
Verifiability 3/8
Why each dimension lost points
Trust11 / 29 · 1.9/5

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.

Reliability8 / 14 · 2.9/5

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.

Adaptability12 / 18 · 3.3/5

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.

Convention10 / 18 · 2.8/5

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).

Effectiveness7 / 13 · 2.7/5

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.

Verifiability3 / 8 · 1.9/5

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.

Risks and how to mitigate them
  • 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.
Evidence confidence: Low Reviewed Aug 11, 2026 Reviewed revision 3f45ebd6fa95 New commits since this review; the score may not cover them
See the full review method →

Recent releases

Latest entries from the project's GitHub Releases. Notes are quoted from upstream as written, not rewritten or tested by FollowAgents.

  1. v0.3.7
    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 ↗
  2. v0.3.6
    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 ↗
  3. v0.3.5
    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?
At least one LLM provider key is required: Anthropic (ANTHROPIC_API_KEY), OpenAI (OPENAI_API_KEY), Google (GOOGLE_API_KEY), MiniMax (MINIMAX_API_KEY), or NVIDIA (NVIDIA_API_KEY). Optionally, add a TAVILY_API_KEY for web search.
What are the costs involved in running the agent?
The main cost is LLM token consumption per run. Scheduled tasks accumulate token usage, so removing unused schedules with /schedule remove is recommended. Additionally, shell commands and external tools executed by the agent may also incur costs.
Is EvoScientist safe?
By default, shell commands require human approval before execution. A dangerous mode is available for unrestricted filesystem access, but it should be used with caution. The WebUI's LangGraph backend is unauthenticated and could be exposed to unauthorized access if bound to an untrusted network. It is recommended to use it on a trusted network or via SSH tunnel.
Can I use EvoScientist on an existing codebase?
Yes, EvoScientist is designed to work in a specific working directory and can be set with --workdir. It supports code generation and improvement, and can be integrated into existing development workflows.
View on GitHub ↗ Install ↓

Compare agents like this one

The same FARS review applied across the shortlist this agent qualifies for.

Related agents