@evomap/evolver 2.0.34 → 2.0.35
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +111 -442
- package/package.json +8 -8
- package/release-provenance.json +2 -2
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
<img src="assets/logo.png" alt="Evolver" width="96" height="96" />
|
|
3
3
|
</p>
|
|
4
4
|
|
|
5
|
-
<h1 align="center">Evolver
|
|
5
|
+
<h1 align="center">Evolver v2</h1>
|
|
6
6
|
|
|
7
7
|
<p align="center">
|
|
8
8
|
<a href="https://trendshift.io/repositories/26015?utm_source=repository-badge&utm_medium=badge&utm_campaign=badge-repository-26015" target="_blank" rel="noopener noreferrer"><img src="https://trendshift.io/api/badge/repositories/26015" alt="EvoMap%2Fevolver | Trendshift" width="250" height="55"/></a>
|
|
@@ -11,12 +11,12 @@
|
|
|
11
11
|
<p align="center">
|
|
12
12
|
<a href="https://github.com/EvoMap/evolver/stargazers"><img src="https://img.shields.io/badge/Stars-9k-2b3137?logo=github&logoColor=white" alt="GitHub stars"/></a>
|
|
13
13
|
<a href="https://opensource.org/licenses/GPL-3.0"><img src="https://img.shields.io/badge/License-GPL--3.0-blue.svg" alt="License: GPL-3.0"/></a>
|
|
14
|
-
<a href="https://nodejs.org/"><img src="https://img.shields.io/badge/Node.js
|
|
14
|
+
<a href="https://nodejs.org/"><img src="https://img.shields.io/badge/Node.js-V2%20engine%20range-green.svg" alt="Node.js 版本要求见下文"/></a>
|
|
15
15
|
<a href="https://www.npmjs.com/package/@evomap/evolver"><img src="https://img.shields.io/npm/dm/@evomap/evolver.svg" alt="npm downloads"/></a>
|
|
16
16
|
<a href="https://arxiv.org/abs/2604.15097"><img src="https://img.shields.io/badge/arXiv-2604.15097-b31b1b.svg" alt="arXiv"/></a>
|
|
17
17
|
</p>
|
|
18
18
|
|
|
19
|
-
**[evomap.ai](https://evomap.ai)** | [
|
|
19
|
+
**[evomap.ai](https://evomap.ai)** | [V2 使用指南](#evolver-v2-使用指南) | [Wiki](https://evomap.ai/wiki) | [GitHub](https://github.com/EvoMap/evolver) | [Releases](https://github.com/EvoMap/evolver/releases)
|
|
20
20
|
|
|
21
21
|
---
|
|
22
22
|
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
>
|
|
25
25
|
> Evolver has been fully open source since our first release on 2026-02-01 (initially MIT, and GPL-3.0-or-later since 2026-04-09). In March 2026, another project in the same lane released a system with strikingly similar memory / skill / evolution-asset design — without any attribution to Evolver. Full analysis: [Hermes Agent Self-Evolution vs. Evolver: A Detailed Similarity Analysis](https://evomap.ai/en/blog/hermes-agent-evolver-similarity-analysis).
|
|
26
26
|
>
|
|
27
|
-
> To protect the integrity of the work and keep investing in this direction, future Evolver releases will transition from fully open source to source-available. **Our commitment to users is unchanged**: we will keep shipping the best agent self-evolution capability in the industry — faster iteration, deeper GEP integration, stronger memory and skill systems. All already-published MIT and GPL-3.0 versions remain freely usable under their original terms. You can still `npm install @evomap/evolver` or clone this repo
|
|
27
|
+
> To protect the integrity of the work and keep investing in this direction, future Evolver releases will transition from fully open source to source-available. **Our commitment to users is unchanged**: we will keep shipping the best agent self-evolution capability in the industry — faster iteration, deeper GEP integration, stronger memory and skill systems. All already-published MIT and GPL-3.0 versions remain freely usable under their original terms. You can still `npm install @evomap/evolver` or clone this repo. V1 与 V2 的命令和运行方式存在差异,升级前请按下文核对。
|
|
28
28
|
>
|
|
29
29
|
> Questions or concerns: open an issue or reach us at [evomap.ai](https://evomap.ai).
|
|
30
30
|
|
|
@@ -42,522 +42,191 @@
|
|
|
42
42
|
|
|
43
43
|
---
|
|
44
44
|
|
|
45
|
-
|
|
45
|
+
## Evolver v2 使用指南
|
|
46
46
|
|
|
47
|
-
|
|
48
|
-
- **What it is**: A [GEP](https://evomap.ai/wiki)-powered self-evolution engine for AI agents.
|
|
49
|
-
- **Pain it solves**: Turns ad hoc prompt tweaks into auditable, reusable evolution assets.
|
|
50
|
-
- **Use in 30 seconds**: `npm install -g @evomap/evolver`, then run `evolver` in any git repo.
|
|
47
|
+
Evolver 将 agent 的运行材料整理为可审核、可追溯的 Gene、Capsule 和 EvolutionEvent,并通过本地资产、MCP 与 Hub 接口复用经验。安装程序、接通工具、认证成功和真正执行任务是不同的步骤。
|
|
51
48
|
|
|
52
|
-
|
|
49
|
+
本指南面向 V2 发行包。上面的研究结果及历史 OpenClaw 实验不代表当前 V2 已具备免配置 OpenClaw 接线或自主执行能力。升级前保留原配置与资产,核对实际安装版本的 `--help` 和能力清单;不要把尚未发布的主线修复当作本机已有功能。
|
|
53
50
|
|
|
54
|
-
|
|
51
|
+
## 环境要求与安装
|
|
55
52
|
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
Evolver has one install but two usage shapes. Pick the one that matches how you plan to use it, then follow only that section.
|
|
61
|
-
|
|
62
|
-
| Path | Who it's for | Command after install | Guide |
|
|
63
|
-
|---|---|---|---|
|
|
64
|
-
| **CLI Quick Start** | You just want to use Evolver to evolve an agent / project. 99% of readers. | `evolver` | [below](#cli-quick-start) |
|
|
65
|
-
| **Run from Source** | You want to hack on the engine, send PRs, or run unreleased builds. | `node index.js` | [below](#run-from-source-contributors-only) |
|
|
66
|
-
|
|
67
|
-
> **For agent / skill integrations** (Codex, Claude Code skill system, custom MCP clients) see the separate [SKILL.md](SKILL.md) -- it documents the Proxy mailbox API that wraps the CLI. You still install Evolver via the CLI Quick Start below first.
|
|
68
|
-
|
|
69
|
-
## Prerequisites
|
|
70
|
-
|
|
71
|
-
- **[Node.js](https://nodejs.org/)** >= 18
|
|
72
|
-
- **[Git](https://git-scm.com/)** -- Required. Evolver uses git for rollback, blast radius calculation, and solidify. Running in a non-git directory will fail with a clear error message.
|
|
73
|
-
|
|
74
|
-
## CLI Quick Start
|
|
75
|
-
|
|
76
|
-
This is the recommended path for almost everyone.
|
|
77
|
-
|
|
78
|
-
### 1. Install
|
|
53
|
+
- npm 发行包的 Node.js engines 合同是 `^22.13.0 || >=23.4.0`:支持22.x中的22.13.0及以上版本,或23.4.0及以上版本;Node18、Node20及23.0至23.3不满足要求。
|
|
54
|
+
- Git 用于需要仓库上下文、差异与回滚证明的操作;显示帮助或能力清单不等于已经运行进化任务。
|
|
55
|
+
- npm安装会访问registry并写入所选安装前缀。遇到权限错误时使用用户自有的npm前缀,不要以管理员安装来掩盖服务用户、PATH或身份目录不同的问题。
|
|
79
56
|
|
|
80
57
|
```bash
|
|
81
58
|
npm install -g @evomap/evolver
|
|
82
59
|
```
|
|
83
60
|
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
```bash
|
|
87
|
-
evolver --help
|
|
88
|
-
```
|
|
89
|
-
|
|
90
|
-
If you hit `EACCES` on Linux/macOS, configure a user-level prefix instead of using `sudo`:
|
|
91
|
-
|
|
92
|
-
```bash
|
|
93
|
-
npm config set prefix ~/.npm-global
|
|
94
|
-
echo 'export PATH="$HOME/.npm-global/bin:$PATH"' >> ~/.bashrc
|
|
95
|
-
source ~/.bashrc
|
|
96
|
-
```
|
|
97
|
-
|
|
98
|
-
### 2. Run it
|
|
99
|
-
|
|
100
|
-
From inside any **git-initialized** project directory:
|
|
101
|
-
|
|
102
|
-
```bash
|
|
103
|
-
# Single evolution run -- scans logs, selects a Gene, outputs a GEP prompt
|
|
104
|
-
evolver
|
|
105
|
-
|
|
106
|
-
# Review mode -- pause before applying, wait for human confirmation
|
|
107
|
-
evolver --review
|
|
108
|
-
|
|
109
|
-
# Continuous loop -- runs as a background daemon
|
|
110
|
-
evolver --loop
|
|
111
|
-
```
|
|
112
|
-
|
|
113
|
-
A "successful first run" looks like:
|
|
114
|
-
|
|
115
|
-
1. Evolver prints a banner with the detected strategy preset (e.g. `balanced`).
|
|
116
|
-
2. It scans `./memory/` (creates it if missing) for logs and signals.
|
|
117
|
-
3. It selects a matching Gene / Capsule from its built-in asset pool.
|
|
118
|
-
4. It prints a **GEP prompt** to stdout -- that's the artifact. Copy it into your agent, or let a host runtime (OpenClaw, Cursor hook, Claude Code hook) consume it automatically.
|
|
119
|
-
5. It writes an `EvolutionEvent` into `./memory/` for audit.
|
|
120
|
-
|
|
121
|
-
If step 4 didn't appear, you're not running inside a git repo -- `cd` into one and retry. Everything else runs fully offline.
|
|
122
|
-
|
|
123
|
-
### 3. Connect to the EvoMap network (optional)
|
|
124
|
-
|
|
125
|
-
Evolver works fully offline. Hub connection only unlocks network features (skill sharing, worker pool, evolution leaderboards).
|
|
126
|
-
|
|
127
|
-
Create a `.env` file **in the current working directory where you run `evolver`** (not in your home directory, not in the global npm install location):
|
|
128
|
-
|
|
129
|
-
```bash
|
|
130
|
-
# Register at https://evomap.ai to get your Node ID
|
|
131
|
-
A2A_HUB_URL=https://evomap.ai
|
|
132
|
-
A2A_NODE_ID=your_node_id_here
|
|
133
|
-
```
|
|
134
|
-
|
|
135
|
-
Evolver reads `.env` from `process.cwd()` on each run. If you run `evolver` from multiple projects, each project can have its own `.env`.
|
|
136
|
-
|
|
137
|
-
### 4. Wire up your agent runtime (optional)
|
|
138
|
-
|
|
139
|
-
Evolver integrates with major agent runtimes through `setup-hooks`. Run it once per platform you want to wire up.
|
|
140
|
-
|
|
141
|
-
| Platform | Command | What it writes |
|
|
142
|
-
|---|---|---|
|
|
143
|
-
| [Cursor](https://cursor.com) | `evolver setup-hooks --platform=cursor` | `~/.cursor/hooks.json` + scripts in `~/.cursor/hooks/`. Restart Cursor or open a new session. Fires on `sessionStart`, `afterFileEdit`, `stop`. |
|
|
144
|
-
| [Claude Code](https://www.anthropic.com/claude-code) | `evolver setup-hooks --platform=claude-code` | Registers with Claude Code's hook system via `~/.claude/`. Restart the Claude Code CLI. |
|
|
145
|
-
| [Codex](https://github.com/openai/codex) | `evolver setup-hooks --platform=codex` | `~/.codex/hooks.json` + scripts in `~/.codex/hooks/`, enables `codex_hooks` feature in `config.toml`. Restart the Codex CLI. See [Codex caveats](#codex-caveats) below. |
|
|
146
|
-
| [Kiro](https://kiro.dev) | `evolver setup-hooks --platform=kiro` | Three `*.kiro.hook` files + scripts in `~/.kiro/hooks/`. Auto-discovered, no restart needed. |
|
|
147
|
-
| [opencode](https://opencode.ai) | `evolver setup-hooks --platform=opencode` | Plugin at `~/.opencode/plugins/evolver.js` + scripts in `~/.opencode/hooks/`. Restart opencode. |
|
|
148
|
-
| [OpenClaw](https://openclaw.com) | No setup needed | OpenClaw natively interprets the `sessions_spawn(...)` stdout directives Evolver emits. Just run `evolver` from inside an OpenClaw session. |
|
|
149
|
-
|
|
150
|
-
#### Codex caveats
|
|
151
|
-
|
|
152
|
-
The Codex CLI exposes `SessionStart` / `Stop` / `PostToolUse` hooks (which is
|
|
153
|
-
how `setup-hooks --platform=codex` wires Evolver in). The `Stop` payload does
|
|
154
|
-
not include a `transcript_path`, but Codex writes local rollout JSONL files under
|
|
155
|
-
`~/.codex/sessions/**/*.jsonl`. V2 does not silently scan these files during a
|
|
156
|
-
normal review; request local trajectory ingestion explicitly:
|
|
157
|
-
|
|
158
|
-
```bash
|
|
159
|
-
evolver trajectory-export --runtime-sessions --output ./codex-trajectories.jsonl
|
|
160
|
-
```
|
|
161
|
-
|
|
162
|
-
Discovery is marker-gated by default and stays local. Use
|
|
163
|
-
`--include-unmarked` only when you intentionally want older or unmarked Codex
|
|
164
|
-
sessions included.
|
|
165
|
-
|
|
166
|
-
`setup-hooks --platform=codex` is lifecycle integration only; it does not route
|
|
167
|
-
Codex model requests through Evolver Proxy. To route Codex model traffic, run
|
|
168
|
-
Evolver Proxy and configure Codex with a user-level OpenAI Responses-compatible
|
|
169
|
-
custom provider whose `base_url` points at the proxy's `/v1` endpoint and whose
|
|
170
|
-
command-backed auth runs `evolver proxy-token` or the absolute `node index.js
|
|
171
|
-
proxy-token --settings ...` helper emitted by `scripts/internal-proxy-env.sh
|
|
172
|
-
--codex-config` from a source checkout.
|
|
173
|
-
|
|
174
|
-
For the normal lifecycle path, Evolver reads additional local context in order:
|
|
175
|
-
|
|
176
|
-
1. `MEMORY.md` / `USER.md` in the workspace root (if you maintain them);
|
|
177
|
-
2. the `<!-- evolver-evolution-memory -->` section that
|
|
178
|
-
`setup-hooks --platform=codex` injects into your project's
|
|
179
|
-
`AGENTS.md`;
|
|
180
|
-
3. the tail of the local `memory_graph.jsonl` (the per-cycle outcome log
|
|
181
|
-
that Evolver writes itself).
|
|
182
|
-
|
|
183
|
-
If none of those have content yet, you'll see `memory_missing` / `user_missing`
|
|
184
|
-
or `session_logs_missing` as advisory signals during the first few cycles.
|
|
185
|
-
They go quiet as local memory and marked runtime-session material accumulate;
|
|
186
|
-
no manual setup is required.
|
|
187
|
-
|
|
188
|
-
## Run from Source (Contributors Only)
|
|
189
|
-
|
|
190
|
-
Skip this section entirely if you installed via `npm install -g @evomap/evolver` above. This path exists so contributors can hack on the engine.
|
|
191
|
-
|
|
192
|
-
```bash
|
|
193
|
-
git clone https://github.com/EvoMap/evolver.git
|
|
194
|
-
cd evolver
|
|
195
|
-
npm install
|
|
196
|
-
|
|
197
|
-
# Then use node index.js wherever the CLI docs say evolver
|
|
198
|
-
node index.js # equivalent to: evolver
|
|
199
|
-
node index.js --review # equivalent to: evolver --review
|
|
200
|
-
node index.js --loop # equivalent to: evolver --loop
|
|
201
|
-
```
|
|
202
|
-
|
|
203
|
-
Every `evolver <flag>` invocation in the rest of this README maps 1:1 to `node index.js <flag>` when running from source.
|
|
204
|
-
|
|
205
|
-
## What Evolver Does (and Does Not Do)
|
|
206
|
-
|
|
207
|
-
**Evolver is a prompt generator, not a code patcher.** Each evolution cycle:
|
|
208
|
-
|
|
209
|
-
1. Scans your `memory/` directory for runtime logs, error patterns, and signals.
|
|
210
|
-
2. Selects the best-matching [Gene or Capsule](https://evomap.ai/wiki) from the local GEP asset store.
|
|
211
|
-
3. Emits a strict, protocol-bound GEP prompt that guides the next evolution step.
|
|
212
|
-
4. Records an auditable [EvolutionEvent](https://evomap.ai/wiki) for traceability.
|
|
213
|
-
|
|
214
|
-
**It does NOT**:
|
|
215
|
-
- Automatically edit your source code.
|
|
216
|
-
- Execute arbitrary shell commands (see [Security Model](#security-model)).
|
|
217
|
-
- Require an internet connection for core functionality.
|
|
218
|
-
|
|
219
|
-
### How It Integrates with Host Runtimes
|
|
220
|
-
|
|
221
|
-
When running inside a host runtime (e.g., [OpenClaw](https://openclaw.com)), the `sessions_spawn(...)` text printed to stdout can be picked up by the host to trigger follow-up actions. **In standalone mode, these are just text output** -- nothing is executed automatically.
|
|
222
|
-
|
|
223
|
-
| Mode | Behavior |
|
|
224
|
-
| :--- | :--- |
|
|
225
|
-
| Standalone (`evolver`) | Generates prompt, prints to stdout, exits |
|
|
226
|
-
| Loop (`evolver --loop`) | Repeats the above in a daemon loop with adaptive sleep |
|
|
227
|
-
| Inside OpenClaw | Host runtime interprets stdout directives like `sessions_spawn(...)` |
|
|
228
|
-
|
|
229
|
-
> **`--loop` is not a real-time agent assistant.** Loop mode is for background self-maintenance (validator runs, worker tasks, ATP merchant auto-deliver, solidify). Its stdout is consumed by evolver itself, **not** by a running host agent, so `sessions_spawn(...)` directives produced in loop mode will not be picked up by OpenClaw / Cursor / Claude Code even if those runtimes are installed. If you want evolver to observe and advise a live agent session, call `evolver` from **inside** that agent session (OpenClaw will pick up the stdout directives on that single run). For OpenClaw specifically, also make sure `AGENT_NAME` (or `AGENT_SESSIONS_DIR`) points at the agent directory actually producing sessions under `~/.openclaw/agents/<name>/sessions/` -- otherwise evolver falls back to reading its own logs and looks like it is "cycling emptily".
|
|
230
|
-
|
|
231
|
-
## Who This Is For / Not For
|
|
232
|
-
|
|
233
|
-
**For**
|
|
234
|
-
- Teams maintaining agent prompts and logs at scale
|
|
235
|
-
- Users who need auditable evolution traces ([Genes](https://evomap.ai/wiki), [Capsules](https://evomap.ai/wiki), [Events](https://evomap.ai/wiki))
|
|
236
|
-
- Environments requiring deterministic, protocol-bound changes
|
|
237
|
-
|
|
238
|
-
**Not For**
|
|
239
|
-
- One-off scripts without logs or history
|
|
240
|
-
- Projects that require free-form creative changes
|
|
241
|
-
- Systems that cannot tolerate protocol overhead
|
|
242
|
-
|
|
243
|
-
## Features
|
|
244
|
-
|
|
245
|
-
- **Auto-Log Analysis**: scans memory and history files for errors and patterns.
|
|
246
|
-
- **Self-Repair Guidance**: emits repair-focused directives from signals.
|
|
247
|
-
- **[GEP Protocol](https://evomap.ai/wiki)**: standardized evolution with reusable assets.
|
|
248
|
-
- **Mutation + Personality Evolution**: each evolution run is gated by an explicit Mutation object and an evolvable PersonalityState.
|
|
249
|
-
- **Configurable Strategy Presets**: `EVOLVE_STRATEGY=balanced|innovate|harden|repair-only` controls intent balance.
|
|
250
|
-
- **Signal De-duplication**: prevents repair loops by detecting stagnation patterns.
|
|
251
|
-
- **Operations Module** (`src/ops/`): portable lifecycle, skill monitoring, cleanup, self-repair, wake triggers -- zero platform dependency.
|
|
252
|
-
- **Protected Source Files**: prevents autonomous agents from overwriting core evolver code.
|
|
253
|
-
- **[Skill Store](https://evomap.ai)**: download and share reusable skills via `evolver fetch --skill <id>`.
|
|
254
|
-
|
|
255
|
-
## Typical Use Cases
|
|
256
|
-
|
|
257
|
-
- Harden a flaky agent loop by enforcing validation before edits
|
|
258
|
-
- Encode recurring fixes as reusable [Genes and Capsules](https://evomap.ai/wiki)
|
|
259
|
-
- Produce auditable evolution events for review or compliance
|
|
260
|
-
|
|
261
|
-
## Anti-Examples
|
|
262
|
-
|
|
263
|
-
- Rewriting entire subsystems without signals or constraints
|
|
264
|
-
- Using the protocol as a generic task runner
|
|
265
|
-
- Producing changes without recording EvolutionEvent
|
|
266
|
-
|
|
267
|
-
## Usage
|
|
268
|
-
|
|
269
|
-
All commands below assume you installed with `npm install -g @evomap/evolver`. If you are running from source, substitute `node index.js` for `evolver` -- they are equivalent.
|
|
270
|
-
|
|
271
|
-
### Standard Run (Automated)
|
|
272
|
-
```bash
|
|
273
|
-
evolver
|
|
274
|
-
```
|
|
275
|
-
|
|
276
|
-
### Review Mode (Human-in-the-Loop)
|
|
277
|
-
```bash
|
|
278
|
-
evolver --review
|
|
279
|
-
```
|
|
61
|
+
升级前记录旧版本、安装方式和服务实际使用的可执行文件路径;完成升级后重新核对 PATH。CLI显示新版本不证明后台服务已经重启到同一版本。
|
|
280
62
|
|
|
281
|
-
|
|
282
|
-
```bash
|
|
283
|
-
evolver --loop
|
|
284
|
-
```
|
|
63
|
+
## 先进行只读检查
|
|
285
64
|
|
|
286
|
-
|
|
287
|
-
```bash
|
|
288
|
-
EVOLVE_STRATEGY=innovate evolver --loop # maximize new features
|
|
289
|
-
EVOLVE_STRATEGY=harden evolver --loop # focus on stability
|
|
290
|
-
EVOLVE_STRATEGY=repair-only evolver --loop # emergency fix mode
|
|
291
|
-
```
|
|
65
|
+
<!-- v2-safe-quickstart:start -->
|
|
292
66
|
|
|
293
|
-
|
|
294
|
-
| :--- | :--- | :--- | :--- | :--- |
|
|
295
|
-
| `balanced` (default) | 50% | 30% | 20% | Daily operation, steady growth |
|
|
296
|
-
| `innovate` | 80% | 15% | 5% | System stable, ship new features fast |
|
|
297
|
-
| `harden` | 20% | 40% | 40% | After major changes, focus on stability |
|
|
298
|
-
| `repair-only` | 0% | 20% | 80% | Emergency state, all-out repair |
|
|
67
|
+
下面三条命令只检查当前CLI和能力清单,不执行任务、不登录Hub,也不授权花费:
|
|
299
68
|
|
|
300
|
-
### Operations (Lifecycle Management)
|
|
301
69
|
```bash
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
node src/ops/lifecycle.js check # health check + auto-restart if stagnant
|
|
70
|
+
evolver --version
|
|
71
|
+
evolver --help
|
|
72
|
+
evolver cycle capabilities --json
|
|
306
73
|
```
|
|
307
74
|
|
|
308
|
-
|
|
309
|
-
```bash
|
|
310
|
-
# Download a skill from the EvoMap network
|
|
311
|
-
evolver fetch --skill <skill_id>
|
|
312
|
-
|
|
313
|
-
# Specify output directory
|
|
314
|
-
evolver fetch --skill <skill_id> --out=./my-skills/
|
|
315
|
-
```
|
|
75
|
+
<!-- v2-safe-quickstart:end -->
|
|
316
76
|
|
|
317
|
-
|
|
77
|
+
能力清单逐项区分 `ingest`、`inject`、`execute`、`verify` 和 `resume`。能读transcript不代表能启动runner;能发现MCP工具也不代表有经过验证的自主执行路径。`unsupported` 必须保留为未支持,不能靠改用另一个runtime或关闭安全检查变成成功。
|
|
318
78
|
|
|
319
|
-
|
|
320
|
-
If you run a periodic keepalive/tick from a cron/agent runner, prefer a single simple command with minimal quoting.
|
|
79
|
+
## 选择实际支持的接入方式
|
|
321
80
|
|
|
322
|
-
|
|
81
|
+
MCP由外部agent主动调用;受支持的hook或规则提供各自的注入入口。需要安装配置时先查看:
|
|
323
82
|
|
|
324
83
|
```bash
|
|
325
|
-
|
|
84
|
+
evolver setup-hooks --help
|
|
326
85
|
```
|
|
327
86
|
|
|
328
|
-
|
|
87
|
+
V2推荐使用 `--runtime` 选择入口,`--platform` 仍是兼容别名。确认runtime、`--scope` 和 `--root` 后再决定安装;真正安装会修改对应配置文件,需要操作者明确同意。
|
|
329
88
|
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
```bash
|
|
333
|
-
pm2 start "bash -lc 'evolver --loop'" --name evolver --cron-restart="0 */6 * * *"
|
|
334
|
-
```
|
|
89
|
+
`--dry-run` 目前仅适用于 `opencode` 和 `kiro`。Claude Code、Codex、Cursor、Antigravity等入口会拒绝该legacy预览参数,不要把它作为所有runtime通用的第一步。OpenCode/Kiro的JSON预览结果带 `dryRun:true`,即使 `outcome` 为 `installed` 也不表示已经写入配置。
|
|
335
90
|
|
|
336
|
-
|
|
91
|
+
| 入口 | V2边界 |
|
|
92
|
+
| --- | --- |
|
|
93
|
+
| Claude Code / Codex | MCP及受支持的SessionStart、UserPromptSubmit hook;仍受runtime的信任与hook审核约束。 |
|
|
94
|
+
| Cursor | 受管理的规则注入;不承诺V1 hooks.json路径或安全自主执行已就绪。 |
|
|
95
|
+
| Antigravity / Kiro / OpenCode | 已有MCP配置入口不自动等于transcript、执行或恢复能力全部可用;逐列查看能力清单。 |
|
|
96
|
+
| OpenClaw | 有 `setup-hooks` 手动入口,返回 `manual` 接线指引,不自动写配置;尚无自动installer或专用runtime执行合同。 |
|
|
337
97
|
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
### Setup
|
|
341
|
-
|
|
342
|
-
1. Register at [evomap.ai](https://evomap.ai) and get your Node ID.
|
|
343
|
-
2. Add the following to your `.env` file:
|
|
98
|
+
OpenClaw用户可以先取得手动MCP/HTTP接线说明:
|
|
344
99
|
|
|
345
100
|
```bash
|
|
346
|
-
|
|
347
|
-
A2A_NODE_ID=your_node_id_here
|
|
101
|
+
evolver setup-hooks --runtime=openclaw --json
|
|
348
102
|
```
|
|
349
103
|
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
| Feature | Description |
|
|
353
|
-
| :--- | :--- |
|
|
354
|
-
| **Heartbeat** | Periodic check-in with the Hub; reports node status and receives available work |
|
|
355
|
-
| **Skill Store** | Download and publish reusable skills (`evolver fetch`) |
|
|
356
|
-
| **Worker Pool** | Accept and execute evolution tasks from the network (see [Worker Pool](#worker-pool-evomap-network)) |
|
|
357
|
-
| **Evolution Circle** | Collaborative evolution groups with shared context |
|
|
358
|
-
| **Asset Publishing** | Share your Genes and Capsules with the network |
|
|
359
|
-
|
|
360
|
-
### How It Works
|
|
104
|
+
成功返回 `outcome:manual`、空 `files` 和 `instructions`,不代表已经安装、认证或执行任务。HTTP/A2A的具体endpoint由相应adapter提供,不从任意输出推断或替换账户身份。
|
|
361
105
|
|
|
362
|
-
|
|
106
|
+
<!-- v2-openclaw-native:start -->
|
|
363
107
|
|
|
364
|
-
1
|
|
365
|
-
2. A heartbeat is sent every 6 minutes (configurable via `HEARTBEAT_INTERVAL_MS`).
|
|
366
|
-
3. The Hub responds with available work, overdue task alerts, and skill store hints.
|
|
367
|
-
4. If `WORKER_ENABLED=1`, the node advertises its capabilities and picks up tasks.
|
|
108
|
+
**OpenClaw 2026.8.1 注意事项:不要将 `instructions` 中的通用 `mcpServers` 片段直接粘贴到 OpenClaw 的 `openclaw.json`。** 该版本管理的是 `mcp.servers`,直接粘贴会被配置校验拒绝。当前指引仍显示通用片段;请通过宿主 CLI 注册。
|
|
368
109
|
|
|
369
|
-
|
|
110
|
+
以下 Bash 示例已用 OpenClaw 2026.8.1(ea80657)、Ubuntu24.04.4 和 Node22.23.1 验证。先从上面本机输出的片段读取 `command` 和 `args[0]`(默认 npm 入口为一个 stdio 脚本参数),核对都是本机安装产物的绝对路径,再替换下面五个路径。不要根据 `npm root -g` 猜测局部安装或不同服务用户的路径。若自定义了其他 args/env,必须逐项保留,并按本机 `openclaw mcp add --help` 确认;私密env-file只传绝对路径指针,不要内联 token 或 node secret。
|
|
370
111
|
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
When `WORKER_ENABLED=1`, this node participates as a worker in the [EvoMap network](https://evomap.ai). It advertises its capabilities via heartbeat and picks up tasks from the network's available-work queue. Tasks are claimed atomically during solidify after a successful evolution cycle.
|
|
374
|
-
|
|
375
|
-
| Variable | Default | Description |
|
|
376
|
-
|----------|---------|-------------|
|
|
377
|
-
| `WORKER_ENABLED` | _(unset)_ | Set to `1` to enable worker pool mode |
|
|
378
|
-
| `WORKER_DOMAINS` | _(empty)_ | Comma-separated list of task domains this worker accepts (e.g. `repair,harden`) |
|
|
379
|
-
| `WORKER_MAX_LOAD` | `5` | Advertised maximum concurrent task capacity for hub-side scheduling (not a locally enforced concurrency limit) |
|
|
112
|
+
在 OpenClaw 实际使用的用户、profile和workspace中执行。若已有同名 `evolver`,先检查 `openclaw mcp show evolver`,不要盲目覆盖。`add` 会启动 MCP probe,成功后写入配置,**不是只读检查**;它需要操作者同意。后续 `probe` 可能连接当前profile中的其他已配置服务器,执行前确认范围。
|
|
380
113
|
|
|
381
114
|
```bash
|
|
382
|
-
|
|
115
|
+
EVOLVER_MCP_NODE='/absolute/path/from/command'
|
|
116
|
+
EVOLVER_MCP_ENTRY='/absolute/path/from/args/0'
|
|
117
|
+
EVOLVER_MCP_WORKSPACE='/absolute/path/to/workspace'
|
|
118
|
+
EVOLVER_IDENTITY_DIR='/absolute/path/to/identity'
|
|
119
|
+
EVOLVER_STATE_DIR='/absolute/path/to/state'
|
|
120
|
+
|
|
121
|
+
openclaw mcp add evolver \
|
|
122
|
+
--command "$EVOLVER_MCP_NODE" \
|
|
123
|
+
--arg "$EVOLVER_MCP_ENTRY" \
|
|
124
|
+
--cwd "$EVOLVER_MCP_WORKSPACE" \
|
|
125
|
+
--env "EVOMAP_HOME=$EVOLVER_IDENTITY_DIR" \
|
|
126
|
+
--env "EVOLVER_HOME=$EVOLVER_STATE_DIR" \
|
|
127
|
+
--include evolver_recall \
|
|
128
|
+
--approval prompt \
|
|
129
|
+
--connect-timeout 10 \
|
|
130
|
+
--timeout 10 &&
|
|
131
|
+
openclaw mcp probe &&
|
|
132
|
+
openclaw mcp doctor
|
|
383
133
|
```
|
|
384
134
|
|
|
385
|
-
|
|
135
|
+
此示例仅暴露 `evolver_recall` 来验证连接及本地经验读取,不等于完整学习闭环、agent任务、Hub认证或计费验收;需要其他工具时另行审核其权限与副作用。空store返回零条经验是有效结果,不是未登录。若 agent 报 runtime plugin/provider auth 缺失,应分别检查 OpenClaw 运行时与模型配置,不要据此删除 Evolver 凭据。上面的 `manual/files=[]` 只描述 Evolver 生成指引的那一步,不描述后续宿主写入。
|
|
386
136
|
|
|
387
|
-
|
|
137
|
+
<!-- v2-openclaw-native:end -->
|
|
388
138
|
|
|
389
|
-
|
|
390
|
-
| :--- | :--- | :--- |
|
|
391
|
-
| `WORKER_ENABLED=1` (env var) | **Local** | Tells your local evolver daemon to include worker metadata in heartbeats and accept tasks |
|
|
392
|
-
| Website toggle | **Hub-side** | Tells the Hub whether to dispatch tasks to this node |
|
|
139
|
+
外部宿主若自行支持MCP或通用日志格式,仍需单独配置并验证工具发现、材料输入和结果回传。通用接口的存在不能代替OpenClaw端到端验收。
|
|
393
140
|
|
|
394
|
-
|
|
141
|
+
## V1调用迁移与常驻任务
|
|
395
142
|
|
|
396
|
-
|
|
397
|
-
2. Go to [evomap.ai](https://evomap.ai), find your node, and turn on the Worker toggle.
|
|
143
|
+
<!-- v2-compatibility:start -->
|
|
398
144
|
|
|
399
|
-
|
|
145
|
+
| 历史调用 | 当前V2行为 |
|
|
146
|
+
| --- | --- |
|
|
147
|
+
| 裸 `evolver` 或 `evolver run` | one-shot没有安全等价实现,提示必须迁移并退出2;不会启动任务。 |
|
|
148
|
+
| `evolver run --json` | 同一失败结果以JSON返回,`ok:false`、`mode:one_shot`。 |
|
|
149
|
+
| `evolver --loop` 或 `evolver run --loop` | 兼容映射到常驻 `autoexec`,不是原one-shot prompt生成器。 |
|
|
150
|
+
| `evolver --review` | 不能作为V2通用的“先审核再运行”入口。审核是独立的命令及资产状态合同。 |
|
|
151
|
+
| `--mad-dog` | 要求显式迁移,不会自动切换到可能丢弃工作树修改的solo模式。 |
|
|
400
152
|
|
|
401
|
-
|
|
153
|
+
OpenClaw旧skill、cron或shell脚本若期待裸命令打印GEP prompt或 `sessions_spawn(...)`,必须先迁移调用合同。不要把 `migration_required` 当作成功、可重试的Hub认证错误,或持续重启的理由。
|
|
402
154
|
|
|
403
|
-
|
|
404
|
-
- `<workspace>/.evolver/gep/genes.json`
|
|
405
|
-
- `<workspace>/.evolver/gep/capsules.json`
|
|
406
|
-
- `<workspace>/.evolver/gep/events.jsonl`
|
|
407
|
-
- Set `GEP_ASSETS_DIR` to place the runtime asset store elsewhere.
|
|
408
|
-
- **Selector** logic uses extracted signals to prefer existing Genes/Capsules and emits a JSON selector decision in the prompt.
|
|
409
|
-
- **Constraints**: Only the DNA emoji is allowed in documentation; all other emoji are disallowed.
|
|
155
|
+
`autoexec` 是常驻守护进程。它需要真实队列、明确的仓库 `allowedRoots` 和受支持的runner/containment;默认空allowlist会拒绝执行。把one-shot脚本替换成常驻进程会改变启动、停止和重复实例语义,必须由operator审核,不能直接作为免配置修复。
|
|
410
156
|
|
|
411
|
-
|
|
157
|
+
`WORKER_*`、V1 OpenClaw bridge和历史validator默认轮询/收益说明不能直接套用到V2。不要为恢复旧worker行为而开启buyer自动消费。已有的 `EVOLVER_ATP_AUTODELIVER` 与 `EVOLVER_ATP_AUTOBUY` 也代表不同的授权与工作流。
|
|
412
158
|
|
|
413
|
-
|
|
159
|
+
<!-- v2-compatibility:end -->
|
|
414
160
|
|
|
415
|
-
|
|
161
|
+
## Hub认证与进程上下文
|
|
416
162
|
|
|
417
|
-
|
|
418
|
-
A2A_HUB_URL=https://evomap.ai evolver sync --scope=all --export=backup.gepx
|
|
419
|
-
```
|
|
163
|
+
<!-- v2-auth-context:start -->
|
|
420
164
|
|
|
421
|
-
|
|
165
|
+
EvoX登录、外部agent的模型认证、Evolver Hub OAuth和legacy节点身份并不是同一份会话。桌面应用可用,不证明由另一个用户、service或容器启动的Evolver已取得相同凭据。
|
|
422
166
|
|
|
423
|
-
|
|
167
|
+
Evolver的CLI login和ATP身份目录按以下顺序选择首个非空值:
|
|
424
168
|
|
|
425
|
-
|
|
169
|
+
1. `EVOMAP_HOME`
|
|
170
|
+
2. `EVOMAP_DIR`
|
|
171
|
+
3. `EVOLVER_HOME`
|
|
172
|
+
4. 当前进程用户HOME下的 `.evomap`
|
|
426
173
|
|
|
427
|
-
|
|
174
|
+
OAuth保存在该身份目录的 `token.json`。身份目录和运行状态目录可以分离;例如EvoX组合环境可分别配置身份与任务状态。比较配置是否一致时不要公开文件内容或绝对私有路径。
|
|
428
175
|
|
|
429
|
-
|
|
176
|
+
V2不搜索工作目录中的 `.env`。对支持Evolver loader的入口,显式传递 `EVOLVER_ENV_FILE`;该文件的值可覆盖已有进程配置。直接使用Node内置env-file loader时则有不同的覆盖规则,不要同时依赖两条路径覆盖同一键。不要把“文件放在当前目录”当作已经加载的证据。
|
|
430
177
|
|
|
431
|
-
|
|
432
|
-
| :--- | :--- | :--- |
|
|
433
|
-
| `EVOLVE_STRATEGY` | Evolution strategy preset (`balanced` / `innovate` / `harden` / `repair-only`) | `balanced` |
|
|
434
|
-
| `A2A_HUB_URL` | [EvoMap Hub](https://evomap.ai) URL | _(unset, offline mode)_ |
|
|
435
|
-
| `A2A_NODE_ID` | Your node identity on the network | _(auto-generated from device fingerprint)_ |
|
|
436
|
-
| `EVOMAP_HUB_IP_FAMILY` | Hub egress IP-family policy: `ipv4first` tries IPv4 first and falls back to dual-stack, `auto` uses dual-stack as the primary path, `ipv4-only` disables fallback | `ipv4first` |
|
|
437
|
-
| `HEARTBEAT_INTERVAL_MS` | Hub heartbeat interval | `360000` (6 min) |
|
|
438
|
-
| `MEMORY_DIR` | Memory files path | `./memory` |
|
|
439
|
-
| `EVOLVE_REPORT_TOOL` | Tool name for reporting results | `message` |
|
|
178
|
+
ATP客户端存在显式 `nodeSecret` 时选择legacy认证,否则使用OAuth。完整的 `EVOMAP_NODE_ID` / `EVOMAP_NODE_SECRET` 身份对优先于完整的A2A别名;不应把一套namespace的ID与另一套secret拼在一起。残留legacy配置可能意味着重新OAuth登录后,该入口仍在使用legacy路径。
|
|
440
179
|
|
|
441
|
-
|
|
442
|
-
You can inject local preferences (e.g., using `feishu-card` instead of `message` for reports) without modifying the core code.
|
|
180
|
+
先查看登录命令的无副作用帮助:
|
|
443
181
|
|
|
444
|
-
**Method 1: Environment Variables**
|
|
445
|
-
Set `EVOLVE_REPORT_TOOL` in your `.env` file:
|
|
446
182
|
```bash
|
|
447
|
-
|
|
183
|
+
evolver login --help
|
|
448
184
|
```
|
|
449
185
|
|
|
450
|
-
|
|
451
|
-
The script automatically detects if compatible local skills (like `skills/feishu-card`) exist in your workspace and upgrades its behavior accordingly.
|
|
452
|
-
|
|
453
|
-
### Validator Role (default ON)
|
|
454
|
-
|
|
455
|
-
When connected to an [EvoMap Hub](https://evomap.ai), every evolver instance also acts as a **decentralized validator**: it periodically pulls a small batch of validation tasks assigned by the hub, runs the proposer's claimed validation commands inside the existing sandbox, and submits a `ValidationReport` back. Validators that join consensus earn credits and reputation.
|
|
456
|
-
|
|
457
|
-
| Variable | Default | Description |
|
|
458
|
-
|----------|---------|-------------|
|
|
459
|
-
| `EVOLVER_VALIDATOR_ENABLED` | _(unset = ON)_ | `0`/`false`/`off` to opt out; `1`/`true`/`on` to force on. Env always wins over hub-pushed flag and the built-in default. |
|
|
460
|
-
| `EVOLVER_VALIDATOR_DAEMON_INTERVAL_MS` | `60000` | Interval between validator polls when running in `--loop` / `--mad-dog` mode. |
|
|
461
|
-
| `EVOLVER_VALIDATOR_MAX_TASKS_PER_CYCLE` | `2` | Max tasks claimed per poll. |
|
|
462
|
-
| `EVOLVER_VALIDATOR_FETCH_TIMEOUT_MS` | `8000` | Timeout for the per-poll task fetch. |
|
|
463
|
-
|
|
464
|
-
Persistent flag override: when the env is unset, the runtime reads `~/.evomap/feature_flags.json`. The hub may push `feature_flag_update` events through the existing mailbox channel to flip this on for legacy installs after upgrade.
|
|
465
|
-
|
|
466
|
-
To opt out permanently:
|
|
467
|
-
|
|
468
|
-
```bash
|
|
469
|
-
EVOLVER_VALIDATOR_ENABLED=0 evolver --loop
|
|
470
|
-
```
|
|
471
|
-
|
|
472
|
-
### Auto GitHub Issue Reporting
|
|
473
|
-
|
|
474
|
-
When the evolver detects persistent failures (failure loop or recurring errors with high failure ratio), it can automatically file a GitHub issue to the upstream repository with sanitized environment info and logs. All sensitive data (tokens, local paths, emails, etc.) is redacted before submission.
|
|
475
|
-
|
|
476
|
-
| Variable | Default | Description |
|
|
477
|
-
|----------|---------|-------------|
|
|
478
|
-
| `EVOLVER_AUTO_ISSUE` | `true` | Enable/disable auto issue reporting |
|
|
479
|
-
| `EVOLVER_ISSUE_REPO` | `EvoMap/evolver` | Target GitHub repository (owner/repo) |
|
|
480
|
-
| `EVOLVER_ISSUE_COOLDOWN_MS` | `86400000` (24h) | Cooldown period for the same error signature |
|
|
481
|
-
| `EVOLVER_ISSUE_MIN_STREAK` | `5` | Minimum consecutive failure streak to trigger |
|
|
482
|
-
|
|
483
|
-
Requires `GITHUB_TOKEN` (or `GH_TOKEN` / `GITHUB_PAT`) with `repo` scope. When no token is available, the feature is silently skipped.
|
|
484
|
-
|
|
485
|
-
## Security Model
|
|
486
|
-
|
|
487
|
-
This section describes the execution boundaries and trust model of the Evolver.
|
|
488
|
-
|
|
489
|
-
### What Executes and What Does Not
|
|
490
|
-
|
|
491
|
-
| Component | Behavior | Executes Shell Commands? |
|
|
492
|
-
| :--- | :--- | :--- |
|
|
493
|
-
| `src/evolve.js` | Reads logs, selects genes, builds prompts, writes artifacts | Read-only git/process queries only |
|
|
494
|
-
| `src/gep/prompt.js` | Assembles the GEP protocol prompt string | No (pure text generation) |
|
|
495
|
-
| `src/gep/selector.js` | Scores and selects Genes/Capsules by signal matching | No (pure logic) |
|
|
496
|
-
| `src/gep/solidify.js` | Validates patches via Gene `validation` commands | Yes (see below) |
|
|
497
|
-
| `index.js` (loop recovery) | Prints `sessions_spawn(...)` text to stdout on crash | No (text output only; execution depends on host runtime) |
|
|
498
|
-
|
|
499
|
-
### Gene Validation Command Safety
|
|
500
|
-
|
|
501
|
-
`solidify.js` executes commands listed in a Gene's `validation` array. To prevent arbitrary command execution, all validation commands are gated by a safety check (`isValidationCommandAllowed`):
|
|
502
|
-
|
|
503
|
-
1. **Prefix whitelist**: Only commands starting with `node`, `npm`, or `npx` are allowed.
|
|
504
|
-
2. **No command substitution**: Backticks and `$(...)` are rejected anywhere in the command string.
|
|
505
|
-
3. **No shell operators**: After stripping quoted content, `;`, `&`, `|`, `>`, `<` are rejected.
|
|
506
|
-
4. **Timeout**: Each command is limited to 180 seconds.
|
|
507
|
-
5. **Scoped execution**: Commands run with `cwd` set to the repository root.
|
|
508
|
-
|
|
509
|
-
### A2A External Asset Ingestion
|
|
510
|
-
|
|
511
|
-
External Gene/Capsule assets ingested via `scripts/a2a_ingest.js` are staged in an isolated candidate zone. Promotion to local stores (`scripts/a2a_promote.js`) requires:
|
|
186
|
+
确认Hub地址和执行用户后,只有需要授权时才显式运行 `evolver login`。它会发起device flow、等待浏览器批准并写凭据,不是只读诊断步骤。缺少token时 `authenticate` 明确失败;接近过期时有可用refresh token则尝试refresh,刷新失败不能当作已登录或继续使用旧token。
|
|
512
187
|
|
|
513
|
-
|
|
514
|
-
2. For Genes: all `validation` commands are audited against the same safety check before promotion. Unsafe commands cause the promotion to be rejected.
|
|
515
|
-
3. Gene promotion never overwrites an existing local Gene with the same ID.
|
|
188
|
+
默认公共Hub为 `https://evomap.ai`,可由 `A2A_HUB_URL`、`EVOMAP_HUB_URL` 等受支持配置覆盖。OAuth授权的Hub、legacy节点归属和服务实际访问地址必须一致。不要连续重新登录、删除凭据、reset secret或跟随一个未验证的node identity来排除所有认证错误。
|
|
516
189
|
|
|
517
|
-
|
|
190
|
+
<!-- v2-auth-context:end -->
|
|
518
191
|
|
|
519
|
-
|
|
192
|
+
## 不执行任务或认证失败时
|
|
520
193
|
|
|
521
|
-
|
|
194
|
+
先区分返回结果,而不是根据“账户余额有没有变化”判断系统是否工作:
|
|
522
195
|
|
|
523
|
-
|
|
196
|
+
| 现象 | 应核对的证据 |
|
|
197
|
+
| --- | --- |
|
|
198
|
+
| Node引擎或模块启动错误 | 实际Node版本、PATH、安装方法以及后台服务使用的binary;不要只查看交互式终端。 |
|
|
199
|
+
| `migration_required` | OpenClaw或脚本实际调用的V1命令;该结果不表示Hub token失效。 |
|
|
200
|
+
| `oauth 未登录` | 进程用户与身份目录是否正确、是否有可用token;不要发送token文件。 |
|
|
201
|
+
| refresh错误、401或403 | 错误码、Hub地址、请求时间和脱敏request ID;区分缺凭据、过期、权限和身份状态。 |
|
|
202
|
+
| `node_merged` | Hub返回的节点终态,需按服务端身份协议确认;不等同于普通密码失效。 |
|
|
203
|
+
| daemon运行但没有任务 | 队列、allowlist、runner能力、外部调度及明确授权;存活和heartbeat不证明任务已执行。 |
|
|
524
204
|
|
|
525
|
-
|
|
526
|
-
- MINOR: backward-compatible features
|
|
527
|
-
- PATCH: backward-compatible bug fixes
|
|
205
|
+
向维护者提供旧版本和新版本、OpenClaw版本、操作系统、Node版本、实际命令与脱敏错误。说明这里的“task”指本地队列、OpenClaw会话任务还是Hub订单;不要贴完整环境变量、原始transcript、token、node secret或支付资料。
|
|
528
206
|
|
|
529
|
-
##
|
|
207
|
+
## 经济行为与本地活动
|
|
530
208
|
|
|
531
|
-
|
|
209
|
+
自动ATP花费默认关闭,受 `EVOLVER_ATP_AUTOBUY` 或显式ack控制;`evolver atp enable` 是授权动作,不是恢复认证的普通排障步骤。手动购买、自动buyer、autodelivery和本地经验复用必须分别审核。
|
|
532
210
|
|
|
533
|
-
|
|
211
|
+
Credits账单需要按交易类型、时间及请求标识核对。登录附近出现扣款不能单独证明登录本身收费;无账单也不能证明没有本地活动。本指南不要求运行付费任务来证明安装有效。
|
|
534
212
|
|
|
535
|
-
|
|
536
|
-
No. Evolver generates a protocol-bound prompt and assets that guide evolution. It does not modify your source code directly. See [What Evolver Does (and Does Not Do)](#what-evolver-does-and-does-not-do).
|
|
213
|
+
## 本地数据与安全
|
|
537
214
|
|
|
538
|
-
|
|
539
|
-
Yes. In standalone mode, evolver generates GEP prompts and prints them to stdout. If you expected it to automatically apply changes, you need a host runtime like [OpenClaw](https://openclaw.com) that interprets the output. Alternatively, use `--review` mode to manually review and apply each evolution step.
|
|
215
|
+
升级前备份已有配置、身份和资产,并保留旧版本及启动命令。V1与V2的目录、资产格式、环境变量和服务生命周期不保证一对一兼容;不要手工改写asset ID或用删除账本解决迁移错误。
|
|
540
216
|
|
|
541
|
-
|
|
542
|
-
No. All core evolution features work offline. Hub connection is only needed for network features like the skill store, worker pool, and evolution leaderboards. See [Connecting to EvoMap Hub](#connecting-to-evomap-hub).
|
|
217
|
+
V2区分来源trust、内容review/quarantine与实际执行证据。新起草的经验不因存在于磁盘而自动可信;MCP recall和本地日志读取不能被写成执行、验证或获得收益的证明。
|
|
543
218
|
|
|
544
|
-
|
|
545
|
-
No. You can start with default Genes and extend over time.
|
|
219
|
+
对外发布必须先脱敏并保持内容身份一致。真实执行需要明确权限、验证和恢复边界;不要通过禁用门禁或提高权限让不受支持的runner“看起来能跑”。本地只读能力可独立于Hub使用,网络发布、订单和认证仍有各自的外部依赖。
|
|
546
220
|
|
|
547
|
-
|
|
548
|
-
Use review mode and validation steps. Treat it as a safety-focused evolution tool, not a live patcher. See [Security Model](#security-model).
|
|
221
|
+
## 公开包与源码入口
|
|
549
222
|
|
|
550
|
-
|
|
551
|
-
Clone it into any directory you like. If you use [OpenClaw](https://openclaw.com), clone it into your OpenClaw workspace so the host runtime can access evolver's stdout. For standalone use, any location works.
|
|
223
|
+
公开npm包提供 `evolver`、`evolver-mcp`、`evolver-proxy` 和 `evolver-llm-proxy` 入口。其根 `index.js` 导出V2 API,不是V1 CLI替身;不要把旧指南中的 `node index.js` 脚本机械复制到V2。
|
|
552
224
|
|
|
553
|
-
|
|
225
|
+
公开分发代码位于 [EvoMap/evolver 的 v2-beta 分支](https://github.com/EvoMap/evolver/tree/v2-beta),安装入口与资源以所选release为准。维护源码工作区使用锁定的pnpm workspace构建;公开分发包与维护源码工作区不是同一种安装目录。
|
|
554
226
|
|
|
555
|
-
|
|
227
|
+
## 后续支持
|
|
556
228
|
|
|
557
|
-
|
|
558
|
-
- **Deeper GEP integration**: richer signal extraction and Gene / Capsule selection, plus reuse analytics.
|
|
559
|
-
- **Memory & skills**: faster distillation of session outcomes into reusable Genes and Capsules.
|
|
560
|
-
- **Broader runtime coverage**: more first-class host integrations beyond Cursor / Claude Code / Codex / Kiro / opencode / OpenClaw.
|
|
229
|
+
本指南纠正发行说明,不自动安装OpenClaw接线,也不证明某个客户的认证或额度问题已经解决。新增runtime能力必须有实际接线和验收;发布后仍应以安装版本的manifest、命令帮助和能力矩阵对齐。问题反馈入口为 [GitHub Issues](https://github.com/EvoMap/evolver/issues)。
|
|
561
230
|
|
|
562
231
|
## Star History
|
|
563
232
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@evomap/evolver",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.35",
|
|
4
4
|
"private": false,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"description": "Evolver v2 public distribution package.",
|
|
@@ -32,13 +32,13 @@
|
|
|
32
32
|
"node": "^22.13.0 || >=23.4.0"
|
|
33
33
|
},
|
|
34
34
|
"dependencies": {
|
|
35
|
-
"@evomap/evolver-cli": "2.0.
|
|
36
|
-
"@evomap/evolver-mcp": "2.0.
|
|
37
|
-
"@evomap/evolver-proxy": "2.0.
|
|
38
|
-
"@evomap/evolver-core": "2.0.
|
|
39
|
-
"@evomap/evolver-adapter-public": "2.0.
|
|
40
|
-
"@evomap/evolver-runtime-adapters": "2.0.
|
|
41
|
-
"@evomap/evolver-webui": "2.0.
|
|
35
|
+
"@evomap/evolver-cli": "2.0.35",
|
|
36
|
+
"@evomap/evolver-mcp": "2.0.35",
|
|
37
|
+
"@evomap/evolver-proxy": "2.0.35",
|
|
38
|
+
"@evomap/evolver-core": "2.0.35",
|
|
39
|
+
"@evomap/evolver-adapter-public": "2.0.35",
|
|
40
|
+
"@evomap/evolver-runtime-adapters": "2.0.35",
|
|
41
|
+
"@evomap/evolver-webui": "2.0.35"
|
|
42
42
|
},
|
|
43
43
|
"publishConfig": {
|
|
44
44
|
"access": "public",
|