30 KiB
Warning
这是社区翻译版本,欢迎修正!
English | 简体中文
EvoScientist 旨在通过构建自我进化的 AI 科学家来驱动 Vibe Research——让 AI 自主探索、生成洞见并持续迭代优化。 它以开箱即用为设计理念,提供一个伴随智能体技能、工具集和记忆库共同成长的活跃研究系统。 EvoScientist 超越了传统的人在回路(Human-in-the-Loop)模式,采用人在环上(Human-on-the-Loop)范式——AI 作为研究伙伴,与人类研究者共同进化,逐步内化学术品味与科学判断力。
🏆 荣誉与认可
|
最佳论文与评审奖 |
AI 生成最佳论文 |
DeepResearch Bench II 第一名 |
DeepResearch Bench 第一名 |
AstaBench 代码与执行榜第一名 |
AstaBench 数据分析榜第一名 |
⚡ 统一入口,多端体验
🖥️ CLI / TUI / WebUI |
📱 移动端 |
|---|---|
✨ 特性
- 🤖 多智能体协作 — 6 个子智能体(规划、调研、编码、调试、分析、写作)协同工作。
- 🧠 持久化记忆 — 上下文、偏好和研究发现跨会话保持。
- 🌐 多模型供应商 — Anthropic、OpenAI、Google、MiniMax、NVIDIA——一处配置,随时切换。
- 📱 多渠道接入 — CLI 为中心;Telegram、Slack、飞书、微信等——共享同一智能体会话。
- 🖥️ 浏览器 WebUI(beta) — 单终端
--ui webui启动带工作区面板的 Web 应用。 - 🔬 科学工作流 — 需求采集 → 规划 → 执行 → 评估 → 撰写 → 验证。
- 🔄 代码生成模式 — More Effort(迭代精修),持续迭代提升代码生成质量。
- ⚡ 自适应工具 — 每轮对话智能筛选相关工具,减少干扰提升效率。
- ✂️ 上下文编辑 — 根据对话状态动态改写系统提示词。
- 🔌 MCP 与 Skills — 即插即用 MCP 服务器,或从 GitHub 一键安装技能包。
Tip
寻找开箱即用的研究技能?查看 EvoSkills — 由 EvoScientist 引擎驱动,结合可安装技能,端到端研究全流程一步到位。EvoSkills 同样兼容各类 CLI 编程智能体。
🔥 动态
- [2026 年 4 月 18 日] 🥇 提交时在 DeepResearch Bench 排名第一!排行榜 👈
- [2026 年 4 月 13 日] 🥇 再度登顶!提交时在 DeepResearch Bench II 重回第一!排行榜 👈
- [2026 年 3 月 26 日] 🥇 提交时在 AstaBench 数据分析 排名第一!排行榜 👈
- [2026 年 3 月 25 日] 🥇 提交时在 AstaBench 代码与执行 排名第一!排行榜 👈
- [2026 年 3 月 13 日] 🚀 EvoScientist 正式亮相!
- [2026 年 3 月 11 日] ⛳ 技术报告已上线!查看详情 👈
- [2026 年 3 月 6 日] 🥇 提交时在 DeepResearch Bench II 排名第一!排行榜 👈
- [2025 年 11 月 24 日] 🏆 ICAIS 2025 AI Scientist Track 6/6 全部中稿 — Best Paper & AI Reviewer's Appraisal Award!详情 👈
📦 版本更新摘要(changelog)
- [2026 年 6 月 2 日] v0.1.2 — 浏览器 WebUI 模式(beta)、
EvoSci deploy独立 LangGraph 服务器、默认模型 → claude-sonnet-4-6、MiniMax M3,以及 sandbox 超时与 async-notifier 渠道路由修复。 - [2026 年 5 月 19 日] v0.1.1 — deepagents 0.6.2 DeltaChannel 升级、tier-aware skill mounts、状态/耗时栏、QQ 内联按钮。
- [2026 年 5 月 8 日] v0.1.0 — 异步子智能体(langgraph dev)、官方 Docker 镜像、个人微信、sessions DB 压缩。
- [2026 年 4 月 26 日] v0.0.9 — 启动加速、会话内换模型、统一斜杠命令、DeepSeek V4 thinking 修复。
- [2026 年 4 月 21 日] v0.0.8 — 统一数据目录、状态栏、增强 ask-user & auto-mode。
- [2026 年 4 月 10 日] v0.0.7 — 全局 skills 目录、Moonshot/Kimi 供应商、ccproxy 修复、渠道改进。
- [2026 年 4 月 3 日] v0.0.6 — 动态上下文管理、OpenRouter reasoning、More Effort 模式、GLM-5.1。
- [2026 年 3 月 27 日] v0.0.5 — 上下文重试中间件、OpenAI relay 配置、飞书事件循环修复、
/compact。 - [2026 年 3 月 24 日] v0.0.4 —
@file引用、resume 历史、飞书 WebSocket、LaTeX 安装。 - [2026 年 3 月 20 日] v0.0.3 — 语音输入(STT)、MiniMax/DeepSeek 供应商、MCP & skill 浏览器。
- [2026 年 3 月 17 日] v0.0.2 — OAuth 登录、human-in-the-loop &
ask_user、headless serve。 - [2026 年 3 月 13 日] v0.0.1 — 首个公开版本——自进化 AI Scientist。
📖 目录
📦 安装
Tip
需要 Python 3.11+(< 3.14)。推荐使用 uv 或 conda 进行依赖管理和虚拟环境管理。想完全跳过本地 Python 安装?直接跳转到 🐳 Docker。
🪛 安装 uv(如果尚未安装)
curl -LsSf https://astral.sh/uv/install.sh | sh
快速安装
uv tool install EvoScientist
Note
更新已安装的版本到最新,请使用
uv tool upgrade:uv tool upgrade EvoScientist
或安装到当前环境:
uv pip install EvoScientist
从 GitHub 安装最新版本
获取 PyPI 发布前的最新补丁:
uv pip install git+https://github.com/EvoScientist/EvoScientist.git
开发安装
git clone https://github.com/EvoScientist/EvoScientist.git
cd EvoScientist
uv sync --dev
enable pre-commit hooks:
uv run pre-commit install
使用 conda
conda create -n EvoSci python=3.11 -y
conda activate EvoSci
pip install -e ".[dev]"
使用 PyPi
pip install EvoScientist # quick install
pip install -e ".[dev]" # development install
可选:渠道依赖
消息渠道集成需要额外依赖,按需安装即可:
uv pip install "EvoScientist[telegram]" # Telegram
uv pip install "EvoScientist[discord]" # Discord
uv pip install "EvoScientist[slack]" # Slack
uv pip install "EvoScientist[wechat]" # 微信
uv pip install "EvoScientist[qq]" # QQ
uv pip install "EvoScientist[feishu]" # 飞书
uv pip install "EvoScientist[all-channels]" # 全部
升级到最新代码库
git pull && uv sync --dev
🐳 Docker
我们在 GitHub Container Registry 上发布了一份预构建镜像,已经包含 evosci onboard 通常会为你安装的所有内容:
- Python 3.11、EvoScientist 以及全部跨平台消息渠道(即
EvoScientist[all-channels]) uv—— 用于 MCP 注册表按需安装 Python 类 MCP 服务器- Node.js 24 LTS +
npx—— 大多数 MCP 服务器依赖此运行时
容器中无法使用 iMessage 渠道——它需要 imsg CLI 与 macOS 的 Messages.app 通信,仅限宿主操作系统。如需 iMessage,请直接在 macOS 上运行 EvoScientist。
在容器中运行 EvoScientist 还会沙箱化智能体的 Shell 访问——文件编辑和 Shell 命令仅限于你显式挂载的卷。
docker run -it --rm \
--env-file .env \
-v "$(pwd)/workspace:/workspace" \
-v evosci-data:/home/evosci/.evoscientist \
ghcr.io/evoscientist/evoscientist:latest
各挂载的用途:
| 挂载 | 用途 |
|---|---|
--env-file .env |
API 密钥(ANTHROPIC_API_KEY、OPENAI_API_KEY 等) |
./workspace:/workspace |
智能体的工作目录 |
evosci-data:/home/evosci/.evoscientist |
持久化应用状态:会话数据库、全局技能、记忆,以及 config.yaml / mcp.yaml |
Important
镜像以非 root 用户运行(
evosci,UID1000)。./workspacebind 挂载的宿主目录必须可被该 UID 写入。如果你的宿主用户 ID 不同,可以一次性chown -R 1000:1000 ./workspace,或在每次docker run时加上--user "$(id -u):$(id -g)",让容器使用你的 UID。
也可使用 docker compose(仓库自带一个起步用的 docker-compose.yml):
docker compose run --rm evoscientist
如果想本地构建而不是拉取镜像:
docker build -t evoscientist:dev .
Note
镜像中未捆绑以下内容,需要时基于镜像派生安装:
stt(基于faster-whisper的语音转文字)和oauth(ccproxy-api)- TinyTeX / LaTeX(
pdflatex、latexmk),供论文写作类技能使用FROM ghcr.io/evoscientist/evoscientist:latest # Python 额外组件 USER root RUN uv pip install --python /opt/venv/bin/python "EvoScientist[stt,oauth]" USER evosci # TinyTeX # 官方安装方式是 `curl | sh`;如果你不想把未固定版本的远程脚本 # 直接管入 shell,可以从 https://github.com/rstudio/tinytex-releases # 下载特定版本的 TinyTeX 发布包,校验校验和后解压到 # /home/evosci/.TinyTeX。 RUN curl -sL https://yihui.org/tinytex/install-bin-unix.sh | sh \ && /home/evosci/.TinyTeX/bin/*/tlmgr install latexmk
🔑 配置
最简单的方式是使用交互式配置向导:
EvoSci onboard
Tip
向导将引导你完成供应商选择、密钥验证、模型选择和工作区模式设置。 支持 CLI 编程智能体订阅用户通过 OAuth 直连——无需 API Key。
📟 通过环境变量手动配置
至少设置一个 LLM 供应商密钥,搜索密钥为可选项:
# 选择一个 LLM 供应商
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(默认,中国大陆)或 platform.minimax.io(国际版)
export MINIMAX_BASE_URL="https://api.minimax.io/anthropic" # 仅国际版需要设置(默认: https://api.minimaxi.com/anthropic)
export NVIDIA_API_KEY="nvapi-..." # NIM — build.nvidia.com
# 网络搜索(可选)
export TAVILY_API_KEY="tvly-..." # app.tavily.com
也可以使用 EvoSci config set 将密钥持久化到 ~/.config/evoscientist/config.yaml。
或者复制示例 .env 文件用于项目级配置:
cp .env.example .env # 填入你的密钥
⚠️ 切勿将包含真实密钥的
.env文件提交到版本库。该文件已在.gitignore中。
⚡ 快速上手
EvoSci # 或 EvoScientist — 交互模式(默认 TUI)
运行
EvoSci -h查看全部 CLI 选项。
Tip
想用浏览器?运行
EvoSci --ui webui打开 Web 工作区界面(beta)。需要复制长输出?使用--ui cli切换到经典模式,即可使用终端原生复制。macOS iTerm2 用户也可以按住⌥ Option拖选文字,再⌘+C复制。
常用示例
EvoSci # 交互模式(默认 TUI)
EvoSci -p "你的问题" # 单次查询模式
EvoSci --workdir /path/to/project # 在指定目录下启动
EvoSci -m run # 隔离的会话级工作区
EvoSci --ui cli # 经典 CLI(轻量)
EvoSci --ui webui # 浏览器工作区界面(beta,需 Node/npx)
EvoSci serve # 无头模式——仅渠道,无交互提示符
EvoSci deploy # 独立 LangGraph 服务器——供外部 UI / SDK 客户端使用
浏览器 WebUI(beta)
将 UI 后端设为 webui,全新的 EvoSci 会话便会在单个终端里同时启动 deploy 式 LangGraph 服务器和 @evoscientist/webui 前端,无需管理第二个进程:
EvoSci config set ui_backend webui # 持久化;或用 `EvoSci --ui webui` 临时启用
EvoSci # 打开 http://localhost:4716
EvoSci config set webui_port 4800 # 修改前端端口(须与 langgraph dev 端口不同)
需要 Node.js 24 LTS(提供 npx);首次启动会下载 @evoscientist/webui,需要联网。Beta:WebUI 不会显示 CLI/TUI 的历史会话,且 -p / --resume 会回退到经典 CLI。
操作审批
默认情况下,Shell 命令(execute 工具)执行前需要人工审批。跳过审批提示的方式:
# 单次会话:通过 CLI 参数启用自动审批
EvoSci --auto-approve
EvoSci -p "query" --auto-approve
# 持久化:写入配置(对所有后续会话生效)
EvoSci config set auto_approve true
# 或仅放行特定命令前缀
EvoSci config set shell_allow_list "python,pip,pytest,ruff,git"
会话中也可以在审批提示时回复 3(Approve all),仅对当次会话自动审批后续所有操作。
智能体提问
智能体可以在需要澄清时主动向你提问(例如数据集选择、实验方向等)。此功能默认开启。关闭方式:
# 持久化:写入配置
EvoSci config set enable_ask_user false
# 重新开启
EvoSci config set enable_ask_user true
会话内命令
| 命令 | 说明 |
|---|---|
/current |
显示当前会话信息 |
/threads |
列出最近的会话 |
/resume |
恢复之前的会话 |
/delete |
删除已保存的会话 |
/new |
开始新会话 |
/clear |
清除聊天记录 |
/skills |
列出已安装的技能包 |
/install-skill <src> |
从本地路径或 GitHub 安装技能包 |
/uninstall-skill <name> |
卸载已安装的技能包 |
/mcp |
管理 MCP 服务器 |
/channel |
配置消息渠道 |
/help |
显示可用命令 |
/exit |
退出 |
脚本调用
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)
🍪 示例与实践
收集了一些官方示例、进阶用法和社区贡献的实践方案,帮助你更好地使用 EvoScientist。
🔌 MCP 集成
通过 MCP 服务器一条命令即可添加外部工具:
# 用法
EvoSci mcp add <name> <command> [-- args...]
# 示例
EvoSci mcp add sequential-thinking npx -- -y @modelcontextprotocol/server-sequential-thinking
Tip
关于命令选项、配置字段、工具路由、通配符过滤和故障排查,请参阅 MCP 集成指南。
📱 渠道接入
连接消息平台,使其与 CLI 共享同一智能体会话:
# 用法
EvoSci channel setup <channel>
# 示例
EvoSci channel setup telegram
多个渠道可同时运行——在配置中用逗号分隔:
channel_enabled: "telegram,slack,feishu,qq"
也可以在 CLI 会话中通过 /channel 交互式启动渠道。
Tip
关于各渠道设置指南、功能矩阵、架构详情和故障排查,请参阅 渠道集成指南。
📚 致谢
本项目基于以下优秀的开源项目构建:
- LangChain — 构建智能体和 LLM 驱动应用的框架。
- DeepAgents — 开箱即用的智能体编排框架。
感谢以上项目作者对开源社区的宝贵贡献。
🎯 ᯓ➤ 路线图
即将推出:
- 🖥️ 全屏 TUI 和经典 CLI 双界面
- 📻 EvoMemory v1.0 已上线
- ⚒️ 200+ 预置技能已内置
- 🧩 内置研究全流程技能已上线
- 👋 Human-in-the-loop 操作审批
- 🦾 智能体主动向人类澄清确认
- 📑 技术报告已发布
- 🔐 OAuth 登录(CLI 编程智能体订阅用户)
- 📺 带工作区的 Web 应用界面(beta)
- 📹 Demo 与教程正在制作中
- 📊 基准测试套件即将推出
- ⏰ 核心系统定时任务规划中
敬请期待——更多功能正在路上!
🌍 项目角色
Core Contributors
|
Xi Zhang |
Yougang Lyu |
Dinos Papakostas |
Yuyue Zhao |
Ziheng Zhang |
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 Team 及更广泛的开源社区共同为本项目做出贡献。
如有任何咨询或合作意向,请联系:EvoScientist.ai@gmail.com
🤝 贡献
我们欢迎各层次的开发者、研究者以及 AI 编程助手参与贡献。我们的 贡献指南 同时面向人类和 AI Agent 编写,涵盖架构说明、设计模式、扩展指南和代码规范,帮助你安全高效地参与项目开发。
👥 社区贡献者
⚗️ 加入 EvoScientist 社区,探讨 AI 驱动的科研前沿,分享实验成果,共同推动自动化科学发现的未来。
每一份贡献,都让我们离 AI 驱动科学突破、造福全人类的未来更近一步。
📝 引用
如果您觉得我们的论文和代码对您的研究有帮助,请使用以下 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}
}
📜 许可证
本项目基于 Apache License 2.0 开源——详情请见 LICENSE 文件。








