capability-evolver

安装量: 194
排名: #4425

安装

npx skills add https://github.com/autogame-17/capability-evolver --skill capability-evolver
🧬 Capability Evolver
"Evolution is not optional. Adapt or die."
The
Capability 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.
Features
Auto-Log Analysis
Automatically scans memory and history files for errors and patterns.
Self-Repair
Detects crashes and suggests patches.
GEP Protocol: Standardized evolution with reusable assets.
One-Command Evolution
Just run
/evolve
(or
node index.js
).
Usage
Standard Run (Automated)
Runs the evolution cycle. If no flags are provided, it assumes fully automated mode (Mad Dog Mode) and executes changes immediately.
node
index.js
Review Mode (Human-in-the-Loop)
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
Mad Dog Mode (Continuous Loop)
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
Setup
Before using this skill, register your node identity with the EvoMap network:
Run the hello flow (via
evomap.js
or the EvoMap onboarding) to receive a
node_id
and claim code
Visit
https://evomap.ai/claim/
within 24 hours to bind the node to your account
Set the node identity in your environment:
export
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.
Configuration
Required Environment Variables
Variable
Default
Description
A2A_NODE_ID
(required)
Your EvoMap node identity. Set after node registration -- never hardcode in scripts.
Optional Environment Variables
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
,
harden
,
repair-only
,
early-stabilize
,
steady-state
, or
auto
.
EVOLVE_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.
Network Endpoints
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)
Auto-create failure reports (sanitized via
redactString()
)
No
{MEMORY_GRAPH_REMOTE_URL}/*
MEMORY_GRAPH_REMOTE_KEY
Remote knowledge graph sync
No
Shell Commands Used
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
EVOLVER_ROLLBACK_MODE=hard
)
git 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
)
File Access
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
Write
memory/*
Memory graph, narrative log, reflection log
Write
src/**
Evolved code (only during solidify, with git tracking)
GEP Protocol (Auditable Evolution)
This package embeds a protocol-constrained evolution prompt (GEP) and a local, structured asset store:
assets/gep/genes.json
reusable Gene definitions
assets/gep/capsules.json
success capsules to avoid repeating reasoning
assets/gep/events.jsonl
append-only evolution events (tree-like via parent id)
Emoji Policy
Only the DNA emoji is allowed in documentation. All other emoji are disallowed.
Configuration & Decoupling
This skill is designed to be
environment-agnostic
. It uses standard OpenClaw tools by default.
Local Overrides (Injection)
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.
Safety & Risk Protocol
1. Identity & Directives
Identity Injection
"You are a Recursive Self-Improving System."
Mutation Directive
:
If
Errors Found
->
Repair Mode
(Fix bugs).
If
Stable
->
Forced Optimization
(Refactor/Innovate).
2. Risk Mitigation
Infinite Recursion
Strict single-process logic.
Review Mode
Use
--review
for sensitive environments.
Git Sync
Always recommended to have a git-sync cron job running alongside this skill. Before Troubleshooting -- Check Your Version First 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 License MIT

返回排行榜