技能详情(站内镜像,无评论)
许可证:MIT-0
MIT-0 ·免费使用、修改和重新分发。无需归因。
版本:v1.38.0
统计:⭐ 84 · 24.8k · 442 current installs · 469 all-time installs
⭐ 84
安装量(当前) 469
🛡 VirusTotal :良性 · OpenClaw :可疑
Package:autogame-17/capability-evolver
安全扫描(ClawHub)
- VirusTotal :良性
- OpenClaw :可疑
OpenClaw 评估
The Evolver skill broadly matches its stated purpose (autonomous evolution of agents) but contains several mismatches and powerful capabilities (self-modification, network/heartbeat, repo operations, stdout directives) that are disproportionate or inconsistent with parts of its documentation; review before installing.
目的
Name/description match most of the declared capabilities: it reads memory/history, selects Genes/Capsules, builds GEP prompts, and can solidify changes. Required binaries (node, git) are reasonable. However the registry and SKILL.md mark A2A_NODE_ID as required even though multiple README sections and code paths claim Hub connectivity is optional and offline mode works — requiring a node identity by default is inconsistent with the claimed off…
说明范围
SKILL.md and code instruct the agent to read runtime memory/history, run git, spawn node/npm commands for validation, and write to workspace/assets/** and potentially workspace/src/** when changes are solidified. README contains contradictory statements: 'It does NOT automatically edit your source code' vs. code and file_access clearly allowing writing src/** (gated by EVOLVE_ALLOW_SELF_MODIFY and solidify). The skill also prints 'sessions_spa…
安装机制
No install spec is provided (instruction-only at install time) and dependencies are standard Node.js modules (dotenv). Nothing is downloaded from arbitrary URLs. This is the lower-risk install pattern.
证书
The skill declares only one required env var at registry level (A2A_NODE_ID), and several optional secrets (A2A_NODE_SECRET, GITHUB_TOKEN, MEMORY_GRAPH_REMOTE_KEY). Asking for A2A_NODE_ID makes sense for Hub integration, but marking it required conflicts with documentation that hub is optional. The optional credential requests (GitHub token, remote memory key, node secret) are reasonable for the features they enable, but they are powerful (pub…
持久
always:false (good), but the skill is capable of autonomous invocation and of making permanent changes (writing to src/** when allowed), running git operations, running validation commands (node/npm/npx), and participating in a networked worker pool. Autonomous invocation combined with the ability to modify source code and to interact with external hubs increases blast radius. Some mitigations exist (EVOLVE_ALLOW_SELF_MODIFY defaults to 'false…
index.js:242
Shell command execution detected (child_process).
scripts/build_public.js:170
Shell command execution detected (child_process).
scripts/generate_history.js:17
Shell command execution detected (child_process).
scripts/publish_public.js:13
Shell command execution detected (child_process).
scripts/recover_loop.js:19
Shell command execution detected (child_process).
scripts/suggest_version.js:27
Shell command execution detected (child_process).
scripts/validate-suite.js:19
Shell command execution detected (child_process).
src/evolve.js:485
Shell command execution detected (child_process).
src/gep/deviceId.js:51
Shell command execution detected (child_process).
src/gep/gitOps.js:12
Shell command execution detected (child_process).
src/gep/idleScheduler.js:39
Shell command execution detected (child_process).
src/gep/llmReview.js:70
Shell command execution detected (child_process).
src/ops/health_check.js:20
Shell command execution detected (child_process).
src/ops/lifecycle.js:27
Shell command execution detected (child_process).
src/ops/self_repair.js:17
Shell command execution detected (child_process).
src/ops/skills_monitor.js:96
Shell command execution detected (child_process).
test/bridge.test.js:98
Shell command execution detected (child_process).
test/loopMode.test.js:129
Shell command execution detected (child_process).
index.js:109
Environment variable access combined with network send.
scripts/publish_public.js:248
Environment variable access combined with network send.
src/evolve.js:46
Environment variable access combined with network send.
src/gep/a2aProtocol.js:75
Environment variable access combined with network send.
src/gep/hubReview.js:104
Environment variable access combined with network send.
src/gep/hubSearch.js:73
Environment variable access combined with network send.
src/gep/issueReporter.js:21
Environment variable access combined with network send.
src/gep/memoryGraphAdapter.js:77
Environment variable access combined with network send.
src/gep/skillDistiller.js:9
Environment variable access combined with network send.
src/gep/taskReceiver.js:11
Environment variable access combined with network send.
src/ops/self_repair.js:45
Environment variable access combined with network send.
test/a2aProtocol.test.js:148
Environment variable access combined with network send.
index.js:19
File read combined with network send (possible exfiltration).
scripts/publish_public.js:254
File read combined with network send (possible exfiltration).
src/evolve.js:575
File read combined with network send (possible exfiltration).
src/gep/a2aProtocol.js:41
File read combined with network send (possible exfiltration).
src/gep/hubReview.js:24
File read combined with network send (possible exfiltration).
src/gep/issueReporter.js:42
File read combined with network send (possible exfiltration).
src/gep/questionGenerator.js:20
File read combined with network send (possible exfiltration).
src/gep/skillDistiller.js:26
File read combined with network send (possible exfiltration).
安装(复制给龙虾 AI)
将下方整段复制到龙虾中文库对话中,由龙虾按 SKILL.md 完成安装。
请把本段交给龙虾中文库(龙虾 AI)执行:为本机安装 OpenClaw 技能「Evolver」。简介:A self-evolution engine for AI agents. Analyzes runtime history to identify imp…。
请 fetch 以下地址读取 SKILL.md 并按文档完成安装:https://raw.githubusercontent.com/openclaw/skills/refs/heads/main/skills/autogame-17/capability-evolver/SKILL.md
(来源:yingzhi8.cn 技能库)
SKILL.md
---
name: capability-evolver
description: A self-evolution engine for AI agents. Analyzes runtime history to identify improvements and applies protocol-constrained evolution.
tags: [meta, ai, self-improvement, core]
permissions: [network, shell]
metadata:
clawdbot:
requires:
bins: [node, git]
env: [A2A_NODE_ID]
files: ["src/**", "scripts/**", "assets/**"]
capabilities:
allow:
- execute: [git, node, npm]
- network: [api.github.com, evomap.ai]
- read: [workspace/**]
- write: [workspace/assets/**, workspace/memory/**]
deny:
- execute: ["!git", "!node", "!npm", "!ps", "!pgrep", "!df"]
- network: ["!api.github.com", "!*.evomap.ai"]
env_declarations:
- name: A2A_NODE_ID
required: true
description: EvoMap node identity. Set after node registration.
- name: A2A_HUB_URL
required: false
default: https://evomap.ai
description: EvoMap Hub API base URL.
- name: A2A_NODE_SECRET
required: false
description: Node authentication secret (issued by Hub on first hello).
- name: GITHUB_TOKEN
required: false
description: GitHub API token for auto-issue reporting and releases.
- name: EVOLVE_STRATEGY
required: false
default: balanced
description: "Evolution strategy: balanced, innovate, harden, repair-only, early-stabilize, steady-state, auto."
- name: EVOLVE_ALLOW_SELF_MODIFY
required: false
default: "false"
description: Allow evolution to modify evolver source code. NOT recommended.
- name: EVOLVE_LOAD_MAX
required: false
default: "2.0"
description: Max 1-min load average before evolver backs off.
- name: EVOLVER_ROLLBACK_MODE
required: false
default: hard
description: "Rollback strategy on failure: hard, stash, none."
- name: EVOLVER_LLM_REVIEW
required: false
default: "0"
description: Enable second-opinion LLM review before solidification.
- name: EVOLVER_AUTO_ISSUE
required: false
default: "0"
description: Auto-create GitHub issues on repeated failures.
- name: EVOLVER_MODEL_NAME
required: false
description: LLM model name injected into published asset metadata.
- name: MEMORY_GRAPH_REMOTE_URL
required: false
description: Remote memory graph service URL (optional KG integration).
- name: MEMORY_GRAPH_REMOTE_KEY
required: false
description: API key for remote memory graph service.
network_endpoints:
- host: api.github.com
purpose: Release creation, changelog publishing, auto-issue reporting
auth: GITHUB_TOKEN (Bearer)
optional: true
- host: evomap.ai (or A2A_HUB_URL)
purpose: A2A protocol (hello, heartbeat, publish, fetch, reviews, tasks)
auth: A2A_NODE_SECRET (Bearer)
optional: false
- host: MEMORY_GRAPH_REMOTE_URL
purpose: Remote knowledge graph sync
auth: MEMORY_GRAPH_REMOTE_KEY
optional: true
shell_commands:
- command: git
purpose: Version control (checkout, clean, log, status, diff, rebase --abort, merge --abort)
user_input: false
- command: node
purpose: Inline script execution for LLM review
user_input: false
- command: npm
purpose: "npm install --production for skill dependency healing"
user_input: false
- command: ps / pgrep / tasklist
purpose: Process discovery for lifecycle management
user_input: false
- command: df
purpose: Disk usage check (health monitoring)
user_input: false
file_access:
reads:
- "~/.evomap/node_id (node identity)"
- "workspace/assets/** (GEP assets)"
- "workspace/memory/** (evolution memory, narrative, reflection logs)"
- "workspace/package.json (version info)"
writes:
- "workspace/assets/gep/** (genes, capsules, events)"
- "workspace/memory/** (memory graph, narrative, reflection)"
- "workspace/src/** (evolved code, only when changes are solidified)"
---
# 🧬 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.
```bash
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.
```bash
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.
```bash
node index.js --loop
```
## Setup
Before using this skill, register your node identity with the EvoMap network:
1. Run the hello flow (via `evomap.js` or the EvoMap onboarding) to receive a `node_id` and claim code
2. Visit `https://evomap.ai/claim/<claim-code>` within 24 hours to bind the node to your account
3. Set the node identity in your environment:
```bash
export A2A_NODE_ID=node_xxxxxxxxxxxx
```
Or in your agent config (e.g., `~/.openclaw/openclaw.json`):
```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:
```bash
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**:
```bash
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:
```bash
# 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