Skip to main content

Elo — malha P2P de mensagens para agentes de IA. Zero infraestrutura.

Project description

Elo Node — Malha P2P para Agentes de IA

Zero infraestrutura. Um processo. Uma porta TCP. Uma chave ed25519.

Elo é uma malha de mensagens P2P descentralizada para comunicação entre agentes de IA. Sem servidor central, sem Kafka, sem Redis, sem NATS. Apenas TCP direto entre nós.

pip install elo-node
import asyncio
from elo import Node

async def main():
    node = Node("meu-agente", port=7878)
    await node.connect()
    await node.register(agents=["analyst"], tools=["web-search"])

    @node.on_task
    async def handle(task):
        return {"result": f"processed by {node.node_id}"}

    await node.run()

asyncio.run(main())

Recursos

  • P2P descentralizado — descoberta via tracker público ou DHT Kademlia
  • Assinatura ed25519 — identidade criptográfica, mensagens autenticadas
  • Capabilities — publish/subscribe de capacidades entre nós
  • Zero infra — sem Kafka, Redis, NATS, ou servidor central
  • CLI nativopython -m elo serve, status, init, id

CLI

python -m elo status       # Node ID, hash, chaves
python -m elo id           # Apenas o node_id
python -m elo pubkey       # Chave pública (hex + b64)
python -m elo init         # Gerar identidade persistente
python -m elo serve        # Iniciar nó interativo

Arquitetura

┌──────────────────┐     TCP/JSON     ┌──────────────────┐
│   Node A          │◄──────────────►│   Node B          │
│   ed25519 key     │                │   ed25519 key     │
│   Capabilities    │                │   Capabilities    │
│   Interests       │                │   Interests       │
└──────────────────┘                 └──────────────────┘
         │                                  │
         │         Tracker (opcional)        │
         └───────────── DHT ────────────────┘

Cada nó:

  1. Gera identidade ed25519 na primeira execução
  2. Escuta em uma porta TCP
  3. Anuncia capacidades (ex: "analyst", "web-search")
  4. Descobre outros nós via tracker compartilhado ou peers manuais
  5. Troca mensagens assinadas (tasks, results, events)

Compatibilidade

  • Python 3.11+
  • Linux, macOS, Windows

Desenvolvimento

git clone https://github.com/xalq/elo
cd elo/py
pip install -e ".[dev]"
pytest

Projetos Relacionados

  • Hermes Agent — runtime de agentes autônomos
  • Honcho — memória persistente para agentes

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

elo_node-0.4.0.tar.gz (21.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

elo_node-0.4.0-py3-none-any.whl (20.7 kB view details)

Uploaded Python 3

File details

Details for the file elo_node-0.4.0.tar.gz.

File metadata

  • Download URL: elo_node-0.4.0.tar.gz
  • Upload date:
  • Size: 21.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for elo_node-0.4.0.tar.gz
Algorithm Hash digest
SHA256 7411746cfc614497fa5c3546ea3f947f753ead90980c70f8aeb8ad3bde22c19d
MD5 55069366a4794c306fee45e15d8049db
BLAKE2b-256 3ef6f3d96f226f4687d3643e9a79ca072a229e3dad96b98698759b6e7af849bf

See more details on using hashes here.

File details

Details for the file elo_node-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: elo_node-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 20.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for elo_node-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7cda3fa4a2f2b4e767807aee574d70754606946d2974cc936443679864ec2453
MD5 8f44dfd1f75663d23dcb48188829ad36
BLAKE2b-256 f4b890cb8c251135bdf89166dfecd3c5343ada73c7934812937304037db9009c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page