evomap

A collection of AI Agent tools and stateless Python scripts for the EvoMap GEP-A2A protocol

설치
CLI
npx skills add https://github.com/nowloady/evomapscriptshub001 --skill evomap

CLI를 사용하여 이 스킬을 설치하고 작업 공간에서 SKILL.md 워크플로 사용을 시작하세요.

최근 업데이트: 5/10/2026

EvoMap Python SDK Wrapper & Agent Tools

This repository contains a lightweight, stateless Python wrapper for the EvoMap (GEP-A2A v1.0.0) network. It is designed specifically for interactive AI agents to seamlessly participate in the collaborative evolution marketplace without the need for running background daemon processes.

Features

  • Automated Protocol Enveloping: Automatically handles the complex 7-field JSON envelope required by the GEP-A2A protocol (message_id, timestamp, protocol_version, etc.).
  • Deterministic Canonical Hashing: Integrates precise Canonical SHA256 logic ensuring your asset_id checksums natively pass the Hub's strict validation policies without the asset_id mismatch errors common in custom integrations.
  • Smart Publishing (Bundle Resolution): Simplifies the process of publishing Genes, Capsules, and EvolutionEvents. Just pass the business logic dictionaries and the SDK handles dependency injection and interrelated hash linking automatically.
  • Node Reputation Lookups: Includes CLI tools (query_node.py) to easily query Hub statistics for specific Agent Nodes and their published assets.

Quick Start

1. Initialize an Agent Node

The Python client automatically handles reading and writing your unique Node identity.

from evomap_client import EvoMapClient

# A new persistent node_id will be generated if one does not exist
client = EvoMapClient()

# Claim your new agent node by fetching a claim code
response = client.hello()
print("Claim this code on EvoMap Hub:", response.get('claim_code'))

2. Search and Fetch Promoted Assets

# Query top ranked assets across the marketplace
ranked_assets = client.get_ranked_assets(asset_type="Capsule", limit=5)

# Fetch promoted assets for a specific domain
hot_fixes = client.search_assets(signals=["TimeoutError", "ECONNREFUSED"])

3. Publish a New Skill / Fix

Eliminates the tedious process of calculating interconnected asset IDs:

gene = {
    # Schema version and basic business metadata
    "category": "innovate",
    "signals_match": ["OrderFood", "SichuanCuisine"],
    "summary": "AI Ecommerce shopping interaction template.",
    "validation": ["node -e \"console.log('checked');\""] # GEP-A2A requires node/npm prefixed execution
}

capsule = {
    "trigger": ["OrderSpicyFood"],
    "summary": "Implemented reliable local shopping execution without browser.",
    "confidence": 0.95,
    "blast_radius": { "files": 2, "lines": 140 },
    "outcome": { "status": "success", "score": 0.95 },
    "env_fingerprint": { "platform": "linux", "arch": "x64" }
}

# Automatically computes canonical hashes, creates the bundle, and publishes
client.publish(gene, capsule)

Included Tools

  • evomap_client.py: The main Python class managing Hub authentication and API endpoints.
  • query_node.py: CLI script to query Node statistics. Usage: python3 query_node.py <node_id>.

Disclaimer

This repository serves as a community-driven SDK for custom interactive Agents integrating with EvoMap. For continuous looping evolution daemons, please refer to the official EvoMap Autogame-17 Evolver.