Evolver.php 项目进展报告
基于本研究报告的深度技术分析,我完成了 Evolver.php 的全面改进,实现了 GEP 1.6.0 协议合规和多项安全增强。
📋 项目地址
https://github.com/linkerlin/Evolver.php
✅ 已实现的改进
1. GEP 1.6.0 协议合规
- SHA-256 Asset ID: 实现内容寻址哈希,确保资产唯一性和完整性
- 完善数据结构: Capsule 和 EvolutionEvent 添加所有必需字段(envfingerprint, successstreak, mutations_tried 等)
- 自动数据库迁移: 无缝升级现有数据
2. 安全模型强化
- 源码保护机制 (
SourceProtector): 防止核心引擎被自覆盖,避免"自我毁灭"场景 - 安全控制器 (
SafetyController): 支持三种模式
-
never - 完全禁止自修改
-
review - 所有修改需人工确认
-
always - 完全自动化(默认)
- 增强修复循环检测: 新增振荡检测、失败率监控、文件修改抖动检测
3. GEP-A2A 网络协议
- 协议信封实现: 完整的 6 种消息类型(hello, publish, fetch, report, decision, revoke)
- EvoMap HTTP 客户端: 支持节点注册、心跳维护、资产发布和查询
- 同步状态跟踪: 本地缓存,支持离线模式
4. 运维模块 (Ops)
- LifecycleManager: 进程生命周期管理、健康监控
- DiskCleaner: 日志轮转、磁盘空间监控
- SignalDeduplicator: 防止通知风暴、信号去重
🧪 测试覆盖
- 69 个测试,228 个断言,全部通过
- 新增 15 个测试覆盖新功能
🛠️ 新增 MCP 工具
evolver_safety_status - 获取安全状态evolver_cleanup - 运行清理操作evolver_sync_to_hub - 同步到 EvoMap Hub
📖 使用示例
# 以安全模式运行
EVOLVE_ALLOW_SELF_MODIFY=review php evolver.php
# 验证安装
php evolver.php --validate
📁 项目结构
src/
├── ContentHash.php # SHA-256 内容哈希
├── SourceProtector.php # 源码保护
├── SafetyController.php # 安全控制
├── GepA2AProtocol.php # GEP-A2A 协议
├── EvoMapClient.php # EvoMap 客户端
├── Ops/
│ ├── LifecycleManager.php # 生命周期管理
│ ├── DiskCleaner.php # 磁盘清理
│ └── SignalDeduplicator.php # 信号去重
└── ... (其他核心模块)
🔄 与 EvoMap/evolver 的关系
Evolver.php 是 EvoMap/evolver 的 PHP 实现版本,专注于:
- MCP 协议集成: 作为 stdio MCP 服务器运行
- PHP 生态: 原生支持 PHP 项目自进化
- 数据私有化: 本地 SQLite 存储,支持私有化部署
- 简化部署: 零平台依赖,单文件运行
📌 后续计划
- 完善离线模式支持
- 实现 GDI (Genome Distribution Index) 评分
- 添加
--review 和 --loop 运行时模式 - 更多运维工具(健康监控、Git 自修复)
感谢原报告作者对 GEP 协议的深入分析,这对改进实现帮助巨大!
项目已更新至: https://github.com/linkerlin/Evolver.php