作者:互联网 时间: 2026-10-06 12:00:01
真正理解evo,要从它处理的任务开始:将您的代码库变成一个自动研究循环 - 发现要测量的内容,检测基准,然后使用并行子代理运行树搜索。一旦进入网页与浏览器自动化环节,登录状态、页面变化和失败恢复往往不稳定会直接影响交付,这也是我最关心的风险。更实际的做法是选择一个权限清楚的网页流程做端到端短测,同时核对会话保持、元素定位、错误恢复和工件留存,不要直接在关键项目上。我会把它列入需要可观测网页自动化流程的开发者的候选清单,而不是仅凭项目介绍直接纳入生产。

埃沃
用于代理框架的插件,可通过实验优化代码
你给它一个代码库。它发现要优化的指标,设置评估,并开始循环运行实验——尝试一些东西,保留那些能提高分数的东西,扔掉那些不能提高分数的东西。
受到 Karpathy 的自动研究 的启发 - LLM 自主运行训练实验以击败自己的最佳成绩。自动研究是一次纯粹的爬山:尝试一些东西,保留或恢复,在单个分支上重复。 evo 在这个想法的基础上添加了结构:
discover 技能探索存储库,找出要测量的内容,并进行评估。在 Claude Code、Codex、Cursor、Kimi、OpenClaw、Hermes、Opencode 或 Pi 上运行。实验在本地或远程沙箱上运行 - Modal、E2B、Daytona、AWS、Azure、SSH。
尝试一下
两个命令:
/evo:discover # one-time code discovery: figures out benchmarks and creates gates against unintended changes
/evo:optimize # run the loop
discover 询问要优化什么、基准命令和度量方向。通过播种答案来跳过问题:
/evo:discover make the JSON parser at src/parser.py faster
然后运行循环:
/evo:optimize
evo 根据基准测试的资源配置文件调整每一轮的大小(当运行需要整个 GPU 或另一个专有资源时,一次进行一个实验,当运行独立时更宽),并继续进行,直到分数停止提高。默认情况下,它在无人值守的情况下运行,并通过并行子代理推送编辑;如果您希望它在每一轮后暂停或一次坚持一个实验,请用简单的语言说出来。
调用语法是特定于主机的:Claude Code 上的 /evo:、Codex 上的 $evo、Cursor 上的 / 技能菜单、Hermes、Opencode、OpenClaw 和 Pi 上的自然语言。
安装
# 1. evo CLI
uv tool install evo-hq-cli
# 2. Host CLI (if you don't already have it)
npm install -g @anthropic-ai/claude-code # or @openai/codex, openclaw, @earendil-works/pi-coding-agent
# Cursor: install from cursor.com (IDE), or `curl https://cursor.com/install -fsS | bash` for the cursor-agent CLI
# Kimi: `curl -fsSL https://code.kimi.com/install.sh | bash`, or `npm install -g @moonshot-ai/kimi-code`
# 3. Plugin + host hooks
evo install <host> # claude-code | codex | cursor | hermes | kimi | opencode | openclaw | pi
对于远程后端,请安装额外的匹配提供程序:uv tool install 'evo-hq-cli[modal]'(或 [e2b]、[daytona]、[aws]、[azure]、[all])。
Codex 挂钩信任
evo install codex 相信 evo 的钩子会为您服务。要先自行审核,请通过 --no-trust-hooks,然后通过 Codex 内的 /hooks 进行批准。
它是如何运作的
并行
协调器并行调度子代理。每个都在自己的隔离工作区中运行,获取共享状态(故障跟踪、注释、废弃的假设)、形成假设、编辑并运行基准测试。当先前的编辑需要后续操作时,具有剩余迭代预算的子代理将在同一轮中继续在其分支上运行。
前沿战略
每轮结束后,编排器都会选择下一个要扩展的提交分支。可用策略:
在仪表板的 Frontier 选项卡中进行配置,其中列出了每个策略的参数。
横切扫描
在各轮之间,RLM-inspired 扫描子代理并行读取跟踪批次并表面复合故障模式:门故障交叉点、跨跟踪的共享根本原因。结果处于共享状态,下一轮的子代理在启动时读取该状态。
盖茨
evo 引入了 gates:在每个实验上运行的 pass/fail 检查。未通过门的实验将被丢弃,即使它的分数超过了当前的最佳成绩。如果没有门,搜索将找到返回常量、跳过工作或以正确性换取速度的方法。
任何在通过时退出零且在失败时退出非零的命令都有资格作为门:测试套件、不变脚本、基准测试保留片段上的分数下限。门沿实验树向下继承:在根部注册的门在每个后代上运行。较窄的门可以连接到特定的分支。
当 discover 从头开始构建基准时,它会自动附加一个保留的切片分数底限门。当基准已存在于存储库中时,门是选择加入的。
实验进行的地方
| 后端 | 哪里 | 安装 |
|---|---|---|
| 工作树 (默认) | 每个实验的本地 git 工作树 | 包括在内 |
| 泳池 | 重用一组固定的本地工作空间 | 包括在内 |
| ssh | 您自己的 SSH 主机 | 包括在内 |
| 模态 | 模态无服务器云 | uv tool install 'evo-hq-cli[modal]' |
| e2b | E2B云沙箱 | uv tool install 'evo-hq-cli[e2b]' |
| 代托纳 | 代托纳云工作空间 | uv tool install 'evo-hq-cli[daytona]' |
| AWS | AWS EC2 沙箱 | uv tool install 'evo-hq-cli[aws]' |
| 天蓝色 | Azure VMs | uv tool install 'evo-hq-cli[azure]' |
在仪表板的后端选项卡中选择并配置。
仪表板
仪表板自动以 /evo:discover (或 evo init)启动,并在聊天中打印 URL:
Dashboard live: http://127.0.0.1:8080 (pid 12345)
如果 8080 正在使用,evo 会递增到下一个空闲端口(8081、8082,...)并打印它。后续运行将重用所选端口。手动启动它:
uv run --project /path/to/evo/plugins/evo evo dashboard --port 8080
升级中
evo update # update CLI + every installed host
evo update <host> # update one host (also bumps CLI to match)
evo update <host> --version 0.4.1 # pin to a release
每个 evo install / evo update 都使 PATH 上的 CLI 与刚刚安装的主机插件版本保持同步(uv tool install --force evo-hq-cli 在引擎盖下)。如果没有解析为最新 稳定 版本的 --version 引脚,因此针对预发布版本运行未固定的 evo install/evo update 会将 CLI 拉回稳定状态 - 将两侧固定为 alpha(请参阅 测试预发布版本)。 CLI 二进制文件、技能文件和钩子协议共享线路格式 - 让它们漂移会导致早期版本中的静默故障。检测到可编辑安装(uv tool install --editable、pip install -e)并保持不变。
有关 --force、--scope 和其他标志,请参阅 evo update --help。
从任何 0.4.4 之前的版本迁移
uv tool install --force evo-hq-cli && evo update --force
--force 擦除主机插件缓存并重新安装,解决 anthropics/claude-code#14061:/plugin update 返回成功,但不替换缓存的插件文件。
挂钩失败并退出 127
主机丢失了 evo 的 hook 二进制文件。 0.5.1 中修复;重装主机修复:
uv tool install --force evo-hq-cli && evo install codex --force # or: evo install claude-code --force
evo doctor <host> 确认结果。
测试预发布(alpha)
uv 和 pip 默认跳过预发布。要安装 alpha,请固定 CLI 版本和主机插件标签:
uv tool install --force 'evo-hq-cli==0.4.1a2' &&
evo update --version 0.4.1-alpha.2 --force
替换目标 alpha 版本。 CLI使用PEP 440形式(0.4.1a2);市场标签使用短划线形式 (v0.4.1-alpha.2)。
遥测
evo 发送匿名遥测和使用统计数据,帮助我们改进 evo。 随时全局禁用它:
evo telemetry off
或者对于一个 command/session:
EVO_TELEMETRY=0 evo ...
开发安装
对于 evo 上的开发:
git clone https://github.com/evo-hq/evo
cd evo
uv tool install --editable plugins/evo