@evomap/evolver 1.80.7 → 1.80.9
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.zh-CN.md +18 -11
- package/SKILL.md +3 -3
- package/index.js +22 -1
- package/package.json +1 -1
- package/src/config.js +5 -0
- package/src/evolve/guards.js +1 -1
- package/src/evolve/pipeline/collect.js +1 -1
- package/src/evolve/pipeline/dispatch.js +1 -1
- package/src/evolve/pipeline/enrich.js +1 -1
- package/src/evolve/pipeline/hub.js +1 -1
- package/src/evolve/pipeline/select.js +1 -1
- package/src/evolve/pipeline/signals.js +1 -1
- package/src/evolve/utils.js +1 -1
- package/src/evolve.js +1 -1
- package/src/gep/.integrity +0 -0
- package/src/gep/a2aProtocol.js +1 -1
- package/src/gep/assetStore.js +59 -5
- package/src/gep/candidateEval.js +1 -1
- package/src/gep/candidates.js +1 -1
- package/src/gep/contentHash.js +1 -1
- package/src/gep/crypto.js +1 -1
- package/src/gep/curriculum.js +1 -1
- package/src/gep/deviceId.js +1 -1
- package/src/gep/envFingerprint.js +1 -1
- package/src/gep/epigenetics.js +1 -0
- package/src/gep/explore.js +1 -1
- package/src/gep/gitOps.js +34 -3
- package/src/gep/hash.js +1 -0
- package/src/gep/hubReview.js +1 -1
- package/src/gep/hubSearch.js +1 -1
- package/src/gep/hubVerify.js +1 -1
- package/src/gep/integrityCheck.js +1 -1
- package/src/gep/learningSignals.js +1 -1
- package/src/gep/memoryGraph.js +1 -1
- package/src/gep/memoryGraphAdapter.js +1 -1
- package/src/gep/mutation.js +1 -1
- package/src/gep/narrativeMemory.js +1 -1
- package/src/gep/personality.js +1 -1
- package/src/gep/policyCheck.js +1 -1
- package/src/gep/prompt.js +1 -1
- package/src/gep/reflection.js +1 -1
- package/src/gep/schemas/index.js +2 -1
- package/src/gep/schemas/protocol.js +43 -0
- package/src/gep/selector.js +1 -1
- package/src/gep/shield.js +1 -1
- package/src/gep/skillDistiller.js +1 -1
- package/src/gep/solidify.js +1 -1
- package/src/gep/strategy.js +1 -1
- package/src/gep/taskReceiver.js +7 -2
- package/src/webui/client/clientJs/assets.js +111 -0
- package/src/webui/client/clientJs/bootstrap.js +92 -0
- package/src/webui/client/clientJs/common.js +77 -0
- package/src/webui/client/clientJs/i18n.js +366 -0
- package/src/webui/client/clientJs/index.js +35 -0
- package/src/webui/client/clientJs/interactions.js +351 -0
- package/src/webui/client/clientJs/overview.js +152 -0
- package/src/webui/client/clientJs/personality.js +285 -0
- package/src/webui/client/clientJs/pipelines.js +330 -0
- package/src/webui/client/indexHtml.js +221 -0
- package/src/webui/client/static.js +23 -0
- package/src/webui/client/stylesCss.js +639 -0
- package/src/webui/client/vendor/README.md +15 -0
- package/src/webui/client/vendor/echarts.min.js +45 -0
- package/src/webui/index.js +14 -0
- package/src/webui/observer/assets.js +146 -0
- package/src/webui/observer/index.js +37 -0
- package/src/webui/observer/interactions.js +120 -0
- package/src/webui/observer/jsonl.js +75 -0
- package/src/webui/observer/paths.js +46 -0
- package/src/webui/observer/personality.js +43 -0
- package/src/webui/observer/pipelineEvents.js +58 -0
- package/src/webui/observer/redact.js +63 -0
- package/src/webui/observer/runs.js +356 -0
- package/src/webui/observer/safety.js +57 -0
- package/src/webui/observer/skills.js +70 -0
- package/src/webui/observer/status.js +71 -0
- package/src/webui/server/http.js +138 -0
- package/src/webui/server/routes.js +41 -0
- package/assets/gep/candidates.jsonl +0 -2
- package/assets/gep/capsules.json +0 -4
- package/assets/gep/events.jsonl +0 -0
- package/assets/gep/failed_capsules.json +0 -4
- package/assets/gep/genes.json +0 -201
- package/assets/gep/genes.jsonl +0 -0
package/README.zh-CN.md
CHANGED
|
@@ -198,7 +198,7 @@ evolver --loop
|
|
|
198
198
|
- **自我修复引导**:从信号中生成面向修复的指令。
|
|
199
199
|
- **[GEP 协议](https://evomap.ai/wiki)**:标准化进化流程与可复用资产,支持可审计与可共享。
|
|
200
200
|
- **突变协议与人格进化**:每次进化必须显式声明 Mutation,并维护可进化的 PersonalityState。
|
|
201
|
-
- **可配置进化策略**:通过 `EVOLVE_STRATEGY` 环境变量选择 `balanced`/`innovate`/`harden`/`repair-only`
|
|
201
|
+
- **可配置进化策略**:通过 `EVOLVE_STRATEGY` 环境变量选择 `balanced`/`innovate`/`harden`/`repair-only`/`early-stabilize`/`steady-state` 模式,每个策略都同时分配 repair/optimize/innovate/explore 四类意图的比例。
|
|
202
202
|
- **信号去重**:自动检测修复循环,防止反复修同一个问题。
|
|
203
203
|
- **运维模块** (`src/ops/`):6 个可移植的运维工具(生命周期管理、技能健康监控、磁盘清理、Git 自修复等),零平台依赖。
|
|
204
204
|
- **源码保护**:防止自治代理覆写核心进化引擎源码。
|
|
@@ -235,17 +235,24 @@ evolver --loop
|
|
|
235
235
|
|
|
236
236
|
### 指定进化策略
|
|
237
237
|
```bash
|
|
238
|
-
EVOLVE_STRATEGY=innovate evolver --loop
|
|
239
|
-
EVOLVE_STRATEGY=harden evolver --loop
|
|
240
|
-
EVOLVE_STRATEGY=repair-only evolver --loop
|
|
238
|
+
EVOLVE_STRATEGY=innovate evolver --loop # 最大化创新
|
|
239
|
+
EVOLVE_STRATEGY=harden evolver --loop # 聚焦稳定性
|
|
240
|
+
EVOLVE_STRATEGY=repair-only evolver --loop # 紧急修复模式
|
|
241
|
+
EVOLVE_STRATEGY=steady-state evolver --loop # 进化饱和后切换到探索为主
|
|
241
242
|
```
|
|
242
243
|
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
|
246
|
-
|
|
|
247
|
-
| `
|
|
248
|
-
| `
|
|
244
|
+
每个策略都会同时分配 4 类意图(**repair / optimize / innovate / explore**)的目标比例,并写入 GEP prompt 影响 LLM 选择:
|
|
245
|
+
|
|
246
|
+
| 策略 | 修复 | 优化 | 创新 | 探索 | 适用场景 |
|
|
247
|
+
| :--- | :--- | :--- | :--- | :--- | :--- |
|
|
248
|
+
| `balanced`(默认) | 20% | 20% | 50% | 10% | 日常运行,稳步成长 |
|
|
249
|
+
| `innovate` | 5% | 10% | 80% | 5% | 系统稳定,快速出新功能 |
|
|
250
|
+
| `harden` | 40% | 35% | 20% | 5% | 大改动后,聚焦稳固 |
|
|
251
|
+
| `repair-only` | 80% | 18% | 0% | 2% | 紧急状态,全力修复 |
|
|
252
|
+
| `early-stabilize` | 60% | 22% | 15% | 3% | 初期循环,先把存量问题压下去 |
|
|
253
|
+
| `steady-state` | 55% | 25% | 5% | 15% | 进化饱和,少改动多探索新方向 |
|
|
254
|
+
|
|
255
|
+
**意图说明**:`repair` 修复明确错误;`optimize` 优化既有路径;`innovate` 引入新能力 / 新技能;`explore` 不做侵入式改动,主动扫描代码库与外部知识,把发现的机会转写为新的信号或低风险 Capsule,为后续 innovate 储备题目。
|
|
249
256
|
|
|
250
257
|
### 运维管理(生命周期)
|
|
251
258
|
```bash
|
|
@@ -373,7 +380,7 @@ Evolver 能自动适应不同环境。
|
|
|
373
380
|
|
|
374
381
|
| 变量 | 说明 | 默认值 |
|
|
375
382
|
| :--- | :--- | :--- |
|
|
376
|
-
| `EVOLVE_STRATEGY` | 进化策略预设(`balanced` / `innovate` / `harden` / `repair-only`) | `balanced` |
|
|
383
|
+
| `EVOLVE_STRATEGY` | 进化策略预设(`balanced` / `innovate` / `harden` / `repair-only` / `early-stabilize` / `steady-state`) | `balanced` |
|
|
377
384
|
| `A2A_HUB_URL` | [EvoMap Hub](https://evomap.ai) 地址 | _(未设置,离线模式)_ |
|
|
378
385
|
| `A2A_NODE_ID` | 你在网络中的节点身份 | _(根据设备指纹自动生成)_ |
|
|
379
386
|
| `HEARTBEAT_INTERVAL_MS` | Hub 心跳间隔 | `360000`(6 分钟) |
|
package/SKILL.md
CHANGED
|
@@ -44,8 +44,8 @@ metadata:
|
|
|
44
44
|
description: Allow evolution to modify evolver source code. NOT recommended.
|
|
45
45
|
- name: EVOLVER_ROLLBACK_MODE
|
|
46
46
|
required: false
|
|
47
|
-
default:
|
|
48
|
-
description: "Rollback strategy on failure:
|
|
47
|
+
default: stash
|
|
48
|
+
description: "Rollback strategy on solidify failure. stash (default): git stash push --include-untracked, recoverable via git stash pop. hard: git reset --hard, discards work. none: skip rollback. Default flipped from hard to stash in 1.80.8 to prevent data loss in third-party host repos."
|
|
49
49
|
- name: GITHUB_TOKEN
|
|
50
50
|
required: false
|
|
51
51
|
description: GitHub API token for auto-issue reporting and releases.
|
|
@@ -338,7 +338,7 @@ node index.js --review
|
|
|
338
338
|
| `EVOMAP_PROXY` | `1` | Enable local Proxy |
|
|
339
339
|
| `EVOMAP_PROXY_PORT` | `19820` | Override Proxy port |
|
|
340
340
|
| `EVOLVE_STRATEGY` | `balanced` | Evolution strategy |
|
|
341
|
-
| `EVOLVER_ROLLBACK_MODE` | `
|
|
341
|
+
| `EVOLVER_ROLLBACK_MODE` | `stash` | Rollback on solidify failure: stash (default, recoverable), hard (destructive), none |
|
|
342
342
|
| `EVOLVER_LLM_REVIEW` | `0` | Enable LLM review before solidification |
|
|
343
343
|
| `GITHUB_TOKEN` | (none) | GitHub API token |
|
|
344
344
|
|
package/index.js
CHANGED
|
@@ -1558,6 +1558,25 @@ async function main() {
|
|
|
1558
1558
|
console.log('');
|
|
1559
1559
|
}
|
|
1560
1560
|
|
|
1561
|
+
} else if (command === 'webui') {
|
|
1562
|
+
const portFlag = args.find(a => typeof a === 'string' && a.startsWith('--port='));
|
|
1563
|
+
const port = portFlag ? Number(portFlag.slice('--port='.length)) : undefined;
|
|
1564
|
+
const { startWebUi } = require('./src/webui');
|
|
1565
|
+
try {
|
|
1566
|
+
const info = await startWebUi({ port });
|
|
1567
|
+
console.log('[webui] Open ' + info.url);
|
|
1568
|
+
const shutdown = async () => {
|
|
1569
|
+
try { await info.server.stop(); } catch (_) {}
|
|
1570
|
+
process.exit(0);
|
|
1571
|
+
};
|
|
1572
|
+
process.on('SIGINT', shutdown);
|
|
1573
|
+
process.on('SIGTERM', shutdown);
|
|
1574
|
+
await new Promise(() => {});
|
|
1575
|
+
} catch (error) {
|
|
1576
|
+
console.error('[webui] Failed: ' + (error && error.message || error));
|
|
1577
|
+
process.exit(1);
|
|
1578
|
+
}
|
|
1579
|
+
|
|
1561
1580
|
} else if (command === 'setup-hooks') {
|
|
1562
1581
|
const hookAdapter = require('./src/adapters/hookAdapter');
|
|
1563
1582
|
const { setupHooks, resolveConfigRoot, detectPlatform, loadAdapter } = hookAdapter;
|
|
@@ -1690,7 +1709,7 @@ async function main() {
|
|
|
1690
1709
|
}
|
|
1691
1710
|
|
|
1692
1711
|
} else {
|
|
1693
|
-
console.log(`Usage: node index.js [run|/evolve|solidify|review|distill|fetch|sync|asset-log|setup-hooks|buy|orders|verify|atp-complete] [--loop]
|
|
1712
|
+
console.log(`Usage: node index.js [run|/evolve|solidify|review|distill|fetch|sync|asset-log|webui|setup-hooks|buy|orders|verify|atp-complete] [--loop]
|
|
1694
1713
|
- fetch flags:
|
|
1695
1714
|
- --skill=<id> | -s <id> (skill ID to download)
|
|
1696
1715
|
- --out=<dir> (output directory, default: ./skills/<skill_id>)
|
|
@@ -1723,6 +1742,8 @@ async function main() {
|
|
|
1723
1742
|
- --last=<N> (show last N entries)
|
|
1724
1743
|
- --since=<ISO_date> (entries after date)
|
|
1725
1744
|
- --json (raw JSON output)
|
|
1745
|
+
- webui flags:
|
|
1746
|
+
- --port=<N> (local Web UI port, default 19821)
|
|
1726
1747
|
|
|
1727
1748
|
ATP (Agent Transaction Protocol) subcommands:
|
|
1728
1749
|
- buy <caps> (place an ATP order; caps is comma-separated)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@evomap/evolver",
|
|
3
|
-
"version": "1.80.
|
|
3
|
+
"version": "1.80.9",
|
|
4
4
|
"description": "A GEP-powered self-evolution engine for AI agents. Features automated log analysis and Genome Evolution Protocol (GEP) for auditable, reusable evolution assets.",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"bin": {
|
package/src/config.js
CHANGED
|
@@ -59,6 +59,8 @@ function resolveHubUrl() {
|
|
|
59
59
|
|
|
60
60
|
// --- Solidify & Validation ---
|
|
61
61
|
|
|
62
|
+
const BLAST_RADIUS_HARD_CAP_FILES = envInt('EVOLVER_HARD_CAP_FILES', 60);
|
|
63
|
+
const BLAST_RADIUS_HARD_CAP_LINES = envInt('EVOLVER_HARD_CAP_LINES', 20000);
|
|
62
64
|
const VALIDATION_TIMEOUT_MS = envInt('EVOLVER_VALIDATION_TIMEOUT_MS', 180000);
|
|
63
65
|
const CANARY_TIMEOUT_MS = envInt('EVOLVER_CANARY_TIMEOUT_MS', 30000);
|
|
64
66
|
const CAPSULE_CONTENT_MAX_CHARS = envInt('EVOLVER_CAPSULE_MAX_CHARS', 8000);
|
|
@@ -197,6 +199,9 @@ module.exports = {
|
|
|
197
199
|
SELF_PR_COOLDOWN_MS,
|
|
198
200
|
SELF_PR_REPO,
|
|
199
201
|
SELF_PR_TIMEOUT_MS,
|
|
202
|
+
// Policy
|
|
203
|
+
BLAST_RADIUS_HARD_CAP_FILES,
|
|
204
|
+
BLAST_RADIUS_HARD_CAP_LINES,
|
|
200
205
|
// Security
|
|
201
206
|
LEAK_CHECK_MODE,
|
|
202
207
|
// Validator (opt-in role)
|