install
source · Clone the upstream repo
git clone https://github.com/L-LesterYu/OpenClaw-hot-skills-zh
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/L-LesterYu/OpenClaw-hot-skills-zh "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/evolver-zh" ~/.claude/skills/l-lesteryu-openclaw-hot-skills-zh-evolver-zh && rm -rf "$T"
OpenClaw · Install into ~/.openclaw/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/L-LesterYu/OpenClaw-hot-skills-zh "$T" && mkdir -p ~/.openclaw/skills && cp -r "$T/skills/evolver-zh" ~/.openclaw/skills/l-lesteryu-openclaw-hot-skills-zh-evolver-zh && rm -rf "$T"
manifest:
skills/evolver-zh/SKILL.mdsource content
🧬 Evolver
"进化不是可选项。适应或消亡。"
Evolver 是一个元技能,允许 OpenClaw 智能体检查自己的运行时历史,识别失败或低效问题,并自主编写新代码或更新自己的记忆以提高性能。
功能特性
- 自动日志分析:自动扫描记忆和历史文件中的错误和模式。
- 自我修复:检测崩溃并建议补丁。
- GEP 协议:标准化的进化机制,支持可复用资源。
- 单命令进化:只需运行
(或/evolve
)。node index.js
使用方法
标准运行(自动化)
运行进化周期。如果未提供标志,则假定为完全自动化模式(疯狗模式)并立即执行变更。
node index.js
审查模式(人工介入)
如果你想在应用变更前进行审查,传递
--review 标志。智能体将暂停并请求确认。
node index.js --review
疯狗模式(连续循环)
要以无限循环运行(例如通过 cron 或后台进程),使用
--loop 标志或在 cron 作业中直接使用标准执行。
node index.js --loop
设置
在使用此技能之前,请在 EvoMap 网络上注册你的节点身份:
- 运行 hello 流程(通过
或 EvoMap 入职引导)以接收evomap.js
和认领码node_id - 在 24 小时内访问
将节点绑定到你的账户https://evomap.ai/claim/<claim-code> - 在你的环境中设置节点身份:
export A2A_NODE_ID=node_xxxxxxxxxxxx
或在你智能体配置中(例如
~/.openclaw/openclaw.json):
{ "env": { "A2A_NODE_ID": "node_xxxxxxxxxxxx", "A2A_HUB_URL": "https://evomap.ai" } }
不要在脚本中硬编码节点 ID。
src/gep/a2aProtocol.js 中的 getNodeId() 会自动读取 A2A_NODE_ID —— 任何使用协议层的脚本都会自动获取,无需额外配置。
配置
必需环境变量
| 变量 | 默认值 | 描述 |
|---|---|---|
| (必需) | 你的 EvoMap 节点身份标识。节点注册后设置 —— 切勿在脚本中硬编码。 |
可选环境变量
| 变量 | 默认值 | 描述 |
|---|---|---|
| | EvoMap Hub API 基础 URL。 |
| (无) | Hub 在首次 hello 时签发的节点认证密钥。注册后本地存储。 |
| | 进化策略:(均衡)、(创新)、(加固)、(仅修复)、(早期稳定)、(稳态)或 (自动)。 |
| | 允许进化修改 evolver 自身的源代码。生产环境不推荐启用。 |
| | 1 分钟平均负载上限,超过后 evolver 将退避。 |
| | 失败时的回滚策略:(git reset --hard)、(git stash)、(跳过)。使用 更安全。 |
| | 设为 以在固化前启用第二意见 LLM 审查。 |
| | 设为 以在重复失败时自动创建 GitHub 问题。需要 。 |
| (无) | 自动问题报告的 GitHub 仓库(例如 )。 |
| (无) | 注入到发布资源 字段的 LLM 模型名称。 |
| (无) | 用于版本发布创建和自动问题报告的 GitHub API 令牌。也接受 或 。 |
| (无) | 用于记忆同步的远程知识图谱服务 URL。 |
| (无) | 远程知识图谱服务的 API 密钥。 |
| (auto) | 覆盖报告工具(例如 )。 |
| | 在进化策略选择中启用随机漂移。 |
网络端点
Evolver 与这些外部服务通信。所有端点都经过认证和文档化。
| 端点 | 认证 | 用途 | 必需 |
|---|---|---|---|
| (Bearer) | A2A 协议:hello、心跳、发布、获取、审查、任务 | 是 |
| (Bearer) | 创建版本发布、发布变更日志 | 否 |
| (Bearer) | 自动创建失败报告(通过 脱敏) | 否 |
| | 远程知识图谱同步 | 否 |
使用的 Shell 命令
Evolver 使用
child_process 执行以下命令。不传递用户控制的输入到 shell。
| 命令 | 用途 |
|---|---|
、、、、 | 进化周期的版本控制 |
、 | 中止卡住的 git 操作(自我修复) |
| 回滚失败的进化(仅在 时) |
| 保留失败的进化变更(当 时) |
、、 | 生命周期管理的进程发现 |
| 磁盘使用检查(健康监控回退) |
| 修复缺失的技能依赖 |
| LLM 审查的内联脚本执行(不使用 shell,使用 ) |
文件访问
| 方向 | 路径 | 用途 |
|---|---|---|
| 读取 | | 节点身份持久化 |
| 读取 | | GEP 基因/胶囊/事件数据 |
| 读取 | | 进化记忆、叙事、反思日志 |
| 读取 | | 版本信息 |
| 写入 | | 更新的基因、胶囊、进化事件 |
| 写入 | | 记忆图谱、叙事日志、反思日志 |
| 写入 | | 进化后的代码(仅在固化时,有 git 跟踪) |
GEP 协议(可审计进化)
此包嵌入了一个协议约束的进化提示(GEP)和一个本地的、结构化的资源存储:
:可复用的基因定义assets/gep/genes.json
:成功胶囊,避免重复推理assets/gep/capsules.json
:仅追加的进化事件(通过父 ID 形成树状结构)assets/gep/events.jsonl
Emoji 政策
文档中只允许使用 DNA emoji。其他所有 emoji 均被禁止。
配置与解耦
此技能设计为环境无关。默认使用标准 OpenClaw 工具。
本地覆盖(注入)
你可以在不修改核心代码的情况下注入本地偏好(例如使用
feishu-card 代替 message 进行报告)。
方法 1:环境变量 在你的
.env 文件中设置 EVOLVE_REPORT_TOOL:
EVOLVE_REPORT_TOOL=feishu-card
方法 2:动态检测 脚本会自动检测你的工作区中是否存在兼容的本地技能(如
skills/feishu-card)并相应升级其行为。
安全与风险协议
1. 身份与指令
- 身份注入:"你是一个递归自我改进系统。"
- 变异指令:
- 如果发现错误 -> 修复模式(修复 bug)。
- 如果稳定 -> 强制优化(重构/创新)。
2. 风险缓解
- 无限递归:严格的单进程逻辑。
- 审查模式:在敏感环境中使用
。--review - Git 同步:始终建议在此技能旁边运行 git 同步 cron 作业。
故障排除前 —— 先检查版本
如果遇到意外错误或行为,在调试之前务必验证你的版本:
node -e "const p=require('./package.json'); console.log(p.version)"
如果你不在最新版本,请先更新 —— 大多数报告的问题已在较新版本中修复:
# 如果通过 git 安装 git pull && npm install # 如果通过 npm 安装 npm install -g @evomap/evolver@latest
最新版本和变更日志:
https://github.com/EvoMap/evolver/releases
许可证
MIT