Evolver
把运行日志转成可审计的 GEP 演化提示。
按维度查看评分与理由
证据显示:README 明确说明 Evolver 不自动编辑代码、不执行任意 shell 命令,且验证命令有白名单和超时限制(least_privilege 2)。提供 --review 模式要求人工确认(user_confirmation 2)。数据流透明性:README 描述了日志扫描、Gene 选择、GEP 提示生成和事件记录,但未提供详细的数据流图(data_flow_transparency 2)。敏感数据处理:README 提到 GitHub issue 自动报告前会脱敏,测试中有秘密处理逻辑,但未全面覆盖(sensitive_data_handling 2)。依赖安全:package.json 列出依赖,但未提供漏洞扫描或审计证据(dependency_security 1)。外部影响:明确说明不自动执行代码,但存在网络连接和自动 issue 报告(external_effects 2)。回滚:README 提到使用 git 进行回滚,但未提供具体实现细节(rollback 2)。来源归属:README 致谢了贡献者,但发布者身份未验证(source_attribution 2)。
自洽性:README 和测试文件描述一致,但未验证实际运行(self_consistency 2)。依赖可用性:依赖列表存在,但未验证版本可用性(dependency_availability 1)。失败消息:测试覆盖了错误处理,但未提供用户可见的失败消息示例(failure_messages 2)。
受众和场景:README 明确了目标用户和适用场景(audience_and_scenarios 2)。能力边界:明确说明能做什么和不能做什么(capability_boundaries 2)。触发精度:提供了策略预设和信号去重,但未详细说明触发条件(trigger_precision 2)。环境适配:支持多种平台集成,但未提供所有环境的详细配置(environment_fit 2)。
信息架构:README 结构清晰,有目录和分节(information_architecture 2)。安装说明:提供了 npm 和源码安装步骤(install_notes 2)。命名稳定性:版本号遵循 SemVer,但未提供命名约定(naming_stability 2)。示例和 FAQ:提供了多个示例和 FAQ(examples_and_faq 2)。已知限制:README 提到了一些限制,但未全面列出(known_limitations 2)。许可证:GPL-3.0 许可证文件存在(license 2)。版本和变更日志:README 提到 GitHub Releases,但未提供详细变更日志(versioning_changelog 2)。维护责任:README 提供了贡献指南,但未明确维护者(maintenance_responsibility 2)。
输出可用性:输出为 GEP 提示,但未提供输出格式示例(output_usability 2)。边际价值:提供了独特的功能,但未与其他工具比较(marginal_value 2)。成本效益:未提供性能或成本数据(cost_benefit 1)。
声明可追溯性:README 引用了 arXiv 论文和博客,但未提供具体数据(claim_traceability 2)。跨来源佐证:仅依赖 README 和测试,未提供独立验证(cross_source_corroboration 1)。事实与推断分离:README 区分了事实和推断,但未明确标注(fact_inference_separation 2)。
- 发布者身份未验证,需谨慎对待。
- 依赖安全性未提供审计证据,建议检查依赖漏洞。
- README 声称的 arXiv 论文和性能数据未在仓库中验证。
- 核心引擎模块被混淆,可能影响可审计性。
这个 Agent 能做什么,适合哪些场景?
Evolver 是面向 AI Agent 项目的 Node.js 命令行自演化引擎,核心产物是协议约束的提示词,而不是代码补丁。它从项目的 memory 目录读取日志和信号,在本地 GEP 资产库中选择 Gene 或 Capsule,并记录 EvolutionEvent 以便追溯。默认可离线运行于任意 Git 仓库;连接 EvoMap Hub 后才启用技能商店、工作池、心跳和资产共享等网络功能。它可通过 setup-hooks 接入 Cursor、Claude Code、Codex、Kiro 和 opencode,也可在 OpenClaw 会话中由宿主解释其 stdout 指令。适合希望将反复的提示词调整固化为可审查演化资产的工程团队,不适合期待它直接修改代码的人。
执行 evolver 时,程序扫描 ./memory/ 中的运行日志、错误模式和信号,必要时创建该目录;随后从 <workspace>/.evolver/gep/genes.json 与 capsules.json 对应的本地资产库选择匹配项。src/gep/selector.js 根据提取的信号做选择,src/gep/prompt.js 生成包含 JSON selector decision 的 GEP prompt,并将审计事件写入本地记录。evolver --review 会在应用前等待人工确认,evolver --loop 则以自适应休眠持续运行。src/gep/solidify.js 可执行 Gene validation 数组中的验证命令,但仅允许 node、npm 或 npx 前缀,拒绝命令替换和常见 shell 操作符,并对每条命令设置 180 秒超时。
- 维护多个 Agent 提示词与运行日志的团队,希望把重复故障修复沉淀为可复用的 Gene 和 Capsule。
- 在 Git 仓库中运行 Agent 项目的开发者,需要先用 evolver --review 审阅演化建议,再自行实施变更。
- 使用 Claude Code 的工程团队,希望通过 evolver setup-hooks --platform=claude-code 接入会话生命周期钩子。
- 使用 OpenClaw 的用户,希望在单次会话内让宿主读取 Evolver 输出的 sessions_spawn(...) 文本指令。
- 需要保留演化审计线索的团队,希望将每个周期的选择和结果记录为 EvolutionEvent。
这个 Agent 有哪些优点和局限?
- 本地运行即可从日志到 GEP prompt 再到 EvolutionEvent,核心流程不依赖网络。
- 以 Genes、Capsules 和事件记录承载演化,而非只输出一次性提示词,便于复用和审计。
- Gene 验证命令有前缀白名单、shell 操作符拦截、作用域限制和 180 秒超时等明确边界。
- 提供 review、loop、策略预设及多种开发 Agent 运行时的钩子安装命令。
- 它是提示词生成器,不会自动修改项目源代码;最终实施仍由人或宿主运行时承担。
- 必须在 Git 初始化的目录中运行,且依赖 Node.js >= 18。
- Codex 钩子没有会话逐字稿文件,--review 无法读取原始会话日志,初期可能出现 memory_missing 等建议性信号。
- Hub 工作池、技能下载和资产共享需要网络配置;工作池还要求本地 WORKER_ENABLED=1 与网站侧开关同时开启。
- 仓库说明称核心演化模块以混淆形式分发,并计划未来版本转向 source-available,可能影响需要完整可读源码的团队。
如何安装或部署这个 Agent?
前提:Node.js >= 18 和 Git。安装并确认命令可用:
npm install -g @evomap/evolver
evolver --help在一个已初始化的 Git 仓库中运行 evolver。核心功能无需网络或凭据。若要连接 Hub,在运行 evolver 的项目工作目录创建 .env,并设置:
A2A_HUB_URL=https://evomap.ai
A2A_NODE_ID=your_node_id_here如何使用这个 Agent?
进入 Git 仓库后运行:
evolver
首次成功运行会扫描 ./memory/、选择本地 Gene 或 Capsule、向 stdout 输出 GEP prompt,并写入审计事件。需要人工确认时运行 evolver --review;需要后台循环时运行 evolver --loop。可用 EVOLVE_STRATEGY=innovate、harden 或 repair-only 调整循环侧重,例如:
EVOLVE_STRATEGY=harden evolver --loop接入 Codex 时可运行 evolver setup-hooks --platform=codex,但该集成不提供会话逐字稿读取;如需经 Proxy 路由模型流量,需额外配置指向 Proxy /v1 的 OpenAI Responses 兼容自定义 provider。