@evomap/evolver 1.88.4 → 1.89.1
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.ja-JP.md +9 -32
- package/README.ko-KR.md +9 -32
- package/README.md +10 -33
- package/README.zh-CN.md +4 -31
- package/SKILL.md +1 -1
- package/index.js +31 -2
- package/package.json +1 -1
- package/scripts/check-changelog.js +1 -1
- 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/forceUpdate.js +105 -20
- package/src/gep/a2aProtocol.js +1 -1
- package/src/gep/autoDistillConv.js +1 -1
- package/src/gep/autoDistillLlm.js +1 -1
- package/src/gep/candidateEval.js +1 -1
- package/src/gep/candidates.js +1 -1
- package/src/gep/contentHash.js +1 -1
- package/src/gep/conversationSniffer.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 -1
- package/src/gep/execBridge.js +1 -1
- package/src/gep/explore.js +1 -1
- package/src/gep/hash.js +1 -1
- package/src/gep/hubFetch.js +1 -1
- package/src/gep/hubReview.js +1 -1
- package/src/gep/hubSearch.js +1 -1
- package/src/gep/hubVerify.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/oauthLogin.js +143 -0
- package/src/gep/openPRRegistry.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/recallInject.js +1 -1
- package/src/gep/recallVerifier.js +1 -1
- package/src/gep/reflection.js +1 -1
- package/src/gep/selector.js +1 -1
- package/src/gep/skillDistiller.js +1 -1
- package/src/gep/skillPublisher.js +1 -1
- package/src/gep/solidify.js +1 -1
- package/src/gep/strategy.js +1 -1
- package/src/gep/tokenSavings.js +1 -1
- package/src/gep/workspaceKeychain.js +1 -1
- package/src/proxy/extensions/traceControl.js +1 -1
- package/src/proxy/inject.js +1 -1
- package/src/proxy/lifecycle/manager.js +2 -0
- package/src/proxy/trace/extractor.js +1 -1
- package/src/proxy/trace/usage.js +1 -1
package/README.ja-JP.md
CHANGED
|
@@ -181,7 +181,7 @@ evolver --loop
|
|
|
181
181
|
| ループ (`evolver --loop`) | 適応的スリープ付きのデーモンループで上記を繰り返す |
|
|
182
182
|
| OpenClaw 内 | ホストランタイムが `sessions_spawn(...)` などの stdout ディレクティブを解釈 |
|
|
183
183
|
|
|
184
|
-
> **`--loop` は「動作中のエージェントをリアルタイムで支援する」モードではありません。** ループモードはバックグラウンドの自己メンテナンス(validator 実行、worker タスク、ATP マーチャント自動配信、solidify)のためのもので、その stdout は evolver 自身が消費します。したがって、たとえ OpenClaw / Cursor / Claude Code がインストールされていても、ループモードで出力される `sessions_spawn(...)` ディレクティブはこれらのホストには届きません。evolver にライブセッションを観察・補助させたい場合は、そのエージェントセッションの **内部から** `evolver
|
|
184
|
+
> **`--loop` は「動作中のエージェントをリアルタイムで支援する」モードではありません。** ループモードはバックグラウンドの自己メンテナンス(validator 実行、worker タスク、ATP マーチャント自動配信、solidify)のためのもので、その stdout は evolver 自身が消費します。したがって、たとえ OpenClaw / Cursor / Claude Code がインストールされていても、ループモードで出力される `sessions_spawn(...)` ディレクティブはこれらのホストには届きません。evolver にライブセッションを観察・補助させたい場合は、そのエージェントセッションの **内部から** `evolver` を呼び出してください(OpenClaw はその単一ランの stdout ディレクティブを取り込みます)。OpenClaw ユーザーはさらに、`AGENT_NAME`(または `AGENT_SESSIONS_DIR`)が実際にセッションを生成しているエージェントのディレクトリ(`~/.openclaw/agents/<名前>/sessions/`)を指していることを確認してください -- さもないと evolver は自身のログにフォールバックし、「空転している」ように見えます。
|
|
185
185
|
|
|
186
186
|
## 対象ユーザー
|
|
187
187
|
|
|
@@ -404,7 +404,7 @@ EVOLVE_REPORT_TOOL=feishu-card
|
|
|
404
404
|
永続的にオプトアウト:
|
|
405
405
|
|
|
406
406
|
```bash
|
|
407
|
-
EVOLVER_VALIDATOR_ENABLED=0 evolver
|
|
407
|
+
EVOLVER_VALIDATOR_ENABLED=0 evolver --loop
|
|
408
408
|
```
|
|
409
409
|
|
|
410
410
|
### GitHub Issue 自動報告
|
|
@@ -414,7 +414,7 @@ evolver が持続的な失敗(失敗ループまたは高い失敗率での繰
|
|
|
414
414
|
| 変数 | デフォルト | 説明 |
|
|
415
415
|
|----------|---------|-------------|
|
|
416
416
|
| `EVOLVER_AUTO_ISSUE` | `true` | 自動 issue 報告の有効/無効 |
|
|
417
|
-
| `EVOLVER_ISSUE_REPO` | `
|
|
417
|
+
| `EVOLVER_ISSUE_REPO` | `EvoMap/evolver` | ターゲット GitHub リポジトリ (owner/repo) |
|
|
418
418
|
| `EVOLVER_ISSUE_COOLDOWN_MS` | `86400000` (24h) | 同じエラーシグネチャのクールダウン期間 |
|
|
419
419
|
| `EVOLVER_ISSUE_MIN_STREAK` | `5` | トリガーする最小連続失敗ストリーク |
|
|
420
420
|
|
|
@@ -456,33 +456,6 @@ evolver が持続的な失敗(失敗ループまたは高い失敗率での繰
|
|
|
456
456
|
|
|
457
457
|
`index.js` と `evolve.js` の `sessions_spawn(...)` 文字列は、直接の関数呼び出しではなく、**stdout へのテキスト出力**です。これらが解釈されるかどうかはホストランタイム(例: OpenClaw プラットフォーム)に依存します。evolver 自体は `sessions_spawn` を実行可能コードとして呼び出しません。
|
|
458
458
|
|
|
459
|
-
## パブリックリリース
|
|
460
|
-
|
|
461
|
-
このリポジトリはパブリックディストリビューションです。
|
|
462
|
-
|
|
463
|
-
- パブリック出力のビルド: `npm run build`
|
|
464
|
-
- パブリック出力の公開: `npm run publish:public`
|
|
465
|
-
- ドライラン: `DRY_RUN=true npm run publish:public`
|
|
466
|
-
|
|
467
|
-
必須環境変数:
|
|
468
|
-
|
|
469
|
-
- `PUBLIC_REMOTE` (デフォルト: `public`)
|
|
470
|
-
- `PUBLIC_REPO` (例: `EvoMap/evolver`)
|
|
471
|
-
- `PUBLIC_OUT_DIR` (デフォルト: `dist-public`)
|
|
472
|
-
- `PUBLIC_USE_BUILD_OUTPUT` (デフォルト: `true`)
|
|
473
|
-
|
|
474
|
-
オプションの環境変数:
|
|
475
|
-
|
|
476
|
-
- `SOURCE_BRANCH` (デフォルト: `main`)
|
|
477
|
-
- `PUBLIC_BRANCH` (デフォルト: `main`)
|
|
478
|
-
- `RELEASE_TAG` (例: `v1.0.41`)
|
|
479
|
-
- `RELEASE_TITLE` (例: `v1.0.41 - GEP protocol`)
|
|
480
|
-
- `RELEASE_NOTES` または `RELEASE_NOTES_FILE`
|
|
481
|
-
- GitHub Release 作成用の `GITHUB_TOKEN`(または `GH_TOKEN` / `GITHUB_PAT`)
|
|
482
|
-
- `RELEASE_SKIP` (GitHub Release の作成をスキップするには `true`;デフォルトは作成)
|
|
483
|
-
- `RELEASE_USE_GH` (GitHub API の代わりに `gh` CLI を使用するには `true`)
|
|
484
|
-
- `PUBLIC_RELEASE_ONLY` (既存のタグに対して Release のみを作成するには `true`;公開なし)
|
|
485
|
-
|
|
486
459
|
## バージョニング (SemVer)
|
|
487
460
|
|
|
488
461
|
MAJOR.MINOR.PATCH
|
|
@@ -517,8 +490,12 @@ MAJOR.MINOR.PATCH
|
|
|
517
490
|
|
|
518
491
|
## ロードマップ
|
|
519
492
|
|
|
520
|
-
|
|
521
|
-
|
|
493
|
+
方針であり確約ではありません。最新のバックログは [GitHub Issues](https://github.com/EvoMap/evolver/issues) を参照してください。
|
|
494
|
+
|
|
495
|
+
- **オンボーディング**: 1 分間のクイックスタートデモと、他のエージェント進化手法との比較表。
|
|
496
|
+
- **GEP 統合の深化**: より豊富なシグナル抽出と Gene / Capsule 選択、および再利用アナリティクス。
|
|
497
|
+
- **メモリとスキル**: セッション結果を再利用可能な Gene / Capsule へより速く蒸留。
|
|
498
|
+
- **対応ランタイムの拡大**: Cursor / Claude Code / Codex / Kiro / opencode / OpenClaw 以外のホスト統合を拡充。
|
|
522
499
|
|
|
523
500
|
## Star 履歴
|
|
524
501
|
|
package/README.ko-KR.md
CHANGED
|
@@ -180,7 +180,7 @@ evolver --loop
|
|
|
180
180
|
| 루프 (`evolver --loop`) | 적응형 슬립이 포함된 데몬 루프에서 위 과정을 반복 |
|
|
181
181
|
| OpenClaw 내부 | 호스트 런타임이 `sessions_spawn(...)` 등 stdout 지시문을 해석 |
|
|
182
182
|
|
|
183
|
-
> **`--loop`은 "실행 중인 에이전트를 실시간으로 보조하는" 모드가 아닙니다.** 루프 모드는 백그라운드 자가 유지보수(validator 실행, worker 작업, ATP 상인 자동 배달, solidify)를 위한 것이며, 그 stdout은 evolver 자신이 소비합니다. 따라서 OpenClaw / Cursor / Claude Code가 설치되어 있더라도, 루프 모드에서 출력되는 `sessions_spawn(...)` 지시문은 이 호스트들에 전달되지 않습니다. 라이브 세션을 evolver가 관찰·보조하게 하려면, 해당 에이전트 세션 **내부에서** `evolver
|
|
183
|
+
> **`--loop`은 "실행 중인 에이전트를 실시간으로 보조하는" 모드가 아닙니다.** 루프 모드는 백그라운드 자가 유지보수(validator 실행, worker 작업, ATP 상인 자동 배달, solidify)를 위한 것이며, 그 stdout은 evolver 자신이 소비합니다. 따라서 OpenClaw / Cursor / Claude Code가 설치되어 있더라도, 루프 모드에서 출력되는 `sessions_spawn(...)` 지시문은 이 호스트들에 전달되지 않습니다. 라이브 세션을 evolver가 관찰·보조하게 하려면, 해당 에이전트 세션 **내부에서** `evolver`을 호출하세요(OpenClaw는 그 단일 실행의 stdout 지시문을 처리합니다). OpenClaw 사용자는 추가로, `AGENT_NAME`(또는 `AGENT_SESSIONS_DIR`)이 실제로 세션을 생성하는 에이전트 디렉터리(`~/.openclaw/agents/<이름>/sessions/`)를 가리키는지 확인하세요 -- 그렇지 않으면 evolver는 자신의 로그로 폴백하며, "빈 사이클만 돌고 있는" 것처럼 보입니다.
|
|
184
184
|
|
|
185
185
|
## 대상 사용자
|
|
186
186
|
|
|
@@ -403,7 +403,7 @@ EVOLVE_REPORT_TOOL=feishu-card
|
|
|
403
403
|
영구적으로 옵트아웃:
|
|
404
404
|
|
|
405
405
|
```bash
|
|
406
|
-
EVOLVER_VALIDATOR_ENABLED=0 evolver
|
|
406
|
+
EVOLVER_VALIDATOR_ENABLED=0 evolver --loop
|
|
407
407
|
```
|
|
408
408
|
|
|
409
409
|
### 자동 GitHub Issue 보고
|
|
@@ -413,7 +413,7 @@ evolver가 지속적인 실패(실패 루프 또는 높은 실패율의 반복
|
|
|
413
413
|
| 변수 | 기본값 | 설명 |
|
|
414
414
|
|------|--------|------|
|
|
415
415
|
| `EVOLVER_AUTO_ISSUE` | `true` | 자동 issue 보고 활성화/비활성화 |
|
|
416
|
-
| `EVOLVER_ISSUE_REPO` | `
|
|
416
|
+
| `EVOLVER_ISSUE_REPO` | `EvoMap/evolver` | 대상 GitHub 저장소 (owner/repo) |
|
|
417
417
|
| `EVOLVER_ISSUE_COOLDOWN_MS` | `86400000` (24시간) | 동일 오류 시그니처의 쿨다운 기간 |
|
|
418
418
|
| `EVOLVER_ISSUE_MIN_STREAK` | `5` | 보고를 트리거하는 최소 연속 실패 횟수 |
|
|
419
419
|
|
|
@@ -455,33 +455,6 @@ evolver가 지속적인 실패(실패 루프 또는 높은 실패율의 반복
|
|
|
455
455
|
|
|
456
456
|
`index.js`와 `evolve.js`의 `sessions_spawn(...)` 문자열은 직접적인 함수 호출이 아닌 **stdout으로의 텍스트 출력**입니다. 이것이 해석되는지 여부는 호스트 런타임(예: OpenClaw 플랫폼)에 따라 다릅니다. evolver 자체는 `sessions_spawn`을 실행 가능한 코드로 호출하지 않습니다.
|
|
457
457
|
|
|
458
|
-
## 공개 릴리스
|
|
459
|
-
|
|
460
|
-
이 저장소는 공개 배포판입니다.
|
|
461
|
-
|
|
462
|
-
- 공개용 빌드: `npm run build`
|
|
463
|
-
- 공개용 게시: `npm run publish:public`
|
|
464
|
-
- 드라이런: `DRY_RUN=true npm run publish:public`
|
|
465
|
-
|
|
466
|
-
필수 환경 변수:
|
|
467
|
-
|
|
468
|
-
- `PUBLIC_REMOTE` (기본값: `public`)
|
|
469
|
-
- `PUBLIC_REPO` (예: `EvoMap/evolver`)
|
|
470
|
-
- `PUBLIC_OUT_DIR` (기본값: `dist-public`)
|
|
471
|
-
- `PUBLIC_USE_BUILD_OUTPUT` (기본값: `true`)
|
|
472
|
-
|
|
473
|
-
선택 환경 변수:
|
|
474
|
-
|
|
475
|
-
- `SOURCE_BRANCH` (기본값: `main`)
|
|
476
|
-
- `PUBLIC_BRANCH` (기본값: `main`)
|
|
477
|
-
- `RELEASE_TAG` (예: `v1.0.41`)
|
|
478
|
-
- `RELEASE_TITLE` (예: `v1.0.41 - GEP protocol`)
|
|
479
|
-
- `RELEASE_NOTES` 또는 `RELEASE_NOTES_FILE`
|
|
480
|
-
- GitHub Release 생성용 `GITHUB_TOKEN` (또는 `GH_TOKEN` / `GITHUB_PAT`)
|
|
481
|
-
- `RELEASE_SKIP` (`true`로 설정하면 GitHub Release 생성을 건너뜀; 기본값은 생성)
|
|
482
|
-
- `RELEASE_USE_GH` (`true`로 설정하면 GitHub API 대신 `gh` CLI 사용)
|
|
483
|
-
- `PUBLIC_RELEASE_ONLY` (`true`로 설정하면 기존 태그에 대해 Release만 생성; 코드 게시 없음)
|
|
484
|
-
|
|
485
458
|
## 버전 관리 (SemVer)
|
|
486
459
|
|
|
487
460
|
MAJOR.MINOR.PATCH
|
|
@@ -516,8 +489,12 @@ MAJOR.MINOR.PATCH
|
|
|
516
489
|
|
|
517
490
|
## 로드맵
|
|
518
491
|
|
|
519
|
-
|
|
520
|
-
|
|
492
|
+
방향성이며 확약은 아닙니다. 최신 백로그는 [GitHub Issues](https://github.com/EvoMap/evolver/issues)에서 확인하세요.
|
|
493
|
+
|
|
494
|
+
- **온보딩**: 1분 퀵스타트 데모와 대안 에이전트 진화 방식과의 비교 표.
|
|
495
|
+
- **GEP 통합 심화**: 더 풍부한 시그널 추출과 Gene / Capsule 선택, 그리고 재사용 분석.
|
|
496
|
+
- **메모리와 스킬**: 세션 결과를 재사용 가능한 Gene / Capsule로 더 빠르게 증류.
|
|
497
|
+
- **런타임 커버리지 확대**: Cursor / Claude Code / Codex / Kiro / opencode / OpenClaw 외 호스트 통합 확대.
|
|
521
498
|
|
|
522
499
|
## Star History
|
|
523
500
|
|
package/README.md
CHANGED
|
@@ -203,7 +203,7 @@ When running inside a host runtime (e.g., [OpenClaw](https://openclaw.com)), the
|
|
|
203
203
|
| Loop (`evolver --loop`) | Repeats the above in a daemon loop with adaptive sleep |
|
|
204
204
|
| Inside OpenClaw | Host runtime interprets stdout directives like `sessions_spawn(...)` |
|
|
205
205
|
|
|
206
|
-
> **`--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
|
|
206
|
+
> **`--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".
|
|
207
207
|
|
|
208
208
|
## Who This Is For / Not For
|
|
209
209
|
|
|
@@ -442,7 +442,7 @@ Persistent flag override: when the env is unset, the runtime reads `~/.evomap/fe
|
|
|
442
442
|
To opt out permanently:
|
|
443
443
|
|
|
444
444
|
```bash
|
|
445
|
-
EVOLVER_VALIDATOR_ENABLED=0 evolver
|
|
445
|
+
EVOLVER_VALIDATOR_ENABLED=0 evolver --loop
|
|
446
446
|
```
|
|
447
447
|
|
|
448
448
|
### Auto GitHub Issue Reporting
|
|
@@ -452,7 +452,7 @@ When the evolver detects persistent failures (failure loop or recurring errors w
|
|
|
452
452
|
| Variable | Default | Description |
|
|
453
453
|
|----------|---------|-------------|
|
|
454
454
|
| `EVOLVER_AUTO_ISSUE` | `true` | Enable/disable auto issue reporting |
|
|
455
|
-
| `EVOLVER_ISSUE_REPO` | `
|
|
455
|
+
| `EVOLVER_ISSUE_REPO` | `EvoMap/evolver` | Target GitHub repository (owner/repo) |
|
|
456
456
|
| `EVOLVER_ISSUE_COOLDOWN_MS` | `86400000` (24h) | Cooldown period for the same error signature |
|
|
457
457
|
| `EVOLVER_ISSUE_MIN_STREAK` | `5` | Minimum consecutive failure streak to trigger |
|
|
458
458
|
|
|
@@ -494,33 +494,6 @@ External Gene/Capsule assets ingested via `scripts/a2a_ingest.js` are staged in
|
|
|
494
494
|
|
|
495
495
|
The `sessions_spawn(...)` strings in `index.js` and `evolve.js` are **text output to stdout**, not direct function calls. Whether they are interpreted depends on the host runtime (e.g., OpenClaw platform). The evolver itself does not invoke `sessions_spawn` as executable code.
|
|
496
496
|
|
|
497
|
-
## Public Release
|
|
498
|
-
|
|
499
|
-
This repository is the public distribution.
|
|
500
|
-
|
|
501
|
-
- Build public output: `npm run build`
|
|
502
|
-
- Publish public output: `npm run publish:public`
|
|
503
|
-
- Dry run: `DRY_RUN=true npm run publish:public`
|
|
504
|
-
|
|
505
|
-
Required env vars:
|
|
506
|
-
|
|
507
|
-
- `PUBLIC_REMOTE` (default: `public`)
|
|
508
|
-
- `PUBLIC_REPO` (e.g. `EvoMap/evolver`)
|
|
509
|
-
- `PUBLIC_OUT_DIR` (default: `dist-public`)
|
|
510
|
-
- `PUBLIC_USE_BUILD_OUTPUT` (default: `true`)
|
|
511
|
-
|
|
512
|
-
Optional env vars:
|
|
513
|
-
|
|
514
|
-
- `SOURCE_BRANCH` (default: `main`)
|
|
515
|
-
- `PUBLIC_BRANCH` (default: `main`)
|
|
516
|
-
- `RELEASE_TAG` (e.g. `v1.0.41`)
|
|
517
|
-
- `RELEASE_TITLE` (e.g. `v1.0.41 - GEP protocol`)
|
|
518
|
-
- `RELEASE_NOTES` or `RELEASE_NOTES_FILE`
|
|
519
|
-
- `GITHUB_TOKEN` (or `GH_TOKEN` / `GITHUB_PAT`) for GitHub Release creation
|
|
520
|
-
- `RELEASE_SKIP` (`true` to skip creating a GitHub Release; default is to create)
|
|
521
|
-
- `RELEASE_USE_GH` (`true` to use `gh` CLI instead of GitHub API)
|
|
522
|
-
- `PUBLIC_RELEASE_ONLY` (`true` to only create a Release for an existing tag; no publish)
|
|
523
|
-
|
|
524
497
|
## Versioning (SemVer)
|
|
525
498
|
|
|
526
499
|
MAJOR.MINOR.PATCH
|
|
@@ -555,8 +528,12 @@ Clone it into any directory you like. If you use [OpenClaw](https://openclaw.com
|
|
|
555
528
|
|
|
556
529
|
## Roadmap
|
|
557
530
|
|
|
558
|
-
|
|
559
|
-
|
|
531
|
+
Directional, not commitments — the live backlog lives in [GitHub Issues](https://github.com/EvoMap/evolver/issues).
|
|
532
|
+
|
|
533
|
+
- **Onboarding**: a one-minute quickstart demo and a comparison table vs. alternative agent-evolution approaches.
|
|
534
|
+
- **Deeper GEP integration**: richer signal extraction and Gene / Capsule selection, plus reuse analytics.
|
|
535
|
+
- **Memory & skills**: faster distillation of session outcomes into reusable Genes and Capsules.
|
|
536
|
+
- **Broader runtime coverage**: more first-class host integrations beyond Cursor / Claude Code / Codex / Kiro / opencode / OpenClaw.
|
|
560
537
|
|
|
561
538
|
## Star History
|
|
562
539
|
|
|
@@ -579,7 +556,7 @@ Clone it into any directory you like. If you use [OpenClaw](https://openclaw.com
|
|
|
579
556
|
|
|
580
557
|
## License
|
|
581
558
|
|
|
582
|
-
[
|
|
559
|
+
[GPL-3.0-or-later](https://opensource.org/licenses/GPL-3.0)
|
|
583
560
|
|
|
584
561
|
> Core evolution engine modules are distributed in obfuscated form to protect intellectual property. Source: [EvoMap/evolver](https://github.com/EvoMap/evolver).
|
|
585
562
|
|
package/README.zh-CN.md
CHANGED
|
@@ -178,7 +178,7 @@ evolver --loop
|
|
|
178
178
|
| 循环模式 (`evolver --loop`) | 在守护进程循环中重复上述流程,带自适应休眠 |
|
|
179
179
|
| 在 OpenClaw 中 | 宿主运行时解释 stdout 中的指令(如 `sessions_spawn(...)`) |
|
|
180
180
|
|
|
181
|
-
> **`--loop` 不是"实时辅助正在干活的 agent"的模式。** 循环模式用于后台自维护任务(validator 验证、worker 任务、ATP 商家自动交付、solidify),它的 stdout 是被 evolver 自己消费的,**不会**传给正在运行的 OpenClaw / Cursor / Claude Code agent——即使这些宿主已经安装,`sessions_spawn(...)` 指令在循环模式下也不会被它们接收。如果你想让 evolver 观察并辅助一次具体的 agent 会话,请在那个 agent 会话内部调用 `evolver
|
|
181
|
+
> **`--loop` 不是"实时辅助正在干活的 agent"的模式。** 循环模式用于后台自维护任务(validator 验证、worker 任务、ATP 商家自动交付、solidify),它的 stdout 是被 evolver 自己消费的,**不会**传给正在运行的 OpenClaw / Cursor / Claude Code agent——即使这些宿主已经安装,`sessions_spawn(...)` 指令在循环模式下也不会被它们接收。如果你想让 evolver 观察并辅助一次具体的 agent 会话,请在那个 agent 会话内部调用 `evolver`(一次一轮),OpenClaw 会在这次运行中接管 stdout 指令。对 OpenClaw 用户还要特别注意:`AGENT_NAME`(或 `AGENT_SESSIONS_DIR`)必须指向真正在产生 session 的那个 agent 目录(`~/.openclaw/agents/<名字>/sessions/`),否则 evolver 会回退到读自己的日志,看上去就像在"空转"。
|
|
182
182
|
|
|
183
183
|
## 适用 / 不适用场景
|
|
184
184
|
|
|
@@ -416,7 +416,7 @@ EVOLVE_REPORT_TOOL=feishu-card
|
|
|
416
416
|
永久关闭:
|
|
417
417
|
|
|
418
418
|
```bash
|
|
419
|
-
EVOLVER_VALIDATOR_ENABLED=0 evolver
|
|
419
|
+
EVOLVER_VALIDATOR_ENABLED=0 evolver --loop
|
|
420
420
|
```
|
|
421
421
|
|
|
422
422
|
### 自动 GitHub Issue 上报
|
|
@@ -426,7 +426,7 @@ EVOLVER_VALIDATOR_ENABLED=0 evolver run --loop
|
|
|
426
426
|
| 变量 | 默认值 | 说明 |
|
|
427
427
|
|------|--------|------|
|
|
428
428
|
| `EVOLVER_AUTO_ISSUE` | `true` | 是否启用自动 issue 上报 |
|
|
429
|
-
| `EVOLVER_ISSUE_REPO` | `
|
|
429
|
+
| `EVOLVER_ISSUE_REPO` | `EvoMap/evolver` | 目标 GitHub 仓库(owner/repo) |
|
|
430
430
|
| `EVOLVER_ISSUE_COOLDOWN_MS` | `86400000`(24 小时) | 同类错误签名的冷却期 |
|
|
431
431
|
| `EVOLVER_ISSUE_MIN_STREAK` | `5` | 触发上报所需的最低连续失败次数 |
|
|
432
432
|
|
|
@@ -474,33 +474,6 @@ EVOLVER_VALIDATOR_ENABLED=0 evolver run --loop
|
|
|
474
474
|
2. **稳定性优先**:如果近期错误率较高,强制进入修复模式,暂停创新功能。
|
|
475
475
|
3. **环境检测**:外部集成(如 Git 同步)仅在检测到相应插件存在时才会启用。
|
|
476
476
|
|
|
477
|
-
## Public 发布
|
|
478
|
-
|
|
479
|
-
本仓库为公开发行版本。
|
|
480
|
-
|
|
481
|
-
- 构建公开产物:`npm run build`
|
|
482
|
-
- 发布公开产物:`npm run publish:public`
|
|
483
|
-
- 演练:`DRY_RUN=true npm run publish:public`
|
|
484
|
-
|
|
485
|
-
必填环境变量:
|
|
486
|
-
|
|
487
|
-
- `PUBLIC_REMOTE`(默认:`public`)
|
|
488
|
-
- `PUBLIC_REPO`(例如 `EvoMap/evolver`)
|
|
489
|
-
- `PUBLIC_OUT_DIR`(默认:`dist-public`)
|
|
490
|
-
- `PUBLIC_USE_BUILD_OUTPUT`(默认:`true`)
|
|
491
|
-
|
|
492
|
-
可选环境变量:
|
|
493
|
-
|
|
494
|
-
- `SOURCE_BRANCH`(默认:`main`)
|
|
495
|
-
- `PUBLIC_BRANCH`(默认:`main`)
|
|
496
|
-
- `RELEASE_TAG`(例如 `v1.0.41`)
|
|
497
|
-
- `RELEASE_TITLE`(例如 `v1.0.41 - GEP protocol`)
|
|
498
|
-
- `RELEASE_NOTES` 或 `RELEASE_NOTES_FILE`
|
|
499
|
-
- `GITHUB_TOKEN`(或 `GH_TOKEN` / `GITHUB_PAT`,用于创建 GitHub Release)
|
|
500
|
-
- `RELEASE_SKIP`(`true` 则跳过创建 GitHub Release;默认会创建)
|
|
501
|
-
- `RELEASE_USE_GH`(`true` 则使用 `gh` CLI,否则默认走 GitHub API)
|
|
502
|
-
- `PUBLIC_RELEASE_ONLY`(`true` 则仅为已存在的 tag 创建 Release;不发布代码)
|
|
503
|
-
|
|
504
477
|
## 版本号规则(SemVer)
|
|
505
478
|
|
|
506
479
|
MAJOR.MINOR.PATCH
|
|
@@ -557,4 +530,4 @@ MAJOR.MINOR.PATCH
|
|
|
557
530
|
|
|
558
531
|
## 许可证
|
|
559
532
|
|
|
560
|
-
[
|
|
533
|
+
[GPL-3.0-or-later](https://opensource.org/licenses/GPL-3.0)
|
package/SKILL.md
CHANGED
package/index.js
CHANGED
|
@@ -2046,7 +2046,7 @@ async function main() {
|
|
|
2046
2046
|
} else if (resp.status >= 500) {
|
|
2047
2047
|
console.error(' Server error. The Hub may be temporarily unavailable.');
|
|
2048
2048
|
console.error(' Try again in a few minutes. If the issue persists, report at:');
|
|
2049
|
-
console.error(' https://github.com/
|
|
2049
|
+
console.error(' https://github.com/EvoMap/evolver/issues');
|
|
2050
2050
|
}
|
|
2051
2051
|
if (isVerbose) {
|
|
2052
2052
|
console.error('[Verbose] Endpoint: ' + endpoint);
|
|
@@ -2560,6 +2560,33 @@ async function main() {
|
|
|
2560
2560
|
process.exit(1);
|
|
2561
2561
|
}
|
|
2562
2562
|
|
|
2563
|
+
} else if (command === 'login') {
|
|
2564
|
+
const { deviceLogin, resolveHubUrl, tokenFile } = require('./src/gep/oauthLogin');
|
|
2565
|
+
const hubUrl = resolveHubUrl();
|
|
2566
|
+
try {
|
|
2567
|
+
console.log('Logging in to ' + hubUrl + ' ...');
|
|
2568
|
+
const tok = await deviceLogin({
|
|
2569
|
+
hubUrl,
|
|
2570
|
+
onCode: ({ userCode, verificationUri }) => {
|
|
2571
|
+
console.log('\nTo authorize this device:');
|
|
2572
|
+
console.log(' 1. open ' + verificationUri);
|
|
2573
|
+
console.log(' 2. enter code: ' + userCode);
|
|
2574
|
+
console.log('\nWaiting for approval (Ctrl-C to cancel)...');
|
|
2575
|
+
},
|
|
2576
|
+
});
|
|
2577
|
+
console.log('\n✓ Logged in. Token stored at ' + tokenFile() + ' (expires ' + new Date(tok.expires_at).toISOString() + ').');
|
|
2578
|
+
process.exit(0);
|
|
2579
|
+
} catch (error) {
|
|
2580
|
+
console.error('login failed: ' + (error && error.message || error));
|
|
2581
|
+
process.exit(1);
|
|
2582
|
+
}
|
|
2583
|
+
|
|
2584
|
+
} else if (command === 'logout') {
|
|
2585
|
+
const { clearOAuthToken, tokenFile } = require('./src/gep/oauthLogin');
|
|
2586
|
+
const removed = clearOAuthToken();
|
|
2587
|
+
console.log(removed ? ('Logged out (removed ' + tokenFile() + ').') : 'No OAuth token to remove.');
|
|
2588
|
+
process.exit(0);
|
|
2589
|
+
|
|
2563
2590
|
} else if (command === 'setup-hooks') {
|
|
2564
2591
|
const hookAdapter = require('./src/adapters/hookAdapter');
|
|
2565
2592
|
const { setupHooks, resolveConfigRoot, detectPlatform, loadAdapter } = hookAdapter;
|
|
@@ -2916,7 +2943,9 @@ async function main() {
|
|
|
2916
2943
|
}
|
|
2917
2944
|
|
|
2918
2945
|
} else {
|
|
2919
|
-
console.log(`Usage: node index.js [run|/evolve|solidify|review|distill|fetch|sync|asset-log|webui|setup-hooks|recipe|buy|orders|verify|atp|atp-complete] [--loop]
|
|
2946
|
+
console.log(`Usage: node index.js [run|/evolve|login|logout|solidify|review|distill|fetch|sync|asset-log|webui|setup-hooks|recipe|buy|orders|verify|atp|atp-complete] [--loop]
|
|
2947
|
+
- login (authorize this device via the hub, gh-auth-login style; stores an OAuth token used instead of node_secret)
|
|
2948
|
+
- logout (remove the stored OAuth token)
|
|
2920
2949
|
- recipe flags:
|
|
2921
2950
|
- build --title="..." --genes=<asset_id,...> [--description] [--price=N] [--publish]
|
|
2922
2951
|
(builds a DRAFT DNA blueprint; --publish is opt-in)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@evomap/evolver",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.89.1",
|
|
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": {
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
* - Tag lookup is local-only (`git rev-parse`); CI must `git fetch
|
|
20
20
|
* --tags` first if it runs on a shallow clone.
|
|
21
21
|
* - `repoRoot` is injectable so tests don't need to monkey-patch the
|
|
22
|
-
* module by re-evaluating source (
|
|
22
|
+
* module by re-evaluating source (see PR #115 review).
|
|
23
23
|
*
|
|
24
24
|
* Usage:
|
|
25
25
|
* node scripts/check-changelog.js # CLI mode, exits 0/1
|