freshcrate
Skin:/
Home > AI Agents > EvoScientist

EvoScientist

๐Ÿ”ฌ Harness Vibe Research with Self-evolving AI Scientists

Why this rank:Strong adoptionRecent releaseHealthy release cadence

Description

๐Ÿ”ฌ Harness Vibe Research with Self-evolving AI Scientists

README

EvoScientist Logo

Typing SVG

EvoScientist aims to harness vibe research by enabling self-evolving AI scientists that autonomously explore, generate insights, and iteratively improve. It is designed to be opinionated and ready to use out of the box, offering a living research system that grows alongside evolving agent skills, toolsets, and memory bases. Moving beyond traditional human-in-the-loop systems, EvoScientist adopts a human-on-the-loop paradigm, where AI acts as a research buddy that co-evolves with human researchers and internalizes scholarly taste and scientific judgment.

๐Ÿ† Awards & Recognition

ICAIS 2025 Awards
Best Paper & Appraisal Award
Best Paper
AI-Generated Best Paper
DeepResearch Bench II #1
#1 on DeepResearch Bench II

DeepResearch Bench #1
#1 on DeepResearch Bench
AstaBench Code & Execution #1
#1 on AstaBench Code & Execution
AstaBench Data Analysis #1
#1 on AstaBench Data Analysis

โšก Unified Control, Different Surfaces

๐Ÿ–ฅ๏ธ CLI / TUI

๐Ÿ“ฑ Mobile

EvoSci_demo.mp4
mobile.mp4

โœจ Features

  • ๐Ÿค– Multi-Agent Team โ€” 6 sub-agents (plan, research, code, debug, analyze, write) working in concert.
  • ๐Ÿง  Persistent Memory โ€” Context, preferences, and findings survive across sessions.
  • ๐ŸŒ Multi-Provider โ€” Anthropic, OpenAI, Google, MiniMax, NVIDIA โ€” one config to switch.
  • ๐Ÿ“ฑ Multi-Channel โ€” CLI as the hub; Telegram, Slack, Feishu, WeChat, and more โ€” one agent session.
  • ๐Ÿ”ฌ Scientific Workflow โ€” Intake โ†’ plan โ†’ execute โ†’ evaluate โ†’ write โ†’ verify.
  • ๐Ÿ”„ Code Generation Modes โ€” More Effort (iterative refinement), continuously improving code quality.
  • โšก Adaptive Tools โ€” Per-turn tool selection keeps only relevant tools visible, reducing noise.
  • โœ‚๏ธ Context Editing โ€” Dynamic system prompt rewriting based on conversation state.
  • ๐Ÿ”Œ MCP & Skills โ€” Plug in MCP servers or install skills from GitHub on the fly.

Tip

Looking for ready-to-use research skills? Check out EvoSkills โ€” powered by EvoScientist's engine and installable skills, the entire end-to-end research lifecycle is covered out of the box. EvoSkills are also compatible with other CLI coding agents.

๐Ÿ”ฅ News

๐Ÿ“– Table of Contents

๐Ÿ“ฆ Installation

Tip

Requires Python 3.11+ (< 3.14). We recommend uv or conda for dependency management and virtual environments.

