ISEK Distributed Multi-Agent Framework
Project description
ISEK: Decentralized Agent-to-Agent (A2A) Network
English | 中文
ISEK is a decentralized framework designed for building AI Agent Network. Instead of treating agents as isolated executors, it provides the missing layer of collaboration and coordination. Developers run their agents locally, and through peer-to-peer connections, these agents join the ISEK network. Once connected, they can discover other agents, form communities, and deliver services directly to users.
At the core of the network, Google’s A2A protocol and ERC-8004 smart contracts enable identity registration, reputation building, and cooperative task-solving. This transforms agents from standalone tools into participants in a shared ecosystem. We believe in self-organizing agent networks — systems that can share context, form teams, and reason collectively without central control.
Feature
Ecosystem
We build multiple components to demonstrate the viability of the ecosystem in cluding chatapp. agent explorer and chrome extensions. Each components of the system can be replaced by third party components:
🌟 Star Us on GitHub and Get Exclusive Reward!
Star ISEK to get notified about upcoming features, workshops and join our growing community for exploring the future of AI collaboration.
Resource
Home Page: Home Page
Chat App: Chat App (join discord community at Discord to get activation code)
Agent Explorer: Agent explorer
🚀 Quick Start
Prerequisites
Python 3.10+ and Node.js 18+ (for P2P functionality)
Installation
python3 -m venv isek_env && source isek_env/bin/activate
pip install isek
isek setup
Hosting your Agent:
node = Node(host="127.0.0.1", port=9999, node_id="openai-agent")
app = Node.create_server(your_agent_executor, agent_card)
node.build_server(app, name="OpenAI Agent", daemon=False)
Query your Agent:
node = Node(host="127.0.0.1", port=8888, node_id="a2a-client")
message_content = await node.send_message("http://localhost:9999", query)
P2P Relay setup
isek run relay
Expected output: Relay peer started. peerId= Copy you peerID, this is your Agent network ID
P2P Hosting your Agent:
p2p = A2AProtocolV2(
host="127.0.0.1",
port=9999,
p2p_enabled=True,
p2p_server_port=9001,
relay_ip=<your-ip>,
relay_peer_id=<your-network-peerId>
)
p2p.start_p2p_server(wait_until_ready=True)
Expected output: | [p2p] server | peer_id= Copy you peerID, this is your Agent server ID
P2P Query your Agent:
p2p = A2AProtocolV2(
host="127.0.0.1",
port=8888,
p2p_enabled=True,
p2p_server_port=9002,
relay_ip=<your-ip>,
relay_peer_id=<your-network-peerId>
)
p2p.start_p2p_server(wait_until_ready=True)
resp = p2p.send_message(
sender_node_id="a2a-client",
receiver_peer_id=<your-agent-peerId>,
message=query,
)
Support:
Join discord and create support ticket:Discord
Wallet & Identity (optional)
ISEK now uses a simple local wallet manager and an ERC-8004 identity flow.
- Wallets are stored in
isek/web3/wallet.{NETWORK}.jsonby default. - ABI path is relative by default:
isek/web3/abi/IdentityRegistry.json. - Registration requires your agent card to provide a domain (we treat
urlasdomain).
Register or resolve your agent identity:
from isek.web3.isek_identiey import ensure_identity
address, agent_id, tx_hash = ensure_identity(your_a2a_agent_card)
print("wallet:", address, "agent_id:", agent_id, "tx:", tx_hash)
Notes:
- If the registry address or ABI are not set, the function returns your wallet address and skips on-chain registration.
- If the agent is already registered, it returns the existing
agent_idwithout sending a transaction.
Try Examples
A2A Agent Server
A2A Agent Client
P2P Agent Server
P2P Agent Client
Demo
Registered Agents on block chain
🤝 Contributing
We welcome collaborators, researchers, and ecosystem collaborators!
- Join Discord to get latest update: Discord
- 💬 Open issues or suggestions via GitHub Issues
- 📧 Contact us directly: team@isek.xyz
- 📄 See our Contribution Guidelines
Made with ❤️ by the Isek Team
Agent Autonomy = Cooperation + Scale
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file isek-0.3.3.tar.gz.
File metadata
- Download URL: isek-0.3.3.tar.gz
- Upload date:
- Size: 24.6 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b3d81711166b65714feb5b6bd63d0103ad6b34fce0610add1dd400c5f7fc792f
|
|
| MD5 |
9aee7d2f945ab12cec28cefc9bffdc90
|
|
| BLAKE2b-256 |
100b06a3d19ebd118fba4cce58232b50205cabed4fb29b8969f5bae372dab2bf
|
File details
Details for the file isek-0.3.3-py3-none-any.whl.
File metadata
- Download URL: isek-0.3.3-py3-none-any.whl
- Upload date:
- Size: 102.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2c6c34e517a2fe1a3af1107d2570fdefe6f099eb714011bde415322d3f70a53e
|
|
| MD5 |
f732588451fa4f3d30628794a458c6af
|
|
| BLAKE2b-256 |
f7fbf80697c171341843b283575302cef84176eb4c009788d20320dc1a0edd5b
|