@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.
Files changed (62) hide show
  1. package/README.ja-JP.md +9 -32
  2. package/README.ko-KR.md +9 -32
  3. package/README.md +10 -33
  4. package/README.zh-CN.md +4 -31
  5. package/SKILL.md +1 -1
  6. package/index.js +31 -2
  7. package/package.json +1 -1
  8. package/scripts/check-changelog.js +1 -1
  9. package/src/evolve/guards.js +1 -1
  10. package/src/evolve/pipeline/collect.js +1 -1
  11. package/src/evolve/pipeline/dispatch.js +1 -1
  12. package/src/evolve/pipeline/enrich.js +1 -1
  13. package/src/evolve/pipeline/hub.js +1 -1
  14. package/src/evolve/pipeline/select.js +1 -1
  15. package/src/evolve/pipeline/signals.js +1 -1
  16. package/src/evolve/utils.js +1 -1
  17. package/src/evolve.js +1 -1
  18. package/src/forceUpdate.js +105 -20
  19. package/src/gep/a2aProtocol.js +1 -1
  20. package/src/gep/autoDistillConv.js +1 -1
  21. package/src/gep/autoDistillLlm.js +1 -1
  22. package/src/gep/candidateEval.js +1 -1
  23. package/src/gep/candidates.js +1 -1
  24. package/src/gep/contentHash.js +1 -1
  25. package/src/gep/conversationSniffer.js +1 -1
  26. package/src/gep/crypto.js +1 -1
  27. package/src/gep/curriculum.js +1 -1
  28. package/src/gep/deviceId.js +1 -1
  29. package/src/gep/envFingerprint.js +1 -1
  30. package/src/gep/epigenetics.js +1 -1
  31. package/src/gep/execBridge.js +1 -1
  32. package/src/gep/explore.js +1 -1
  33. package/src/gep/hash.js +1 -1
  34. package/src/gep/hubFetch.js +1 -1
  35. package/src/gep/hubReview.js +1 -1
  36. package/src/gep/hubSearch.js +1 -1
  37. package/src/gep/hubVerify.js +1 -1
  38. package/src/gep/learningSignals.js +1 -1
  39. package/src/gep/memoryGraph.js +1 -1
  40. package/src/gep/memoryGraphAdapter.js +1 -1
  41. package/src/gep/mutation.js +1 -1
  42. package/src/gep/narrativeMemory.js +1 -1
  43. package/src/gep/oauthLogin.js +143 -0
  44. package/src/gep/openPRRegistry.js +1 -1
  45. package/src/gep/personality.js +1 -1
  46. package/src/gep/policyCheck.js +1 -1
  47. package/src/gep/prompt.js +1 -1
  48. package/src/gep/recallInject.js +1 -1
  49. package/src/gep/recallVerifier.js +1 -1
  50. package/src/gep/reflection.js +1 -1
  51. package/src/gep/selector.js +1 -1
  52. package/src/gep/skillDistiller.js +1 -1
  53. package/src/gep/skillPublisher.js +1 -1
  54. package/src/gep/solidify.js +1 -1
  55. package/src/gep/strategy.js +1 -1
  56. package/src/gep/tokenSavings.js +1 -1
  57. package/src/gep/workspaceKeychain.js +1 -1
  58. package/src/proxy/extensions/traceControl.js +1 -1
  59. package/src/proxy/inject.js +1 -1
  60. package/src/proxy/lifecycle/manager.js +2 -0
  61. package/src/proxy/trace/extractor.js +1 -1
  62. 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 run` を呼び出してください(OpenClaw はその単一ランの stdout ディレクティブを取り込みます)。OpenClaw ユーザーはさらに、`AGENT_NAME`(または `AGENT_SESSIONS_DIR`)が実際にセッションを生成しているエージェントのディレクトリ(`~/.openclaw/agents/<名前>/sessions/`)を指していることを確認してください -- さもないと 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 run --loop
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` | `autogame-17/capability-evolver` | ターゲット GitHub リポジトリ (owner/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
- - 1 分間のデモワークフローを追加
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 run`을 호출하세요(OpenClaw는 그 단일 실행의 stdout 지시문을 처리합니다). OpenClaw 사용자는 추가로, `AGENT_NAME`(또는 `AGENT_SESSIONS_DIR`)이 실제로 세션을 생성하는 에이전트 디렉터리(`~/.openclaw/agents/<이름>/sessions/`)를 가리키는지 확인하세요 -- 그렇지 않으면 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 run --loop
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` | `autogame-17/capability-evolver` | 대상 GitHub 저장소 (owner/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
- - 1분 데모 워크플로 추가
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 run` 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".
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 run --loop
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` | `autogame-17/capability-evolver` | Target GitHub repository (owner/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
- - Add a one-minute demo workflow
559
- - Add a comparison table vs alternatives
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
- [MIT](https://opensource.org/licenses/MIT)
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 run`(一次一轮),OpenClaw 会在这次运行中接管 stdout 指令。对 OpenClaw 用户还要特别注意:`AGENT_NAME`(或 `AGENT_SESSIONS_DIR`)必须指向真正在产生 session 的那个 agent 目录(`~/.openclaw/agents/<名字>/sessions/`),否则 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 run --loop
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` | `autogame-17/capability-evolver` | 目标 GitHub 仓库(owner/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
- [MIT](https://opensource.org/licenses/MIT)
533
+ [GPL-3.0-or-later](https://opensource.org/licenses/GPL-3.0)
package/SKILL.md CHANGED
@@ -362,4 +362,4 @@ Local asset store:
362
362
 
363
363
  ## License
364
364
 
365
- MIT
365
+ GPL-3.0-or-later
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/autogame-17/evolver/issues');
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.88.4",
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 (autogame-17 PR #115 review).
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