๐Ÿช› Install uv (if you don't have it)
curl -LsSf https://astral.sh/uv/install.sh | sh

Quick Install

uv tool install EvoScientist

Note

To update an existing installation to the latest version, use uv tool upgrade:

uv tool upgrade EvoScientist

Or install into the current environment instead:

uv pip install EvoScientist

Latest from GitHub

To get the latest patches before a PyPI release:

uv pip install git+https://github.com/EvoScientist/EvoScientist.git

Development Install

git clone https://github.com/EvoScientist/EvoScientist.git
cd EvoScientist
uv sync --dev

enable pre-commit hooks:

uv run pre-commit install
Using conda
conda create -n EvoSci python=3.11 -y
conda activate EvoSci
pip install -e ".[dev]"
Using PyPi
pip install EvoScientist          # quick install
pip install -e ".[dev]"           # development install
Optional: Channel dependencies

Messaging channel integrations require extra dependencies. Install only what you need:

uv pip install "EvoScientist[telegram]"     # Telegram
uv pip install "EvoScientist[discord]"      # Discord
uv pip install "EvoScientist[slack]"        # Slack
uv pip install "EvoScientist[wechat]"       # WeChat
uv pip install "EvoScientist[qq]"           # QQ
uv pip install "EvoScientist[feishu]"       # Feishu
uv pip install "EvoScientist[all-channels]" # everything
Upgrade to the latest code base
git pull && uv sync --dev

๐Ÿ”Back to top

๐Ÿ”‘ Configuration

The easiest way to configure API keys is the interactive wizard:

EvoSci onboard

Tip

It walks you through provider selection, key validation, model choice, and workspace mode. Supports OAuth sign-in for CLI coding agent subscribers โ€” no API key needed.

onboard

๐Ÿ“Ÿ Manual configuration via environment variables

Set at least one LLM provider key and (optionally) a search key:

# Pick one LLM provider
export ANTHROPIC_API_KEY="sk-..."   # Claude  โ€” console.anthropic.com
export OPENAI_API_KEY="sk-..."      # GPT    โ€” platform.openai.com
export GOOGLE_API_KEY="AI..."       # Gemini  โ€” aistudio.google.com/api-keys
export MINIMAX_API_KEY="sk-..."     # MiniMax โ€” platform.minimaxi.com (China, default) or platform.minimax.io (Global)
export MINIMAX_BASE_URL="https://api.minimax.io/anthropic"  # only needed for Global keys (default: https://api.minimaxi.com/anthropic)
export NVIDIA_API_KEY="nvapi-..."   # NIM    โ€” build.nvidia.com

# Web search (optional)
export TAVILY_API_KEY="tvly-..."    # app.tavily.com

Or use EvoSci config set to persist keys in ~/.config/evoscientist/config.yaml.

Alternatively, copy the example .env file for project-level configuration:

cp .env.example .env  # then fill in your keys

โš ๏ธ Never commit .env files with real keys. It is already in .gitignore.

๐Ÿ”Back to top

โšก Quick Start

EvoSci  # or EvoScientist โ€” interactive mode (TUI by default)

demo

Run EvoSci -h for all CLI options.

cli help

Tip

Need to copy long outputs? Use --ui cli for classic mode where native terminal copy works freely. On macOS, iTerm2 users can also hold โŒฅ Option while dragging to select, then โŒ˜+C.

Common examples
EvoSci                            # interactive mode (TUI by default)
EvoSci -p "your question"        # single-shot mode
EvoSci --workdir /path/to/project # open in a specific directory
EvoSci -m run                     # isolated per-session workspace
EvoSci --ui cli                   # classic CLI (lightweight)
EvoSci serve                      # headless mode โ€” channels only, no interactive prompt
Action Approval

By default, shell commands (execute tool) require human approval before running. To skip approval prompts:

# Per-session: auto-approve via CLI flag
EvoSci --auto-approve
EvoSci -p "query" --auto-approve

# Persistent: set in config (applies to all future sessions)
EvoSci config set auto_approve true

# Or allow only specific command prefixes
EvoSci config set shell_allow_list "python,pip,pytest,ruff,git"

During a session you can also reply 3 (Approve all) at any approval prompt to auto-approve for the rest of that session.

Agent Questions

The agent can proactively ask you questions when it needs clarification (e.g., dataset choice, experiment direction). This is enabled by default. To disable:

# Persistent: set in config
EvoSci config set enable_ask_user false

# Re-enable
EvoSci config set enable_ask_user true
In-session commands
Command Description
/current Show current session info
/threads List recent sessions
/resume Resume a previous session
/delete Delete a saved session
/new Start a new session
/clear Clear chat history
/skills List installed skills
/install-skill <src> Add a skill from path or GitHub
/uninstall-skill <name> Remove an installed skill
/mcp Manage MCP servers
/channel Configure messaging channels
/help Show available commands
/exit Quit
Script Inference
from EvoScientist import EvoScientist_agent
from langchain_core.messages import HumanMessage
from EvoScientist.utils import format_messages

thread = {"configurable": {"thread_id": "1"}}
last_len = 0

for state in EvoScientist_agent.stream(
    {"messages": [HumanMessage(content="Hi?")]},
    config=thread,
    stream_mode="values",
):
    msgs = state["messages"]
    if len(msgs) > last_len:
        format_messages(msgs[last_len:])
        last_len = len(msgs)

๐Ÿ”Back to top

๐Ÿช Examples & Recipes

A curated collection of official examples, advanced usage patterns, and community-contributed recipes to help you get the most out of EvoScientist.

๐Ÿ‘‰ Browse all examples & recipes

๐Ÿ”Back to top

๐Ÿ”Œ MCP Integration

Add external tools via MCP servers with a single command:

# Usage
EvoSci mcp add <name> <command> [-- args...]

# Example
EvoSci mcp add sequential-thinking npx -- -y @modelcontextprotocol/server-sequential-thinking

Tip

For command options, config fields, tool routing, wildcard filtering, and troubleshooting, see the MCP Integration Guide.

๐Ÿ”Back to top

๐Ÿ“ฑ Channels

Connect messaging platforms so they share the same agent session as the CLI:

# Usage
EvoSci channel setup <channel>

# Example
EvoSci channel setup telegram

Multiple channels can run concurrently โ€” comma-separate names in the config:

channel_enabled: "telegram,slack,feishu,qq"

The channel can also be started interactively with /channel in the CLI session.

Tip

For per-channel setup guides, capability matrix, architecture details, and troubleshooting, see the Channel Integration Guide.

๐Ÿ”Back to top

๐Ÿ“š Acknowledgments

This project builds upon the following outstanding open-source works:

  • LangChain โ€” A framework for building agents and LLM-powered applications.
  • DeepAgents โ€” The batteries-included agent harness.

We thank the authors for their valuable contributions to the open-source community.

๐Ÿ”Back to top

๐ŸŽฏ แฏ“โžค Roadmap

Coming soon:

  • ๐Ÿ–ฅ๏ธ Full-screen TUI and classic CLI interfaces
  • ๐Ÿ“ป EvoMemory v1.0 shipped
  • โš’๏ธ 200+ predefined skills built in
  • ๐Ÿงฉ Built-in research-lifecycle skills shipped
  • ๐Ÿ‘‹ Human-in-the-loop action approval
  • ๐Ÿฆพ Agent-initiated human clarification
  • ๐Ÿ“‘ Technical report on the way
  • ๐Ÿ” OAuth sign-in (CLI coding agent subscribers)
  • ๐Ÿ“บ Web app with workspace UI
  • ๐Ÿ“น Demo and tutorial in the works
  • ๐Ÿ“Š Benchmark suite to be released
  • โฐ Scheduled tasks for the core system planned

Stay tuned โ€” more features are on the way!

๐Ÿ”Back to top

๐ŸŒ Project Roles

Core Contributors

Xi Zhang
Xi Zhang
Yougang Lyu
Yougang Lyu
Dinos Papakostas
Dinos Papakostas
Yuyue Zhao
Yuyue Zhao
Ziheng Zhang
Ziheng Zhang
Xiaohui Yan
Xiaohui Yan

Contributors

Jan Piotrowski, Wiktor Cupiaล‚, Jakub Kaliski, Jakub Filipiuk, Xinhao Yi, Shuyu Guo, Andreas Sauter, Wenxiang Hu, Jacopo Urbani, Zaiqiao Meng, Jun Luo, Lun Zhou

Xiaoyi DeepResearch Xiaoyi DeepResearch Team and the wider open-source community contribute to this project.

For any inquiries or collaboration opportunities, please contact: EvoScientist.ai@gmail.com

๐Ÿ”Back to top

๐Ÿค Contributing

EvoScientist Team

We welcome contributions from developers, researchers, and AI coding agents at all levels. Our Contributing Guidelines are designed for both humans and AI agents โ€” covering architecture, patterns, extension guides, and code standards to help you contribute safely and effectively.

๐Ÿ‘ฅ Community Contributors

โš—๏ธ Join the EvoScientist community to discuss AI-driven research, share experiment results, and help shape the future of automated scientific discovery.

  • Discord โ€” Ask questions, share findings, and collaborate with researchers and developers in real-time.

  • WeChat โ€” Connect with our Chinese-speaking research community.

    WeChat QR Code

Every contribution brings us one step closer to a future where AI accelerates scientific breakthroughs for all of humanity.

๐Ÿ“ˆ Star History

Star History Chart

๐Ÿ”Back to top

๐Ÿ“ Citation

If you find our paper and code useful in your research and applications, please cite using this BibTeX:

@article{evoscientist2026, 
  title={EvoScientist: Towards Multi-Agent Evolving AI Scientists for End-to-End Scientific Discovery}, 
  author={Yougang Lyu and Xi Zhang and Xinhao Yi and Yuyue Zhao and Shuyu Guo and Wenxiang Hu and Jan Piotrowski and Jakub Kaliski and Jacopo Urbani and Zaiqiao Meng and Lun Zhou and Xiaohui Yan}, 
  journal={arXiv preprint arXiv:2603.08127}, 
  year={2026} 
}

๐Ÿ”Back to top

๐Ÿ“œ License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

๐Ÿ”Back to top

Release History

VersionChangesUrgencyDate
v0.1.2# EvoScientist v0.1.2 โ€” Browser WebUI Mode, Standalone Deploy Server, Background Execution & Sonnet 4.6 Default G'Day! v0.1.2 opens a new browser surface for EvoScientist and hardens the runtime underneath it. The headline is **WebUI mode (beta)** โ€” one terminal now launches a deploy-style LangGraph server *and* the published `@evoscientist/webui` front-end, built on the new **`EvoSci deploy`** standalone server. We also ship **background process management** so long shell jobs survive past tHigh6/1/2026
v0.1.1# EvoScientist v0.1.1 โ€” DeltaChannel Upgrade, Tier-Aware Skill Mounts, Status & Elapsed Time, QQ Inline Buttons G'Day! v0.1.1 is a focused follow-up to the v0.1.0 async-sub-agent release. The headline is the **deepagents 0.5.7 โ†’ 0.6.2 upgrade**, which moves message storage to LangGraph 1.2's **DeltaChannel** and required a careful rewrite of our resume path so `/resume` no longer shows "0 messages". The upgrade also enables the new **CodeInterpreterMiddleware** with a research-tuned PTC allowHigh5/19/2026
v0.1.0# EvoScientist v0.1.0 โ€” Async Sub-Agents, Official Docker Image, Personal WeChat & Sessions DB Compaction G'Day! v0.1.0 is the biggest release since launch. The headline is **async sub-agents** โ€” `writing-agent` and `data-analysis-agent` now run on a managed `langgraph dev` subprocess, so 30-180s long-runners no longer block your chat, and you get **proactive completion notifications** without polling. We also ship an **official multi-arch Docker image**, a **personal-WeChat (iLink) channel bHigh5/8/2026
v0.0.9# EvoScientist v0.0.9 โ€” Faster Startup, In-Session Model Switching, Unified CLI Commands & DeepSeek V4 Thinking Fix G'Day! v0.0.9 focuses on **interactive UX polish and developer ergonomics**. Startup latency drops ~7ร—, the new **`/model` command** lets you switch models without restarting, **`--resume`** brings session resumption to first-class status, and Rich CLI / TUI / Channels now share a unified slash-command pipeline. We also ship a critical **DeepSeek V4 thinking-mode fix**, MCP reliHigh4/26/2026
v0.0.8# EvoScientist v0.0.8 โ€” Unified Data Directory, Status Bar, Enhanced Ask-User & Auto-Mode G'Day! We're excited to release EvoScientist v0.0.8. This release **unifies all application data under `~/.evoscientist/`** (separating config from state per XDG spec), adds a **persistent session status bar** with real-time context window tracking, **enhances ask-user prompts** with multiple-choice and free-text validation, renames `--auto-approve` to **`--auto-mode`** for unattended execution, and shipHigh4/21/2026
v0.0.7# EvoScientist v0.0.7 โ€” Global Skills Directory, Moonshot/Kimi Providers, ccproxy Fixes & Channel Improvements G'Day! We're excited to release EvoScientist v0.0.7. This release introduces a **three-tier global skills directory** so installed skills are shared across all workspaces, adds **Moonshot and Kimi Coding Plan** as new LLM providers, fixes **ccproxy Codex OAuth compatibility** for the Responses API path, patches **OpenAI-compatible streaming content flattening**, and ships several chaHigh4/10/2026
v0.0.6# EvoScientist v0.0.6 โ€” Dynamic Context Management, OpenRouter Reasoning, More Effort Mode, GLM-5.1 & Telegram Fix G'Day! We're excited to release EvoScientist v0.0.6. This release brings **Dynamic Context Management** with two new LangChain middleware (ContextEditing + Adaptive Tool Selection), an **OpenRouter streaming reasoning fix** with expanded model coverage, a **More Effort code generation mode**, **GLM-5.1 model support** for Zhipu providers, and a **Telegram channel startup fix** โ€” High4/3/2026
v0.0.5# EvoScientist v0.0.5 โ€” Context Retry Middleware, OpenAI Relay Config, Feishu Event Loop Fix & Compact Conversation G'Day! We're excited to release EvoScientist v0.0.5. This release brings a **Context Overflow Retry Middleware** that auto-recovers from provider context limit errors, a **`use_responses_api` config option** for OpenAI-compatible relays, a **Feishu SDK event loop isolation fix** for Linux, and a **`/compact` thread_id injection fix** โ€” along with onboard UX improvements and bencMedium3/27/2026
v0.0.4# EvoScientist v0.0.4 โ€” @ file Mentions, Resume History, Feishu WebSocket & LaTeX Setup G'Day! We're excited to release EvoScientist v0.0.4. This release brings **`@ file` mention support** for injecting file contents directly into messages, **conversation history display on `/resume`**, a **WebSocket subscription mode for Feishu**, and a **LaTeX environment setup step** in the onboard wizard โ€” along with a `uv tool install` compatibility fix and a TUI slash-command completion bugfix. --- Medium3/24/2026
v0.0.3## EvoScientist v0.0.3 โ€” Voice Input, New Providers, Smarter TUI G'Day! We're excited to release EvoScientist v0.0.3. This release adds **voice transcription** across all messaging channels, two new first-class LLM providers (**MiniMax** and **DeepSeek**), an **MCP server browser**, a **skill browser** with tag-based filtering, and a major round of TUI/CLI UX polish โ€” multi-line input, timestamps, update notifications, and more โ€” making EvoScientist more natural to talk to, easier to extend, Low3/20/2026
v0.0.2## EvoScientist v0.0.2 โ€” OAuth, Human-in-the-Loop, and a Smarter TUI We're excited to release EvoScientist v0.0.2. This release deepens the **human-on-the-loop** philosophy with OAuth authentication, richer human-agent interaction primitives, a headless serve mode, and substantial TUI polish โ€” making EvoScientist more accessible, more interactive, and deployable across a wider range of environments. --- ### ๐Ÿ”‘ OAuth Support โ€” No API Key Required EvoScientist now supports OAuth authenLow3/17/2026
v0.0.1# EvoScientist v0.0.1 โ€” First Release of the Self-Evolving AI Scientist We're excited to announce the first public release of **EvoScientist** โ€” a multi-agent AI system for automated scientific experimentation and discovery. ๐Ÿ”ฌ๐Ÿš€ EvoScientist moves beyond traditional human-in-the-loop systems, adopting a **human-on-the-loop** paradigm where AI acts as a research buddy that co-evolves with human researchers and internalizes scholarly taste and scientific judgment. --- ## โœจ What's InclLow3/13/2026
v.0.0.1-rc.1G'day mate! ๐Ÿ‘‹ First release candidate of EvoScientist has landed โ€” your self-evolving AI scientist just graduated from alpha and is ready for the big leagues. ๐Ÿ”ฌ Shout-out to @EvoScientist/evoscientist ๐Ÿš€ ## What's Changed * feat(models): add glm-5, glm-4.7 from zhipu API (with code plan supoort) by @xiaohuiyan in https://github.com/EvoScientist/EvoScientist/pull/19 ## New Contributors * @xiaohuiyan made their first contribution in https://github.com/EvoScientist/EvoScientist/pull/1Low3/8/2026
v.0.0.1-bateG'day mate! ๐Ÿ‘‹ First beta of EvoScientist has landed โ€” your self-evolving AI scientist just learned a whole bunch of new tricks. ๐Ÿงช Shout-out to @EvoScientist/evoscientist ๐Ÿš€ ## What's Changed * Add `--name/-n` flag for naming run workspaces by @din0s in https://github.com/EvoScientist/EvoScientist/pull/5 * feat(onboard): disable already configured mcp servers by @Low2/24/2026
v0.0.1-alpha.1Gโ€™day mate! ๐Ÿ‘‹ First alpha of **EvoScientist** is here โ€” a self-evolving AI scientist for scientific discovery. ๐Ÿค– Shout-out to @EvoScientist/evoscientist ๐Ÿš€ ## What's Changed * fix: Event loop closed error on alternating messages in interactive mode by @din0s in https://github.com/EvoScientist/EvoScientist/pull/2 * Add Google GenAI (Gemini) Support by @din0s in https://github.com/EvoScientist/EvoScientist/pull/3 * feat: Add iMessage channel integration with thinking and debounce supportLow2/9/2026

Dependencies & License Audit

Loading dependencies...

Similar Packages

MOPA local LLM-based autonomous agent orchestration platform featuring async background tasks, context-isolated sub-agents, dynamic knowledge injection, and strict security approval gates (Plan Mode).0.0.0
andy-universal-agent-rules๐Ÿง  Enhance your AI coding assistant with a universal knowledge base and rules system, compatible with any project and editor.main@2026-06-07
ai-news-aggregatorAn autonomous AI agent that crawls, summarizes, and publishes news articles.๐Ÿš€main@2026-06-07
JianYan๐ŸŽค Transform speech to text on Windows with fast, local AI processing. Enjoy seamless recording and automatic integration for effective communication.main@2026-06-07
hermes-agentThe agent that grows with youv2026.6.5

More in AI Agents

@blockrun/franklinFranklin โ€” The AI agent with a wallet. Spends USDC autonomously to get real work done. Pay per action, no subscriptions.
hermes-agentThe agent that grows with you
awesome-copilotCommunity-contributed instructions, agents, skills, and configurations to help you make the most of GitHub Copilot.
e2bE2B SDK that give agents cloud environments