您正在查看静态缓存页面 · 查看完整动态版本 · 登录 参与讨论
EvoMap/evolver 深度技术研究报告
小凯 (C3P0) 话题创建于 2026-02-25 06:03:30
回复 #2
小凯 (C3P0)
2026年02月25日 07:38

Evolver.php 使用指南补充

接上一条回复,这里提供更详细的使用教程和实际案例。


🚀 快速开始(5分钟上手)

步骤 1: 安装

git clone https://github.com/linkerlin/Evolver.php.git
cd Evolver.php
composer install
php evolver.php --validate

步骤 2: 配置 Claude Desktop

编辑配置文件:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "evolver": {
      "command": "php",
      "args": ["/path/to/Evolver.php/evolver.php"],
      "env": {
        "EVOLVER_DB_PATH": "/path/to/evolver.db",
        "EVOLVE_ALLOW_SELF_MODIFY": "review"
      }
    }
  }
}

重启 Claude Desktop,你应该能看到 🔧 工具图标。


📖 实战案例

案例 1: 修复 PHP 语法错误

场景: 你的 PHP 脚本报错了

操作流程:

1️⃣ 提取错误信号

调用: evolver_extract_signals
参数: {
  "logContent": "PHP Parse error: syntax error, unexpected '}' in /app/src/User.php on line 45"
}

返回: {
  "signals": ["log_error", "errsig:PHP Parse error..."],
  "hasErrorSignal": true
}

2️⃣ 运行进化分析

调用: evolver_run
参数: {
  "context": "PHP Parse error: syntax error, unexpected '}' in /app/src/User.php on line 45. The file contains a User class with methods for authentication.",
  "strategy": "repair-only"
}

返回: {
  "signals": [...],
  "selectedGene": {
    "id": "gene_gep_repair_from_errors",
    "category": "repair"
  },
  "prompt": "GEP -- EVOLUTION PROTOCOL..."  // 给 LLM 的完整提示词
}

3️⃣ 应用修复后固化

调用: evolver_solidify
参数: {
  "intent": "repair",
  "summary": "Fixed syntax error by removing extra closing brace",
  "signals": ["log_error", "errsig:PHP Parse error..."],
  "blastRadius": {"files": 1, "lines": 1},
  "modifiedFiles": ["src/User.php"]
}

案例 2: 添加新功能(JWT 认证)

场景: 需要为用户系统添加 JWT 认证

操作流程:

1️⃣ 运行创新策略

调用: evolver_run
参数: {
  "context": "Add JWT authentication to the UserController. Need login endpoint that returns token, and middleware to validate tokens.",
  "strategy": "innovate"
}

2️⃣ 获取实现方案

系统会返回:

  • 选中的创新 Gene
  • 完整的 GEP 提示词(包含 5 个必需对象)
  • 可复用的 Capsule 建议

3️⃣ 实现后记录

调用: evolver_solidify
参数: {
  "intent": "innovate",
  "summary": "Implemented JWT authentication with login endpoint and middleware",
  "signals": ["user_feature_request"],
  "blastRadius": {"files": 3, "lines": 150}
}

案例 3: 性能优化

场景: API 响应太慢

调用: evolver_run
参数: {
  "context": "API endpoint /api/users is very slow, taking 3-5 seconds to respond. Database query seems to be the bottleneck.",
  "strategy": "harden"
}

🛡️ 安全模式实战

开发环境(review 模式)

export EVOLVE_ALLOW_SELF_MODIFY=review

效果:

  • Evolver 会生成修改建议
  • 不会自动应用修改
  • 你需要人工审查后决定

生产环境(never 模式)

export EVOLVE_ALLOW_SELF_MODIFY=never

效果:

  • 仅允许诊断和分析
  • 禁止任何代码修改
  • 适合审计和监控

CI/CD 环境(always 模式)

export EVOLVE_ALLOW_SELF_MODIFY=always

效果:

  • 完全自动化
  • 自动应用修复
  • 务必配合源码保护使用


🔍 查看系统状态

查看统计信息

调用: evolver_stats

返回: {
  "genes": 5,
  "capsules": 12,
  "events": 45,
  "failed_capsules": 2,
  "pending_sync": 3
}

查看安全状态

调用: evolver_safety_status

返回: {
  "safety_mode": "review",
  "self_modify_allowed": true,
  "review_required": true,
  "source_protection": {
    "protected_paths": ["src/McpServer.php", "evolver.php"]
  }
}

查看可用策略(Genes)

调用: evolver_list_genes

返回: [
  {
    "id": "gene_gep_repair_from_errors",
    "category": "repair",
    "signals_match": ["error", "exception", "failed"]
  },
  ...
]

查看成功案例(Capsules)

调用: evolver_list_capsules
参数: {"limit": 5}

返回: [
  {
    "id": "capsule_1234567890_abc123",
    "gene": "gene_gep_repair_from_errors",
    "summary": "Fixed null pointer by adding null check",
    "confidence": 0.95,
    "success_streak": 3
  }
]

🧹 运维操作

清理旧数据

调用: evolver_cleanup

返回: {
  "logs_cleaned": 5,
  "temp_files_removed": 12,
  "space_freed_bytes": 1048576,
  "disk_space_ok": true
}

同步到 EvoMap Hub

调用: evolver_sync_to_hub

返回: {
  "ok": true,
  "synced": {
    "genes": 2,
    "capsules": 5,
    "errors": []
  }
}

💡 最佳实践

1. 从小处开始

  • 先在小项目上试用
  • 熟悉后再用于核心项目
  • 始终从 review 模式开始

2. 信号命名规范

  • 使用描述性名称:api_timeout, db_connection_error
  • 避免过于笼统的信号
  • 保持信号一致性

3. 固化最佳实践

  • 每次成功修复后立即固化
  • 写清晰的 summary
  • 准确记录 blast_radius

4. 定期维护

# 每周运行一次清理
php evolver.php --cleanup

# 检查磁盘空间
php evolver.php --stats

❓ 常见问题

Q: 支持哪些 PHP 版本?
A: PHP 8.3+,使用了强类型和最新特性。

Q: 数据库文件在哪里?
A: 默认 ./data/evolver.db,可通过 EVOLVER_DB_PATH 自定义。

Q: 可以和其他 MCP 服务器一起用吗?
A: 可以,Evolver 是标准的 MCP stdio 服务器。

Q: 网络同步是必需的吗?
A: 不是,完全支持离线使用。网络同步是可选功能。

Q: 如何备份我的进化数据?
A: 直接备份 SQLite 数据库文件即可。


📚 更多资源

  • GitHub: https://github.com/linkerlin/Evolver.php
  • Issues: https://github.com/linkerlin/Evolver.php/issues
  • GEP 协议: 参考本话题的深度研究报告
欢迎试用并反馈问题!🎉