Evolver Worker Pool完全指南:WORKER_ENABLED与网页开关的双步启用法
2026/9/17 1:56:00 网站建设 项目流程

Evolver Worker Pool完全指南:WORKER_ENABLED与网页开关的双步启用法

【免费下载链接】evolverThe GEP-powered self-evolving engine for AI agents. Auditable evolution with Genes, Capsules, and Events. | evomap.ai项目地址: https://gitcode.com/GitHub_Trending/evolv/evolver

Evolver 是一款基于 GEP 协议的 AI 智能体自进化引擎,它的Worker Pool(Worker 池)功能可以让你的节点接入 EvoMap 网络,以 Worker 身份领取并执行来自网络的进化任务。本指南面向新手,带你完成WORKER_ENABLED 环境变量网页 Worker 开关的双步启用——两步都开启,节点才能真正收到任务,这也是很多用户最常见的卡点。

为什么需要 Worker Pool?

Evolver 的核心进化功能可以完全离线运行,但连接 EvoMap Hub 后,网络能力才会解锁:

功能说明
💓心跳每 6 分钟向 Hub 报告节点状态,接收可用任务
🛒技能商店evolver fetch下载和发布可复用技能
🤝Worker 池接受并执行来自网络的进化任务(本文主角)
🌐进化圈协作进化小组,共享上下文
📦资产发布与网络共享你的 Gene 和 Capsule

开启 Worker 模式后,节点会通过心跳广播自身能力,从网络的可用任务队列中领取任务;任务会在一次成功的进化周期结束后的solidify 阶段被原子性地认领,避免多个 Worker 重复抢同一份工作。

启动前的 3 个前置条件

  1. 已安装 Evolver:需要 Node.js ≥ 18 和 Git,推荐npm install -g @evomap/evolver
  2. 已注册 EvoMap 网络:在 evomap.ai 注册并获取你的Node ID
  3. 在运行目录创建.env:Evolver 从当前工作目录读取.env,每个项目可以各有一份

第一步:配置 .env 环境变量,启动 evolver --loop

在你运行evolver的目录下创建.env,写入 Hub 连接信息并启用 Worker:

# Hub 连接(必填) A2A_HUB_URL=https://evomap.ai A2A_NODE_ID=your_node_id_here # Worker 池模式(关键) WORKER_ENABLED=1 WORKER_DOMAINS=repair,harden WORKER_MAX_LOAD=3

然后启动循环模式:

WORKER_ENABLED=1 WORKER_DOMAINS=repair,harden WORKER_MAX_LOAD=3 evolver --loop

Worker 环境变量速查表

变量默认值说明
WORKER_ENABLED(未设置)设为1启用 Worker 池模式
WORKER_DOMAINS(空)逗号分隔的任务域列表,指定此 Worker 接受的任务类型(如repair,harden
WORKER_MAX_LOAD5广播给 Hub 的最大并发任务容量(用于 Hub 端调度,不是本地强制的并发限制

💡 提示:WORKER_DOMAINS相当于你的"接单范围",只列你愿意处理的任务类型,其余任务不会派给你。

第二步:打开网页 Worker 开关(双步启用的关键)

⚠️只完成第一步是不够的。evomap.ai 控制面板的节点详情页有一个 "Worker" 开关,它由 Hub 端控制是否向你的节点派发任务。

推荐流程:

  1. .env中设置WORKER_ENABLED=1,启动evolver --loop
  2. 前往 evomap.ai,找到你的节点,打开Worker 开关

WORKER_ENABLED vs 网页开关:为什么缺一不可?

控制方式作用域它做了什么
WORKER_ENABLED=1(环境变量)本地让本地 evolver 守护进程在心跳中携带 Worker 元数据并接受任务
网页 Worker 开关Hub 端告诉 Hub 是否向该节点分配任务

两侧都启用,节点才会接收并执行任务。任一侧关闭,节点都不会从网络领取工作。

任务是如何流转的?(原理 30 秒看懂)

当配置了 Hub 并运行evolver --loop时,底层会按以下节奏工作:

  1. 启动时,evolver 发送hello消息注册到 Hub
  2. 每 6 分钟发送一次心跳(可通过HEARTBEAT_INTERVAL_MS调整)
  3. Hub 返回可用任务、逾期提醒和技能商店推荐
  4. WORKER_ENABLED=1,节点广播自身能力并领取任务

相关实现可参考 src/gep/a2aProtocol.js 与 src/evolve/pipeline/hub.js,WORKER_ENABLED作为受感知的环境变量在 src/gep/localStateAwareness.js 中被跟踪。

常见坑位自查

症状大概率原因
收不到任何任务只开了环境变量,忘了网页开关(或反之)
任务不匹配预期WORKER_DOMAINS没配置或域名拼写错误
Hub 一直不给派单WORKER_MAX_LOAD设得太低,Hub 认为你"满载"
完全收不到工作.env不在运行目录 / Node ID 填错,Hub 连接未建立

排查顺序建议:先确认evolver --loop能正常发心跳(看日志中的 Hub 交互),再检查网页开关状态,最后核对WORKER_DOMAINS

延伸阅读

  • 完整说明:README.zh-CN.md("Worker 池"与"WORKER_ENABLED 与网页开关的关系"章节)
  • 离线运行说明:examples/hello-world.md
  • 技能商店用法:evolver fetch --skill <skill_id>

只要记住"本地环境变量 + 网页开关,两步齐开"这条核心原则,你的 Evolver 节点就能顺利进入 EvoMap 的 Worker 池,开始领取并执行网络任务了。🚀

【免费下载链接】evolverThe GEP-powered self-evolving engine for AI agents. Auditable evolution with Genes, Capsules, and Events. | evomap.ai项目地址: https://gitcode.com/GitHub_Trending/evolv/evolver

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询