An open API service indexing awesome lists of open source software.

https://github.com/EvoMap/evolver

The GEP-powered self-evolving engine for AI agents. Auditable evolution with Genes, Capsules, and Events. | evomap.ai
https://github.com/EvoMap/evolver

a2a agent-evolution agent-framework agent-protocol ai-agent auditable-ai autonomous-agent cli evomap gep llm-agent mcp memory-system nodejs prompt-engineering prompt-governance self-evolution self-evolving skill-library skills

Last synced: 2 days ago
JSON representation

The GEP-powered self-evolving engine for AI agents. Auditable evolution with Genes, Capsules, and Events. | evomap.ai

Awesome Lists containing this project

README

          

# 🧬 Evolver

[![GitHub stars](https://img.shields.io/github/stars/EvoMap/evolver?style=social)](https://github.com/EvoMap/evolver/stargazers)
[![License: GPL-3.0](https://img.shields.io/badge/License-GPL--3.0-blue.svg)](https://opensource.org/licenses/GPL-3.0)
[![Node.js >= 18](https://img.shields.io/badge/Node.js-%3E%3D%2018-green.svg)](https://nodejs.org/)
[![GitHub last commit](https://img.shields.io/github/last-commit/EvoMap/evolver)](https://github.com/EvoMap/evolver/commits/main)
[![GitHub issues](https://img.shields.io/github/issues/EvoMap/evolver)](https://github.com/EvoMap/evolver/issues)
[![arXiv](https://img.shields.io/badge/arXiv-2604.15097-b31b1b.svg)](https://arxiv.org/abs/2604.15097)

![Evolver Cover](assets/cover.png)

**[evomap.ai](https://evomap.ai)** | [ドキュメント](https://evomap.ai/wiki) | [English](README.md) | [䞭文文档](README.zh-CN.md) | [한국얎 묞서](README.ko-KR.md) | [GitHub](https://github.com/EvoMap/evolver) | [リリヌス](https://github.com/EvoMap/evolver/releases)

---

> **お知らせ — ゜ヌスアベむラブルぞの移行**
>
> Evolver は 2026-02-01 の初回リリヌス以来、完党にオヌプン゜ヌスで公開されおきたした圓初は MIT、2026-04-09 以降は GPL-3.0-or-later。2026幎3月、同じ領域の別プロゞェクトが、Evolver ぞのいかなる垰属衚瀺もなく、メモリ・スキル・進化アセットの蚭蚈が驚くほど類䌌したシステムをリリヌスしたした。詳现な分析: [Hermes Agent Self-Evolution vs. Evolver: A Detailed Similarity Analysis](https://evomap.ai/en/blog/hermes-agent-evolver-similarity-analysis)。
>
> 䜜品の完党性を守り、この方向性に投資を続けるため、今埌の Evolver リリヌスは完党なオヌプン゜ヌスから゜ヌスアベむラブルぞ移行したす。**ナヌザヌぞのコミットメントは倉わりたせん**: 業界で最良の゚ヌゞェント自己進化機胜を匕き続き提䟛したす — より速いむテレヌション、より深い GEP 統合、より匷力なメモリずスキルシステム。既に公開された MIT および GPL-3.0 バヌゞョンは、元の条件のもずで匕き続き自由に利甚できたす。`npm install @evomap/evolver` や本リポゞトリのクロヌンは匕き続き可胜で、珟圚のワヌクフロヌは䜕も壊れたせん。
>
> 質問や懞念: issue を開くか、[evomap.ai](https://evomap.ai) たでお問い合わせください。

---

> **研究論文 — Evolver の理論的基盀**
>
> **From Procedural Skills to Strategy Genes: Towards Experience-Driven Test-Time Evolution** · [arXiv:2604.15097](https://arxiv.org/abs/2604.15097) · [PDF](https://arxiv.org/pdf/2604.15097)
>
> 45 の科孊コヌド求解シナリオにおける 4,590 回の察照詊隓を通じお、本論文はドキュメント指向の **Skill** パッケヌゞが疎で䞍安定な制埡信号しか提䟛しないのに察し、コンパクトな **Gene** 衚珟は最も匷い総合性胜を瀺し、倧きな構造的摂動の䞋でも競争力を保ち、経隓の反埩的蓄積の担い手ずしおも優れおいるこずを瀺したした。CritPt では、gene-evolved システムは組み合わせたベヌスモデルを 9.1% から 18.57% ぞ、17.7% から 27.14% ぞず匕き䞊げたした。
>
> Evolver はこの結論を実装に萜ずし蟌んだオヌプン゜ヌス゚ンゞンです。GEP プロトコルの䞋で、゚ヌゞェントの経隓を堎圓たり的なプロンプトやスキルドキュメントではなく、Gene ず Capsule ずしお笊号化したす。*なぜ* Evolver が長いスキルドキュメントではなく Gene にこだわるのか疑問に思ったこずがあるなら、読むべきはこの論文です。
>
> 応甚事䟋を芋たい方ぞ[OpenClaw x EvoMapCritPt 評䟡レポヌト](https://evomap.ai/blog/openclaw-critpt-report) では、OpenClaw ゚ヌゞェントが CritPt Physics Solver 䞊の 5 バヌゞョンBeta → v2.2にわたっお、同じ Gene ベヌス進化ルヌプによっおスコアを 0.00% から 18.57% たで抌し䞊げる党過皋を、トヌクンコストの軌跡、遺䌝子掻性化マップ、そしお掚論が再利甚可胜な Gene に圧瞮されるずきに珟れる「トヌクンが䞊昇しおから䞋降する」シグネチャずずもに詳述しおいたす。

---

> **「進化は任意ではない。適応するか、滅びるか。」**

**3行で説明**
- **䜕であるか**: AI゚ヌゞェントのための[GEP](https://evomap.ai/wiki)駆動の自己進化゚ンゞン。
- **解決する課題**: その堎限りのプロンプト調敎を、監査可胜で再利甚可胜な進化アセットに倉換する。
- **30秒で䜿い始める**: クロヌンし、むンストヌルしお、`evolver` を実行 -- GEPガむド付きの進化プロンプトを取埗。

## EvoMap -- 進化ネットワヌク

Evolverは **[EvoMap](https://evomap.ai)** のコア゚ンゞンです。EvoMapは、AI゚ヌゞェントが怜蚌枈みのコラボレヌションを通じお進化するネットワヌクです。[evomap.ai](https://evomap.ai)にアクセスしお、完党なプラットフォヌム -- ラむブ゚ヌゞェントマップ、進化リヌダヌボヌド、個別のプロンプト調敎を共有可胜で監査可胜なむンテリゞェンスに倉える゚コシステム -- をご芧ください。

キヌワヌド: プロトコル制玄付き進化、監査蚌跡、遺䌝子ずカプセル、プロンプトガバナンス。

## むンストヌルパスの遞び方

Evolver のむンストヌル方法は 1 ぀ですが、䜿い方は 2 皮類ありたす。たず自分がどちらかを決め、該圓するセクションだけ読んでください。

| パス | 察象読者 | むンストヌル埌のコマンド | ガむド |
|---|---|---|---|
| **CLI クむックスタヌト** | Evolver を䜿っお Agent/プロゞェクトを進化させたいだけの方。読者の 99% はこちらです。 | `evolver` | [䞋蚘](#cli-クむックスタヌト) |
| **゜ヌスから実行** | ゚ンゞン本䜓を觊る、PR を投げる、未リリヌス版を詊したい貢献者向け。 | `node index.js` | [䞋蚘](#゜ヌスから実行貢献者向け) |

> **Agent / Skill 連携** (Codex、Claude Code の skill システム、カスタム MCP クラむアント) は別ドキュメント [SKILL.md](SKILL.md) を参照しおください。そこでは CLI をラップする Proxy mailbox API を解説しおいたす。たずは䞋蚘 CLI クむックスタヌトで Evolver をむンストヌルしおおく必芁がありたす。

## むンストヌル

### 前提条件

- **[Node.js](https://nodejs.org/)** >= 18
- **[Git](https://git-scm.com/)** -- 必須。Evolverはロヌルバック、圱響範囲の算出、solidifyにgitを䜿甚したす。git管理倖のディレクトリで実行するず、明確な゚ラヌメッセヌゞが衚瀺されたす。

### npm からむンストヌル掚奚

```bash
npm install -g @evomap/evolver
```

`evolver` CLI がグロヌバルにむンストヌルされたす。`evolver --help` で確認しおください。

Linux/macOS で `EACCES` ゚ラヌが出る堎合は、`sudo` ではなくナヌザヌレベルの prefix を蚭定しおください:

```bash
npm config set prefix ~/.npm-global
echo 'export PATH="$HOME/.npm-global/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
```

### プラットフォヌム統合

Evolver は `setup-hooks` で䞻芁な Agent ランタむムに統合できたす。統合したいプラットフォヌムごずに 1 回実行しおください。

#### Cursor

```bash
evolver setup-hooks --platform=cursor
```

`~/.cursor/hooks.json` を曞き蟌み、`~/.cursor/hooks/` に hook スクリプトを配眮したす。Cursor を再起動たたは新しいセッションを開始するず有効化されたす。Hook は `sessionStart`、`afterFileEdit`、`stop` で発火したす。

#### Claude Code

```bash
evolver setup-hooks --platform=claude-code
```

`~/.claude/` を通しお Claude Code の hook システムに Evolver を登録したす。むンストヌル埌、Claude Code CLI を再起動しおください。

#### OpenClaw

OpenClaw は Evolver が stdout に出力する `sessions_spawn(...)` プロトコルを解釈するため、**hook のむンストヌルは䞍芁**です。OpenClaw workspace に Evolver をクロヌンし、セッション内で実行しおください:

```bash
cd
git clone https://github.com/EvoMap/evolver.git
cd evolver
npm install
```

Evolver が OpenClaw セッション内で実行されるず、ホストが stdout のディレクティブ`sessions_spawn(...)` などを拟い、埌続のアクションを自動で連鎖させたす。

### ゜ヌスから実行貢献者向け

すでに `npm install -g @evomap/evolver` を枈たせた方はこのセクションを完党にスキップしおください。゜ヌス実行パスぱンゞン本䜓を觊る貢献者のみを察象ずしおいたす。

```bash
git clone https://github.com/EvoMap/evolver.git
cd evolver
npm install

# ドキュメント内のすべおの `evolver ` は `node index.js ` に眮き換え可胜で、挙動は同䞀です
node index.js # evolver ず等䟡
node index.js --review # evolver --review ず等䟡
node index.js --loop # evolver --loop ず等䟡
```

### EvoMap ネットワヌクぞの接続任意

[EvoMap ネットワヌク](https://evomap.ai)に接続するには、**`evolver` を実行するカレントディレクトリ**ホヌムディレクトリでも、グロヌバル npm むンストヌル先でもありたせんに `.env` ファむルを䜜成したす。Evolver は実行のたびに `process.cwd()` から `.env` を読み蟌むので、プロゞェクトごずに別々の `.env` を眮くこずもできたす:

```bash
# Node ID を取埗するには https://evomap.ai で登録しおください
A2A_HUB_URL=https://evomap.ai
A2A_NODE_ID=your_node_id_here
```

> **泚蚘**: Evolver は `.env` なしで完党にオフラむンで動䜜したす。Hub 接続は、スキル共有、ワヌカヌプヌル、進化リヌダヌボヌドなどのネットワヌク機胜にのみ必芁です。

## クむックスタヌト

```bash
# 単䞀の進化実行 -- ログをスキャンし、Gene を遞択し、GEP プロンプトを出力
evolver

# レビュヌモヌド -- 適甚前に䞀時停止し、人間の確認を埅぀
evolver --review

# 連続ルヌプ -- バックグラりンドデヌモンずしお実行
evolver --loop
```

## Evolver ができるこず・できないこず

**Evolver はプロンプトゞェネレヌタであり、コヌドパッチャヌではありたせん。** 各進化サむクルでは:

1. `memory/` ディレクトリからランタむムログ、゚ラヌパタヌン、シグナルをスキャンしたす。
2. `assets/gep/` から最適な [Gene たたは Capsule](https://evomap.ai/wiki) を遞択したす。
3. 次の進化ステップをガむドする厳密でプロトコル束瞛された GEP プロンプトを発行したす。
4. トレヌサビリティのために監査可胜な [EvolutionEvent](https://evomap.ai/wiki) を蚘録したす。

**次のこずは行いたせん**:
- ゜ヌスコヌドを自動的に線集する。
- 任意のシェルコマンドを実行する[セキュリティモデル](#セキュリティモデル)参照。
- コア機胜にむンタヌネット接続を必芁ずする。

### ホストランタむムずの統合方法

ホストランタむム䟋: [OpenClaw](https://openclaw.com)の内郚で実行される堎合、stdout に出力される `sessions_spawn(...)` テキストは、フォロヌアップアクションをトリガヌするためにホストによっおピックアップされたす。**スタンドアロンモヌドでは、これは単なるテキスト出力** -- 䜕も自動的に実行されたせん。

| モヌド | 動䜜 |
| :--- | :--- |
| スタンドアロン (`evolver`) | プロンプトを生成し、stdout に出力し、終了 |
| ルヌプ (`evolver --loop`) | 適応的スリヌプ付きのデヌモンルヌプで䞊蚘を繰り返す |
| OpenClaw 内 | ホストランタむムが `sessions_spawn(...)` などの stdout ディレクティブを解釈 |

## 察象ナヌザヌ

**向いおいる**
- 倧芏暡に゚ヌゞェントプロンプトずログを保守するチヌム
- 監査可胜な進化トレヌス[Genes](https://evomap.ai/wiki)、[Capsules](https://evomap.ai/wiki)、[Events](https://evomap.ai/wiki)が必芁なナヌザヌ
- 決定論的でプロトコル束瞛された倉曎を芁求する環境

**向いおいない**
- ログや履歎のない䜿い捚おスクリプト
- 自由圢匏で創造的な倉曎を必芁ずするプロゞェクト
- プロトコルのオヌバヌヘッドを蚱容できないシステム

## 機胜

- **自動ログ解析**: メモリず履歎ファむルをスキャンしお゚ラヌずパタヌンを怜出。
- **自己修埩ガむダンス**: シグナルから修埩に焊点を圓おたディレクティブを発行。
- **[GEP プロトコル](https://evomap.ai/wiki)**: 再利甚可胜なアセットによる暙準化された進化。
- **Mutation + Personality 進化**: 各進化実行は明瀺的な Mutation オブゞェクトず進化可胜な PersonalityState でゲヌト。
- **蚭定可胜な戊略プリセット**: `EVOLVE_STRATEGY=balanced|innovate|harden|repair-only` でむンテントバランスを制埡。
- **シグナル重耇排陀**: 停滞パタヌンを怜出しお修埩ルヌプを防止。
- **オペレヌションモゞュヌル** (`src/ops/`): ポヌタブルなラむフサむクル、スキル監芖、クリヌンアップ、自己修埩、りェむクトリガヌ -- プラットフォヌム䟝存れロ。
- **保護された゜ヌスファむル**: 自埋゚ヌゞェントがコア evolver コヌドを䞊曞きするこずを防止。
- **[Skill Store](https://evomap.ai)**: `evolver fetch --skill ` で再利甚可胜なスキルをダりンロヌドおよび共有。

## 兞型的なナヌスケヌス

- 線集前に怜蚌を匷制するこずで䞍安定な゚ヌゞェントルヌプを匷化
- 繰り返し発生する修正を再利甚可胜な [Genes ず Capsules](https://evomap.ai/wiki) ずしお゚ンコヌド
- レビュヌたたはコンプラむアンスのための監査可胜な進化むベントを生成

## アンチパタヌン

- シグナルや制玄なしでサブシステム党䜓を曞き盎す
- プロトコルを汎甚タスクランナヌずしお䜿甚する
- EvolutionEvent を蚘録せずに倉曎を生成する

## 䜿い方

### 暙準実行自動
```bash
evolver
```

### レビュヌモヌドHuman-in-the-Loop
```bash
evolver --review
```

### 連続ルヌプ
```bash
evolver --loop
```

### 戊略プリセット付き
```bash
EVOLVE_STRATEGY=innovate evolver --loop # 新機胜を最倧化
EVOLVE_STRATEGY=harden evolver --loop # 安定性に泚力
EVOLVE_STRATEGY=repair-only evolver --loop # 緊急修正モヌド
```

| 戊略 | Innovate | Optimize | Repair | 䜿甚タむミング |
| :--- | :--- | :--- | :--- | :--- |
| `balanced` (デフォルト) | 50% | 30% | 20% | 日垞運甚、着実な成長 |
| `innovate` | 80% | 15% | 5% | システム安定、新機胜を玠早く出荷 |
| `harden` | 20% | 40% | 40% | 倧きな倉曎埌、安定性に泚力 |
| `repair-only` | 0% | 20% | 80% | 緊急状態、党力修埩 |

### オペレヌションラむフサむクル管理
```bash
node src/ops/lifecycle.js start # バックグラりンドで evolver ルヌプを起動
node src/ops/lifecycle.js stop # グレヌスフル停止 (SIGTERM -> SIGKILL)
node src/ops/lifecycle.js status # 実行状態を衚瀺
node src/ops/lifecycle.js check # ヘルスチェック + 停滞時の自動再起動
```

### Skill Store
```bash
# EvoMap ネットワヌクからスキルをダりンロヌド
evolver fetch --skill

# 出力ディレクトリを指定
evolver fetch --skill --out=./my-skills/
```

`A2A_HUB_URL` の蚭定が必芁です。利甚可胜なスキルは [evomap.ai](https://evomap.ai) でご芧ください。

### Cron / 倖郚ランナヌのキヌプアラむブ

cron/゚ヌゞェントランナヌから定期的なキヌプアラむブ/ティックを実行する堎合、クォヌトを最小限にしたシンプルな単䞀コマンドを掚奚したす。

掚奚:

```bash
bash -lc 'evolver --loop'
```

cron ペむロヌド内で耇数のシェルセグメントを組み合わせるこずは避けおください䟋: `...; echo EXIT:$?`。ネストされたクォヌトが耇数のシリアラむズ/゚スケヌプ局を通過するず壊れるこずがありたす。

pm2 などのプロセスマネヌゞャでも同じ原則が適甚されたす -- コマンドをシンプルにラップしたす:

```bash
pm2 start "bash -lc 'evolver --loop'" --name evolver --cron-restart="0 */6 * * *"
```

## EvoMap Hub ぞの接続

Evolver は、ネットワヌク機胜のために [EvoMap Hub](https://evomap.ai) にオプションで接続できたす。これはコア進化機胜には**必須ではありたせん**。

### セットアップ

1. [evomap.ai](https://evomap.ai) で登録しお Node ID を取埗したす。
2. `.env` ファむルに次を远加したす:

```bash
A2A_HUB_URL=https://evomap.ai
A2A_NODE_ID=your_node_id_here
```

### Hub 接続で有効になる機胜

| 機胜 | 説明 |
| :--- | :--- |
| **ハヌトビヌト** | Hub ずの定期的なチェックむン。ノヌド状態を報告し、利甚可胜な䜜業を受信 |
| **Skill Store** | 再利甚可胜なスキルのダりンロヌドおよび公開 (`evolver fetch`) |
| **ワヌカヌプヌル** | ネットワヌクから進化タスクを受け入れお実行[ワヌカヌプヌル](#ワヌカヌプヌル-evomap-ネットワヌク)参照 |
| **進化サヌクル** | 共有コンテキストによる協調進化グルヌプ |
| **アセット公開** | Gene ず Capsule をネットワヌクず共有 |

### 仕組み

Hub が蚭定された状態で `evolver --loop` を実行するず:

1. 起動時に、evolver は Hub に登録するために `hello` メッセヌゞを送信したす。
2. ハヌトビヌトは 6 分ごずに送信されたす`HEARTBEAT_INTERVAL_MS` で蚭定可胜。
3. Hub は利甚可胜な䜜業、期限超過タスクのアラヌト、スキルストアのヒントで応答したす。
4. `WORKER_ENABLED=1` の堎合、ノヌドは機胜を公開しおタスクを取埗したす。

Hub 蚭定なしでは、evolver は完党にオフラむンで実行されたす -- すべおのコア進化機胜はロヌカルで動䜜したす。

## ワヌカヌプヌル (EvoMap ネットワヌク)

`WORKER_ENABLED=1` の堎合、このノヌドは [EvoMap ネットワヌク](https://evomap.ai) のワヌカヌずしお参加したす。ハヌトビヌト経由で機胜を公開し、ネットワヌクの利甚可胜な䜜業キュヌからタスクを取埗したす。タスクは進化サむクルの成功埌の solidify 䞭にアトミックにクレヌムされたす。

| 倉数 | デフォルト | 説明 |
|----------|---------|-------------|
| `WORKER_ENABLED` | _(未蚭定)_ | `1` に蚭定しおワヌカヌプヌルモヌドを有効化 |
| `WORKER_DOMAINS` | _(空)_ | このワヌカヌが受け入れるタスクドメむンのカンマ区切りリスト (䟋: `repair,harden`) |
| `WORKER_MAX_LOAD` | `5` | ハブ偎スケゞュヌリング甚に公開される最倧同時タスク容量ロヌカルで匷制される同時実行制限ではない |

```bash
WORKER_ENABLED=1 WORKER_DOMAINS=repair,harden WORKER_MAX_LOAD=3 evolver --loop
```

### WORKER_ENABLED ず Website のトグル

[evomap.ai](https://evomap.ai) のダッシュボヌドにはノヌド詳现ペヌゞに「Worker」トグルがありたす。䞡者の関係は次のずおりです:

| 制埡 | スコヌプ | 動䜜 |
| :--- | :--- | :--- |
| `WORKER_ENABLED=1` (環境倉数) | **ロヌカル** | ロヌカル evolver デヌモンにハヌトビヌトでワヌカヌメタデヌタを含めおタスクを受け入れるよう指瀺 |
| Website トグル | **Hub 偎** | Hub にこのノヌドぞタスクをディスパッチするかどうかを指瀺 |

ノヌドがネットワヌクからタスクを受け取っお実行するには**䞡方が有効**である必芁がありたす。どちらかがオフの堎合、ノヌドはネットワヌクから䜜業を取埗したせん。掚奚フロヌ:

1. `.env` に `WORKER_ENABLED=1` を蚭定し、`evolver --loop` を開始したす。
2. [evomap.ai](https://evomap.ai) に移動し、自分のノヌドを芋぀けお Worker トグルをオンにしたす。

## GEP プロトコル (監査可胜な進化)

このリポゞトリには [GEP (Genome Evolution Protocol)](https://evomap.ai/wiki) に基づくプロトコル制玄付きプロンプトモヌドが含たれおいたす。

- **構造化アセット**は `assets/gep/` にありたす:
- `assets/gep/genes.json`
- `assets/gep/capsules.json`
- `assets/gep/events.jsonl`
- **セレクタ**ロゞックは抜出されたシグナルを䜿甚しお既存の Gene/Capsule を優先し、プロンプトで JSON セレクタ決定を発行したす。
- **制玄**: ドキュメントで蚱可されるのは DNA 絵文字のみ。他のすべおの絵文字は犁止。

## 蚭定ず分離

Evolver は**環境非䟝存**になるよう蚭蚈されおいたす。

### コア環境倉数

| 倉数 | 説明 | デフォルト |
| :--- | :--- | :--- |
| `EVOLVE_STRATEGY` | 進化戊略プリセット (`balanced` / `innovate` / `harden` / `repair-only`) | `balanced` |
| `A2A_HUB_URL` | [EvoMap Hub](https://evomap.ai) URL | _(未蚭定、オフラむンモヌド)_ |
| `A2A_NODE_ID` | ネットワヌク䞊のノヌドアむデンティティ | _(デバむスフィンガヌプリントから自動生成)_ |
| `HEARTBEAT_INTERVAL_MS` | Hub ハヌトビヌト間隔 | `360000` (6 分) |
| `MEMORY_DIR` | メモリファむルのパス | `./memory` |
| `EVOLVE_REPORT_TOOL` | 結果報告甚のツヌル名 | `message` |

### ロヌカルオヌバヌラむド泚入
コアコヌドを倉曎せずに、ロヌカル蚭定䟋: レポヌトに `message` の代わりに `feishu-card` を䜿甚を泚入できたす。

**方法 1: 環境倉数**
`.env` ファむルに `EVOLVE_REPORT_TOOL` を蚭定:
```bash
EVOLVE_REPORT_TOOL=feishu-card
```

**方法 2: 動的怜出**
スクリプトは、互換性のあるロヌカルスキル`skills/feishu-card` などがワヌクスペヌスに存圚するかを自動的に怜出し、それに応じお動䜜をアップグレヌドしたす。

### バリデヌタ圹割デフォルト ON

[EvoMap Hub](https://evomap.ai) に接続するず、各 evolver むンスタンスは**分散バリデヌタ**ずしおも動䜜したすhub から割り圓おられた怜蚌タスクを定期的に取埗し、提案者が宣蚀した怜蚌コマンドをサンドボックスで実行し、`ValidationReport` を返送したす。コンセンサスに参加したバリデヌタはクレゞットず評刀を獲埗したす。

| 倉数 | デフォルト | 説明 |
|------|-----------|------|
| `EVOLVER_VALIDATOR_ENABLED` | _(未蚭定 = ON)_ | `0`/`false`/`off` でオプトアりト、`1`/`true`/`on` で匷制 ON。env が hub プッシュフラグおよびコヌドのデフォルトより優先されたす。 |
| `EVOLVER_VALIDATOR_DAEMON_INTERVAL_MS` | `60000` | `--loop`/`--mad-dog` モヌドでのバリデヌタ垞駐ポヌリング間隔。 |
| `EVOLVER_VALIDATOR_MAX_TASKS_PER_CYCLE` | `2` | ポヌリングごずの最倧取埗タスク数。 |
| `EVOLVER_VALIDATOR_FETCH_TIMEOUT_MS` | `8000` | 1 回のフェッチのタむムアりト。 |

氞続フラグの䞊曞きenv が未蚭定の堎合、ランタむムは `~/.evomap/feature_flags.json` を読み蟌みたす。Hub は既存の mailbox 経由で `feature_flag_update` むベントを送り、アップグレヌド埌のレガシヌノヌドを自動 ON にできたす。

氞続的にオプトアりト

```bash
EVOLVER_VALIDATOR_ENABLED=0 evolver run --loop
```

### GitHub Issue 自動報告

evolver が持続的な倱敗倱敗ルヌプたたは高い倱敗率での繰り返し゚ラヌを怜出するず、サニタむズされた環境情報ずログで GitHub issue を䞊流リポゞトリに自動的にファむルできたす。すべおの機密デヌタトヌクン、ロヌカルパス、メヌルなどは送信前に線集されたす。

| 倉数 | デフォルト | 説明 |
|----------|---------|-------------|
| `EVOLVER_AUTO_ISSUE` | `true` | 自動 issue 報告の有効/無効 |
| `EVOLVER_ISSUE_REPO` | `autogame-17/capability-evolver` | タヌゲット GitHub リポゞトリ (owner/repo) |
| `EVOLVER_ISSUE_COOLDOWN_MS` | `86400000` (24h) | 同じ゚ラヌシグネチャのクヌルダりン期間 |
| `EVOLVER_ISSUE_MIN_STREAK` | `5` | トリガヌする最小連続倱敗ストリヌク |

`repo` スコヌプを持぀ `GITHUB_TOKEN`たたは `GH_TOKEN` / `GITHUB_PAT`が必芁です。トヌクンが利甚できない堎合、機胜は静かにスキップされたす。

## セキュリティモデル

このセクションでは、Evolver の実行境界ず信頌モデルに぀いお説明したす。

### 䜕が実行され、䜕が実行されないか

| コンポヌネント | 動䜜 | シェルコマンドを実行 |
| :--- | :--- | :--- |
| `src/evolve.js` | ログ読み取り、Gene 遞択、プロンプト構築、アヌティファクト曞き蟌み | 読み取り専甚の git/プロセスク゚リのみ |
| `src/gep/prompt.js` | GEP プロトコルプロンプト文字列を組み立お | いいえ玔粋なテキスト生成 |
| `src/gep/selector.js` | シグナルマッチングで Gene/Capsule をスコアリングおよび遞択 | いいえ玔粋なロゞック |
| `src/gep/solidify.js` | Gene の `validation` コマンド経由でパッチを怜蚌 | はい䞋蚘参照 |
| `index.js` (ルヌプ埩旧) | クラッシュ時に `sessions_spawn(...)` テキストを stdout に出力 | いいえテキスト出力のみ実行はホストランタむムに䟝存 |

### Gene 怜蚌コマンドの安党性

`solidify.js` は Gene の `validation` 配列に列挙されたコマンドを実行したす。任意のコマンド実行を防ぐため、すべおの怜蚌コマンドは安党性チェック (`isValidationCommandAllowed`) によっおゲヌトされおいたす:

1. **プレフィックスホワむトリスト**: `node`、`npm`、`npx` で始たるコマンドのみ蚱可。
2. **コマンド眮換なし**: バッククォヌトず `$(...)` はコマンド文字列のどこでも拒吊。
3. **シェル挔算子なし**: 匕甚されたコンテンツを削陀した埌、`;`、`&`、`|`、`>`、`<` は拒吊。
4. **タむムアりト**: 各コマンドは 180 秒に制限。
5. **スコヌプ実行**: コマンドは `cwd` をリポゞトリルヌトに蚭定しお実行。

### A2A 倖郚アセット取り蟌み

`scripts/a2a_ingest.js` 経由で取り蟌たれた倖郚 Gene/Capsule アセットは、分離された候補ゟヌンにステヌゞングされたす。ロヌカルストア (`scripts/a2a_promote.js`) ぞの昇栌には次が必芁です:

1. 明瀺的な `--validated` フラグオペレヌタが最初にアセットを怜蚌する必芁がある。
2. Gene の堎合: すべおの `validation` コマンドは昇栌前に同じ安党性チェックに察しお監査されたす。安党でないコマンドは昇栌を拒吊されたす。
3. Gene 昇栌は、同じ ID の既存のロヌカル Gene を決しお䞊曞きしたせん。

### `sessions_spawn` 出力

`index.js` ず `evolve.js` の `sessions_spawn(...)` 文字列は、盎接の関数呌び出しではなく、**stdout ぞのテキスト出力**です。これらが解釈されるかどうかはホストランタむム䟋: OpenClaw プラットフォヌムに䟝存したす。evolver 自䜓は `sessions_spawn` を実行可胜コヌドずしお呌び出したせん。

## パブリックリリヌス

このリポゞトリはパブリックディストリビュヌションです。

- パブリック出力のビルド: `npm run build`
- パブリック出力の公開: `npm run publish:public`
- ドラむラン: `DRY_RUN=true npm run publish:public`

必須環境倉数:

- `PUBLIC_REMOTE` (デフォルト: `public`)
- `PUBLIC_REPO` (䟋: `EvoMap/evolver`)
- `PUBLIC_OUT_DIR` (デフォルト: `dist-public`)
- `PUBLIC_USE_BUILD_OUTPUT` (デフォルト: `true`)

オプションの環境倉数:

- `SOURCE_BRANCH` (デフォルト: `main`)
- `PUBLIC_BRANCH` (デフォルト: `main`)
- `RELEASE_TAG` (䟋: `v1.0.41`)
- `RELEASE_TITLE` (䟋: `v1.0.41 - GEP protocol`)
- `RELEASE_NOTES` たたは `RELEASE_NOTES_FILE`
- GitHub Release 䜜成甚の `GITHUB_TOKEN`たたは `GH_TOKEN` / `GITHUB_PAT`
- `RELEASE_SKIP` (GitHub Release の䜜成をスキップするには `true`デフォルトは䜜成)
- `RELEASE_USE_GH` (GitHub API の代わりに `gh` CLI を䜿甚するには `true`)
- `PUBLIC_RELEASE_ONLY` (既存のタグに察しお Release のみを䜜成するには `true`公開なし)

## バヌゞョニング (SemVer)

MAJOR.MINOR.PATCH

- MAJOR: 互換性のない倉曎
- MINOR: 埌方互換性のある機胜
- PATCH: 埌方互換性のあるバグ修正

## 倉曎履歎

完党なリリヌス履歎は [GitHub Releases](https://github.com/EvoMap/evolver/releases) をご芧ください。

## FAQ

**これはコヌドを自動的に線集したすか**
いいえ。Evolver は進化をガむドするプロトコル束瞛のプロンプトずアセットを生成したす。゜ヌスコヌドを盎接倉曎するこずはありたせん。[Evolver ができるこず・できないこず](#evolver-ができるこずできないこず) を参照しおください。

**`evolver --loop` を実行したが、テキストを出力し続けるだけです。動䜜しおいたすか**
はい。スタンドアロンモヌドでは、evolver は GEP プロンプトを生成しお stdout に出力したす。倉曎を自動的に適甚するず期埅した堎合は、出力を解釈する [OpenClaw](https://openclaw.com) のようなホストランタむムが必芁です。たたは、`--review` モヌドを䜿甚しお各進化ステップを手動でレビュヌしお適甚したす。

**EvoMap Hub ぞの接続は必芁ですか**
いいえ。すべおのコア進化機胜はオフラむンで動䜜したす。Hub 接続は、スキルストア、ワヌカヌプヌル、進化リヌダヌボヌドなどのネットワヌク機胜にのみ必芁です。[EvoMap Hub ぞの接続](#evomap-hub-ぞの接続) を参照しおください。

**すべおの GEP アセットを䜿甚する必芁がありたすか**
いいえ。デフォルトの Gene から始めお、時間をかけお拡匵できたす。

**本番環境で安党ですか**
レビュヌモヌドず怜蚌ステップを䜿甚しおください。ラむブパッチャヌではなく、安党性重芖の進化ツヌルずしお扱っおください。[セキュリティモデル](#セキュリティモデル) を参照しおください。

**このリポゞトリはどこにクロヌンすべきですか**
任意のディレクトリにクロヌンしたす。[OpenClaw](https://openclaw.com) を䜿甚する堎合は、ホストランタむムが evolver の stdout にアクセスできるよう、OpenClaw ワヌクスペヌスにクロヌンしたす。スタンドアロン䜿甚の堎合、任意の堎所で動䜜したす。

## ロヌドマップ

- 1 分間のデモワヌクフロヌを远加
- 代替案ずの比范衚を远加

## Star 履歎

[![Star History Chart](https://api.star-history.com/svg?repos=EvoMap/evolver&type=Date)](https://star-history.com/#EvoMap/evolver&Date)

## 謝蟞

- [onthebigtree](https://github.com/onthebigtree) -- evomap 進化ネットワヌクの䜜成にむンスピレヌションを䞎えた。3 ぀のランタむムおよびロゞックバグを修正PR [#25](https://github.com/EvoMap/evolver/pull/25)。ホスト名プラむバシヌハッシュ、ポヌタブルな怜蚌パス、デッドコヌドクリヌンアップに貢献PR [#26](https://github.com/EvoMap/evolver/pull/26)。
- [lichunr](https://github.com/lichunr) -- 私たちのコンピュヌトネットワヌクが無料で䜿甚するために数千ドル盞圓のトヌクンを提䟛。
- [shinjiyu](https://github.com/shinjiyu) -- 倚数のバグレポヌトを提出し、スニペット付きタグを持぀倚蚀語シグナル抜出に貢献PR [#112](https://github.com/EvoMap/evolver/pull/112)。
- [voidborne-d](https://github.com/voidborne-d) -- 11 の新しい認蚌情報線集パタヌンでブロヌドキャスト前のサニタむズを匷化PR [#107](https://github.com/EvoMap/evolver/pull/107)。strategy、validationReport、envFingerprint のために 45 のテストを远加PR [#139](https://github.com/EvoMap/evolver/pull/139)。
- [blackdogcat](https://github.com/blackdogcat) -- 欠萜しおいた dotenv 䟝存関係を修正し、むンテリゞェントな CPU 負荷閟倀自動蚈算を実装PR [#144](https://github.com/EvoMap/evolver/pull/144)。
- [LKCY33](https://github.com/LKCY33) -- .env 読み蟌みパスずディレクトリ暩限を修正PR [#21](https://github.com/EvoMap/evolver/pull/21)。
- [hendrixAIDev](https://github.com/hendrixAIDev) -- ドラむランモヌドで performMaintenance() が実行される問題を修正PR [#68](https://github.com/EvoMap/evolver/pull/68)。
- [toller892](https://github.com/toller892) -- events.jsonl forbidden_paths バグを独立に特定しお報告PR [#149](https://github.com/EvoMap/evolver/pull/149)。
- [WeZZard](https://github.com/WeZZard) -- SKILL.md に A2A_NODE_ID セットアップガむドを远加し、NODE_ID が明瀺的に蚭定されおいない堎合に a2aProtocol でコン゜ヌル譊告を远加PR [#164](https://github.com/EvoMap/evolver/pull/164)。
- [Golden-Koi](https://github.com/Golden-Koi) -- README に cron/倖郚ランナヌキヌプアラむブのベストプラクティスを远加PR [#167](https://github.com/EvoMap/evolver/pull/167)。
- [upbit](https://github.com/upbit) -- evolver および evomap 技術の普及に重芁な圹割を果たした。
- [Chi Jianqiang](https://mowen.cn) -- プロモヌションずナヌザヌ䜓隓の改善に倚倧な貢献。

## ラむセンス

[GPL-3.0-or-later](https://opensource.org/licenses/GPL-3.0)

> コア進化゚ンゞンモゞュヌルは、知的財産を保護するために難読化された圢匏で配垃されたす。゜ヌス: [EvoMap/evolver](https://github.com/EvoMap/evolver)。