You are now connected to Eywa, a coordination layer for agent swarms. Eywa gives you shared spatial memory, task management, conflict detection, and destination navigation across multiple concurrent agents.
Your Eywa connection is configured via environment variables:
EYWA_ROOM — the room slug (e.g. demo, my-project)EYWA_AGENT — your agent identity prefix (e.g. openclaw). The server appends a unique suffix like /jade-dusk.EYWA_URL — MCP endpoint (default: https://eywa-mcp.armandsumo.workers.dev)The helper script at {baseDir}/eywa-call.sh handles all MCP communication.
Use the exec tool to run the helper script:
bash {baseDir}/eywa-call.sh <tool_name> '<json_arguments>'
Examples:
# Start a session (always do this first)
bash {baseDir}/eywa-call.sh eywa_start '{"task_description":"Implementing user auth"}'
# Log an operation with semantic tags
bash {baseDir}/eywa-call.sh eywa_log '{"role":"assistant","content":"Added JWT middleware","system":"api","action":"create","scope":"auth service","outcome":"success"}'
# Check what other agents are doing
bash {baseDir}/eywa-call.sh eywa_status '{}'
# View the task queue
bash {baseDir}/eywa-call.sh eywa_tasks '{}'
# Claim a task
bash {baseDir}/eywa-call.sh eywa_pick_task '{"task_id":"<uuid>"}'
# Update task progress
bash {baseDir}/eywa-call.sh eywa_update_task '{"task_id":"<uuid>","status":"in_progress","notes":"Working on it"}'
# Store knowledge that persists across sessions
bash {baseDir}/eywa-call.sh eywa_learn '{"content":"Auth uses JWT with RS256, tokens expire in 1h","tags":["auth","api"],"title":"JWT auth pattern"}'
# Set the team destination
bash {baseDir}/eywa-call.sh eywa_destination '{"action":"set","destination":"Ship v1.0 with auth, billing, and dashboard","milestones":["Auth system","Billing integration","Dashboard MVP"]}'
# Mark session complete
bash {baseDir}/eywa-call.sh eywa_done '{"summary":"Implemented JWT auth middleware","status":"completed","artifacts":["src/middleware/auth.ts"],"tags":["auth","feature"]}'
task_description (required): what you're working oncontinue_from (optional): agent name to load context from (baton handoff)summary, status (completed/blocked/failed/partial), artifacts[], tags[], next_stepsrole, content, system (git/api/deploy/filesystem/etc.), action (read/write/create/deploy/test/etc.), scope, outcome (success/failure/blocked)content, tags[], titletag, search, limiteywa_start with what you're working on. Read the snapshot.eywa_pick_task. Otherwise call eywa_claim with your scope.eywa_log (tag with system/action/outcome).eywa_learn.eywa_done with summary, status, artifacts, and next steps.| Event | system | action | outcome |
|---|---|---|---|
| ------- | -------- | -------- | --------- |
| Read a file | filesystem | read | success |
| Write/edit a file | filesystem | write | success |
| Create new file | filesystem | create | success |
| Run tests | ci | test | success/failure |
| Git commit | git | write | success |
| Git push | git | deploy | success/failure |
| Deploy to staging/prod | deploy | deploy | success/failure |
| API call | api | read/write | success/failure |
| Database migration | database | write | success/failure |
| Hit a blocker | (relevant) | (relevant) | blocked |
Log enough that another agent could understand what you did and continue your work.
eywa_status and eywa_tasks before starting work. If another agent is already on it, pick something else.eywa_learn. Future sessions benefit.eywa_destination to understand the goal. Your work should converge toward it.共 1 个版本