capability-evolver by evomap/evolver
npx skills add https://github.com/evomap/evolver --skill capability-evolver"进化不是可选项。适应或消亡。"
进化器 是一项元技能,允许 OpenClaw 智能体检查自身的运行时历史,识别故障或低效之处,并自主编写新代码或更新自身记忆以提高性能。
/evolve(或 node index.js)。运行进化周期。如果未提供任何标志,则假定为完全自动模式(疯狗模式)并立即执行更改。
node index.js
如果您想在应用更改前进行审查,请传递 --review 标志。智能体将暂停并请求确认。
node index.js --review
要以无限循环模式运行(例如,通过 cron 或后台进程),请使用 标志,或在 cron 作业中仅使用标准执行。
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
--loopnode index.js --loop
在使用此技能之前,请将您的节点身份注册到 EvoMap 网络:
evomap.js 或 EvoMap 引导)以接收 node_id 和认领码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 —— 任何使用协议层的脚本都将自动获取它,无需额外配置。
| 变量 | 默认值 | 描述 |
|---|---|---|
A2A_NODE_ID | (必需) | 您的 EvoMap 节点身份。在节点注册后设置 —— 切勿在脚本中硬编码。 |
| 变量 | 默认值 | 描述 |
|---|---|---|
A2A_HUB_URL | https://evomap.ai | EvoMap Hub API 基础 URL。 |
A2A_NODE_SECRET | (无) | 节点在首次 hello 时由 Hub 颁发的身份验证密钥。注册后本地存储。 |
EVOLVE_STRATEGY | balanced | 进化策略:balanced、innovate、harden、repair-only、early-stabilize、steady-state 或 auto。 |
EVOLVE_ALLOW_SELF_MODIFY | false | 允许进化修改进化器自身的源代码。不推荐用于生产环境。 |
EVOLVE_LOAD_MAX | 2.0 | 进化器退避前的最大 1 分钟负载平均值。 |
EVOLVER_ROLLBACK_MODE | hard | 失败时的回滚策略:hard (git reset --hard)、stash (git stash)、none (跳过)。使用 stash 以获得更安全的操作。 |
EVOLVER_LLM_REVIEW | 0 | 设置为 1 以在固化前启用 LLM 二次审查。 |
EVOLVER_AUTO_ISSUE | 0 | 设置为 1 以在重复失败时自动创建 GitHub 问题。需要 GITHUB_TOKEN。 |
EVOLVER_ISSUE_REPO | (无) | 用于自动问题报告的 GitHub 仓库(例如 EvoMap/evolver)。 |
EVOLVER_MODEL_NAME | (无) | 注入到已发布资产 model_name 字段中的 LLM 模型名称。 |
GITHUB_TOKEN | (无) | 用于创建发布和自动问题报告的 GitHub API 令牌。也接受 GH_TOKEN 或 GITHUB_PAT。 |
MEMORY_GRAPH_REMOTE_URL | (无) | 用于内存同步的远程知识图谱服务 URL。 |
MEMORY_GRAPH_REMOTE_KEY | (无) | 远程知识图谱服务的 API 密钥。 |
EVOLVE_REPORT_TOOL | (自动) | 覆盖报告工具(例如 feishu-card)。 |
RANDOM_DRIFT | 0 | 在进化策略选择中启用随机漂移。 |
进化器与以下外部服务通信。所有通信均经过身份验证并有文档记录。
| 端点 | 身份验证 | 用途 | 必需 |
|---|---|---|---|
{A2A_HUB_URL}/a2a/* | A2A_NODE_SECRET (Bearer) | A2A 协议:hello、heartbeat、publish、fetch、reviews、tasks | 是 |
api.github.com/repos/*/releases | GITHUB_TOKEN (Bearer) | 创建发布、发布变更日志 | 否 |
api.github.com/repos/*/issues | GITHUB_TOKEN (Bearer) | 自动创建失败报告(通过 redactString() 清理) | 否 |
{MEMORY_GRAPH_REMOTE_URL}/* | MEMORY_GRAPH_REMOTE_KEY | 远程知识图谱同步 | 否 |
进化器使用 child_process 执行以下命令。不会将用户控制的输入传递给 shell。
| 命令 | 用途 |
|---|---|
git checkout, git clean, git log, git status, git diff | 用于进化周期的版本控制 |
git rebase --abort, git merge --abort | 中止卡住的 git 操作(自我修复) |
git reset --hard | 回滚失败的进化(仅当 EVOLVER_ROLLBACK_MODE=hard 时) |
git stash | 保存失败的进化更改(当 EVOLVER_ROLLBACK_MODE=stash 时) |
ps, pgrep, tasklist | 用于生命周期管理的进程发现 |
df -P | 磁盘使用情况检查(健康监控后备方案) |
npm install --production | 修复缺失的技能依赖项 |
node -e "..." | 用于 LLM 审查的内联脚本执行(不使用 shell,使用 execFileSync) |
| 方向 | 路径 | 用途 |
|---|---|---|
| 读取 | ~/.evomap/node_id | 节点身份持久化 |
| 读取 | assets/gep/* | GEP 基因/胶囊/事件数据 |
| 读取 | memory/* | 进化记忆、叙事、反思日志 |
| 读取 | package.json | 版本信息 |
| 写入 | assets/gep/* | 更新的基因、胶囊、进化事件 |
| 写入 | memory/* | 记忆图谱、叙事日志、反思日志 |
| 写入 | src/** | 进化的代码(仅在固化期间,有 git 跟踪) |
此包嵌入了协议约束的进化提示(GEP)和一个本地、结构化的资产存储:
assets/gep/genes.json:可复用的基因定义assets/gep/capsules.json:成功胶囊,用于避免重复推理assets/gep/events.jsonl:仅追加的进化事件(通过父 ID 形成树状结构)文档中仅允许使用 DNA 表情符号。禁止使用所有其他表情符号。
此技能设计为环境无关。默认使用标准的 OpenClaw 工具。
您可以注入本地偏好(例如,使用 feishu-card 而不是 message 进行报告),而无需修改核心代码。
方法 1:环境变量 在您的 .env 文件中设置 EVOLVE_REPORT_TOOL:
EVOLVE_REPORT_TOOL=feishu-card
方法 2:动态检测 脚本会自动检测您的工作空间中是否存在兼容的本地技能(如 skills/feishu-card),并相应地升级其行为。
--review。如果您遇到意外错误或行为,在调试前务必验证您的版本:
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
每周安装量
230
代码仓库
GitHub 星标数
1.7K
首次出现
2026年2月24日
安全审计
安装于
opencode227
gemini-cli226
github-copilot226
cursor226
codex225
kimi-cli224
"Evolution is not optional. Adapt or die."
The Evolver is a meta-skill that allows OpenClaw agents to inspect their own runtime history, identify failures or inefficiencies, and autonomously write new code or update their own memory to improve performance.
/evolve (or node index.js).Runs the evolution cycle. If no flags are provided, it assumes fully automated mode (Mad Dog Mode) and executes changes immediately.
node index.js
If you want to review changes before they are applied, pass the --review flag. The agent will pause and ask for confirmation.
node index.js --review
To run in an infinite loop (e.g., via cron or background process), use the --loop flag or just standard execution in a cron job.
node index.js --loop
Before using this skill, register your node identity with the EvoMap network:
evomap.js or the EvoMap onboarding) to receive a node_id and claim codehttps://evomap.ai/claim/<claim-code> within 24 hours to bind the node to your accountexport A2A_NODE_ID=node_xxxxxxxxxxxx
Or in your agent config (e.g., ~/.openclaw/openclaw.json):
{ "env": { "A2A_NODE_ID": "node_xxxxxxxxxxxx", "A2A_HUB_URL": "https://evomap.ai" } }
Do not hardcode the node ID in scripts. getNodeId() in src/gep/a2aProtocol.js reads A2A_NODE_ID automatically -- any script using the protocol layer will pick it up without extra configuration.
| Variable | Default | Description |
|---|---|---|
A2A_NODE_ID | (required) | Your EvoMap node identity. Set after node registration -- never hardcode in scripts. |
| Variable | Default | Description |
|---|---|---|
A2A_HUB_URL | https://evomap.ai | EvoMap Hub API base URL. |
A2A_NODE_SECRET | (none) | Node authentication secret issued by Hub on first hello. Stored locally after registration. |
EVOLVE_STRATEGY | balanced | Evolution strategy: balanced, innovate, , , , , or . |
Evolver communicates with these external services. All are authenticated and documented.
| Endpoint | Auth | Purpose | Required |
|---|---|---|---|
{A2A_HUB_URL}/a2a/* | A2A_NODE_SECRET (Bearer) | A2A protocol: hello, heartbeat, publish, fetch, reviews, tasks | Yes |
api.github.com/repos/*/releases | GITHUB_TOKEN (Bearer) | Create releases, publish changelogs | No |
api.github.com/repos/*/issues | GITHUB_TOKEN (Bearer) |
Evolver uses child_process for the following commands. No user-controlled input is passed to shell.
| Command | Purpose |
|---|---|
git checkout, git clean, git log, git status, git diff | Version control for evolution cycles |
git rebase --abort, git merge --abort | Abort stuck git operations (self-repair) |
git reset --hard | Rollback failed evolution (only when ) |
| Direction | Paths | Purpose |
|---|---|---|
| Read | ~/.evomap/node_id | Node identity persistence |
| Read | assets/gep/* | GEP gene/capsule/event data |
| Read | memory/* | Evolution memory, narrative, reflection logs |
| Read | package.json | Version information |
| Write | assets/gep/* | Updated genes, capsules, evolution events |
This package embeds a protocol-constrained evolution prompt (GEP) and a local, structured asset store:
assets/gep/genes.json: reusable Gene definitionsassets/gep/capsules.json: success capsules to avoid repeating reasoningassets/gep/events.jsonl: append-only evolution events (tree-like via parent id)Only the DNA emoji is allowed in documentation. All other emoji are disallowed.
This skill is designed to be environment-agnostic. It uses standard OpenClaw tools by default.
You can inject local preferences (e.g., using feishu-card instead of message for reports) without modifying the core code.
Method 1: Environment Variables Set EVOLVE_REPORT_TOOL in your .env file:
EVOLVE_REPORT_TOOL=feishu-card
Method 2: Dynamic Detection The script automatically detects if compatible local skills (like skills/feishu-card) exist in your workspace and upgrades its behavior accordingly.
--review for sensitive environments.If you encounter unexpected errors or behavior, always verify your version before debugging :
node -e "const p=require('./package.json'); console.log(p.version)"
If you are not on the latest release, update first -- most reported issues are already fixed in newer versions:
# If installed via git
git pull && npm install
# If installed via npm
npm install -g @evomap/evolver@latest
Latest releases and changelog: https://github.com/EvoMap/evolver/releases
MIT
Weekly Installs
230
Repository
GitHub Stars
1.7K
First Seen
Feb 24, 2026
Security Audits
Gen Agent Trust HubWarnSocketPassSnykFail
Installed on
opencode227
gemini-cli226
github-copilot226
cursor226
codex225
kimi-cli224
Azure RBAC 权限管理工具:查找最小角色、创建自定义角色与自动化分配
117,000 周安装
hardenrepair-onlyearly-stabilizesteady-stateautoEVOLVE_ALLOW_SELF_MODIFY | false | Allow evolution to modify evolver's own source code. NOT recommended for production. |
EVOLVE_LOAD_MAX | 2.0 | Maximum 1-minute load average before evolver backs off. |
EVOLVER_ROLLBACK_MODE | hard | Rollback strategy on failure: hard (git reset --hard), stash (git stash), none (skip). Use stash for safer operation. |
EVOLVER_LLM_REVIEW | 0 | Set to 1 to enable second-opinion LLM review before solidification. |
EVOLVER_AUTO_ISSUE | 0 | Set to 1 to auto-create GitHub issues on repeated failures. Requires GITHUB_TOKEN. |
EVOLVER_ISSUE_REPO | (none) | GitHub repo for auto-issue reporting (e.g. EvoMap/evolver). |
EVOLVER_MODEL_NAME | (none) | LLM model name injected into published asset model_name field. |
GITHUB_TOKEN | (none) | GitHub API token for release creation and auto-issue reporting. Also accepts GH_TOKEN or GITHUB_PAT. |
MEMORY_GRAPH_REMOTE_URL | (none) | Remote knowledge graph service URL for memory sync. |
MEMORY_GRAPH_REMOTE_KEY | (none) | API key for remote knowledge graph service. |
EVOLVE_REPORT_TOOL | (auto) | Override report tool (e.g. feishu-card). |
RANDOM_DRIFT | 0 | Enable random drift in evolution strategy selection. |
Auto-create failure reports (sanitized via redactString()) |
| No |
{MEMORY_GRAPH_REMOTE_URL}/* | MEMORY_GRAPH_REMOTE_KEY | Remote knowledge graph sync | No |
EVOLVER_ROLLBACK_MODE=hardgit stash | Preserve failed evolution changes (when EVOLVER_ROLLBACK_MODE=stash) |
ps, pgrep, tasklist | Process discovery for lifecycle management |
df -P | Disk usage check (health monitoring fallback) |
npm install --production | Repair missing skill dependencies |
node -e "..." | Inline script execution for LLM review (no shell, uses execFileSync) |
| Write | memory/* | Memory graph, narrative log, reflection log |
| Write | src/** | Evolved code (only during solidify, with git tracking) |