Files
EvoScientist/README.zh-CN.md
T

32 KiB
Raw Blame History

Warning

这是社区翻译版本,欢迎修正!


EvoScientist Logo

Typing SVG

English | 简体中文

EvoScientist 旨在通过构建自我进化的 AI 科学家来驱动 Vibe Research——让 AI 自主探索、生成洞见并持续迭代优化。 它以开箱即用为设计理念,提供一个伴随智能体技能、工具集和记忆库共同成长的活跃研究系统。 EvoScientist 超越了传统的人在回路(Human-in-the-Loop)模式,采用人在环上(Human-on-the-Loop)范式——AI 作为研究伙伴,与人类研究者共同进化,逐步内化学术品味与科学判断力。

🏆 荣誉与认可

ICAIS 2025 Awards
最佳论文与评审奖
Best Paper
AI 生成最佳论文
DeepResearch Bench II #1
DeepResearch Bench II 第一名

DeepResearch Bench #1
DeepResearch Bench 第一名
AstaBench Code & Execution #1
AstaBench 代码与执行榜第一名
AstaBench Data Analysis #1
AstaBench 数据分析榜第一名

⚡ 统一入口,多端体验

🌐 Desktop WebUI

🖥️ CLI / TUI

📱 移动端

✨ 特性

  • 🤖 多智能体协作 — 6 个子智能体(规划、调研、编码、调试、分析、写作)协同工作。
  • 🧠 自进化记忆 — 用户画像与观察记录每轮自动提炼,跨会话持续进化。
  • 🌐 多模型供应商 — Anthropic、OpenAI、Google、MiniMax、NVIDIA——一处配置,随时切换。
  • 📱 多渠道接入 — CLI 为中心;Telegram、Slack、飞书、微信等——共享同一智能体会话。
  • 🖥️ Desktop WebUI(beta) — 单终端 --ui webui 启动带工作区面板的 Web 应用。
  • 🔬 科学工作流 — 需求采集 → 规划 → 执行 → 评估 → 撰写 → 验证。
  • 🔄 代码生成模式 — More Effort(迭代精修),持续迭代提升代码生成质量。
  • ⚡ 自适应工具 — 每轮对话智能筛选相关工具,减少干扰提升效率。
  • ✂️ 上下文编辑 — 根据对话状态动态改写系统提示词。
  • 🔌 MCP 与 Skills — 即插即用 MCP 服务器,或从 GitHub 一键安装技能包。

Tip

寻找开箱即用的研究技能?查看 EvoSkills — 由 EvoScientist 引擎驱动,结合可安装技能,端到端研究全流程一步到位。EvoSkills 同样兼容各类 CLI 编程智能体。

🔥 动态

📦 版本更新摘要(changelog)
  • [2026 年 6 月 7 日] v0.1.4 — 辅助模型(后台任务与工具选择)、observation 记忆生命周期、Qwen3.7-Max/Plus(DashScope)、UI 后端选择,以及 OpenRouter 多轮推理修复。
  • [2026 年 6 月 3 日] v0.1.3 — 多模态处理(图片 + PDF/文档 flatten/hoisting、纯文本模型回退)、runtime-context 中间件、memory 中间件迁移至 profile 文件 + stream 时间线叙述、textual 中文输入修复。
  • [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,UID 1000)。./workspace bind 挂载的宿主目录必须可被该 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。

onboard

📟 通过环境变量手动配置

至少设置一个 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)

demo

运行 EvoSci -h 查看全部 CLI 选项。

cli help

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 客户端使用
Desktop 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
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 及更广泛的开源社区共同为本项目做出贡献。

如有任何咨询或合作意向,请联系:EvoScientist.ai@gmail.com

🔝回到顶部

🤝 贡献

EvoScientist Team

我们欢迎各层次的开发者、研究者以及 AI 编程助手参与贡献。我们的 贡献指南 同时面向人类和 AI Agent 编写,涵盖架构说明、设计模式、扩展指南和代码规范,帮助你安全高效地参与项目开发。

👥 社区贡献者

⚗️ 加入 EvoScientist 社区,探讨 AI 驱动的科研前沿,分享实验成果,共同推动自动化科学发现的未来。

  • Discord — 实时提问、分享发现,与研究者和开发者协作交流。

  • 微信 — 加入中文社区,与国内研究者和开发者交流。

    微信群二维码

每一份贡献,都让我们离 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 文件。

🔝回到顶部