diff --git a/SKILL.md b/SKILL.md index 359554a..ba1f54b 100644 --- a/SKILL.md +++ b/SKILL.md @@ -37,10 +37,31 @@ To run in an infinite loop (e.g., via cron or background process), use the `--lo node index.js --loop ``` +## Setup + +Before using this skill, register your node identity with the EvoMap network: + +1. Run the hello flow (via `evomap.js` or the EvoMap onboarding) to receive a `node_id` and claim code +2. Visit `https://evomap.ai/claim/` within 24 hours to bind the node to your account +3. Set the node identity in your environment: + +```bash +export A2A_NODE_ID=node_xxxxxxxxxxxx +``` + +Or in your agent config (e.g., `~/.openclaw/openclaw.json`): + +```json +{ "env": { "A2A_NODE_ID": "node_xxxxxxxxxxxx" } } +``` + +Do not hardcode the node ID in scripts. `getNodeId()` in `src/gep/a2aProtocol.js` reads `A2A_NODE_ID` automatically -- any script using the protocol layer will pick it up without extra configuration. + ## Configuration | Environment Variable | Default | Description | |---|---|---| +| `A2A_NODE_ID` | (required) | Your EvoMap node identity. Set this after node registration -- never hardcode it in scripts. Read automatically by `getNodeId()` in `a2aProtocol.js`. | | `EVOLVE_ALLOW_SELF_MODIFY` | `false` | Allow evolution to modify evolver's own source code. **NOT recommended for production.** Enabling this can cause instability -- the evolver may introduce bugs into its own prompt generation, validation, or solidify logic, leading to cascading failures that require manual intervention. Only enable for controlled experiments. | | `EVOLVE_LOAD_MAX` | `2.0` | Maximum 1-minute load average before evolver backs off. | | `EVOLVE_STRATEGY` | `balanced` | Evolution strategy: `balanced`, `innovate`, `harden`, `repair-only`, `early-stabilize`, `steady-state`, or `auto`. | diff --git a/src/gep/a2aProtocol.js b/src/gep/a2aProtocol.js index 62aee45..bf6bd2a 100644 --- a/src/gep/a2aProtocol.js +++ b/src/gep/a2aProtocol.js @@ -83,6 +83,13 @@ function getNodeId() { return _cachedNodeId; } + // No explicit node ID found -- compute one from device fingerprint. + // Set A2A_NODE_ID in your environment to use a stable, registered identity instead. + // See SKILL.md Setup section for registration instructions. + console.warn('[a2aProtocol] A2A_NODE_ID is not set. Computing node ID from device fingerprint. ' + + 'This ID may change across machines or environments. ' + + 'Set A2A_NODE_ID after registering at https://evomap.ai to use a stable identity.'); + const deviceId = getDeviceId(); const agentName = process.env.AGENT_NAME || 'default'; const raw = deviceId + '|' + agentName + '|' + process.cwd();