Skip to main content

ISEK Distributed Multi-Agent Framework

Project description

ISEK Banner

ISEK: Decentralized Agent-to-Agent (A2A) Network

PyPI version License: MIT Email

English | ไธญๆ–‡


ISEK is a decentralized agent network framework for building intelligent, collaborative agent-to-agent (A2A) systems. The Isek network integrates the Google A2A protocol and ERC-8004 contracts to enable identity registration, reputation building, and cooperative task-solving. Together, these elements form a self-organizing, decentralized society of agents.

๐Ÿงช ISEK is under active development. Contributions, feedback, and experiments are highly welcome.


What problem ISEK solve?

Our platform allows agent developers to run their agents locally. Through peer-to-peer connections, these agents join the ISEK network and can deliver services directly to users. While most frameworks treat agents as isolated agent executors, ISEK focuses on the missing layer: decentralized agent collaboration and coordination. We believe the future of intelligent systems lies in self-organizing agent networks capable of context sharing, team formation, and collective reasoning โ€” all without central control.

ISEK is not just about running agents โ€” it's about empowering them to find each other, reason together, and act as a decentralized system.

Why ERC-8004 matters?

ERC-8004 provides a decentralized framework for identity, reputation, and validation registries, establishing the foundation for trustless verification and reputation management.

๐ŸŒŸ Features

  • **๐Ÿง  Decentralized Cooperation Using the ERC-8004 trustless Agent Contract as our registry, we provide decentralized identity, reputation, and validation services. Agents can discover peers and collaborate directly โ€” with no single point of failure.

  • **๐ŸŒ Distributed Deployment Agent owners can run their agents 100% locally, mint an Agent NFT, and use an agent wallet to claim full ownership and control.

  • **๐Ÿ”Œ MCP-Based Agent Discovery Our map server connects to the agent discovery service, making it easy for users to find agents. Configure the MCP service once, and you can access agents directly through your favorite AI chatbot.

  • **๐Ÿ’ป Developer-Friendly CLI A streamlined CLI makes agent setup, deployment, and management fast and hassle-free.


๐Ÿš€ Quick Start

python3 -m venv isek_env && source isek_env/bin/activate

Installation

pip install isek
isek setup

Prerequisites

  • Python 3.10+
  • Node.js 18+ (for P2P functionality)

๐Ÿ’ก Tip: The isek setup command automatically handles both Python and JavaScript dependencies.

Set Up Environment

Create a .env file:

OPENAI_MODEL_NAME=gpt-4o-mini
OPENAI_BASE_URL=https://api.openai.com/v1
OPENAI_API_KEY=your_api_key

Wallet & Identity

ISEK now uses a simple local wallet manager and an ERC-8004 identity flow.

  • Wallets are stored in isek/web3/wallet.{NETWORK}.json by default.
  • ABI path is relative by default: isek/web3/abi/IdentityRegistry.json.
  • Registration requires your agent card to provide a domain (we treat url as domain).

Add these keys to your .env (adjust for your network):

# Network and chain
NETWORK=base-sepolia
ISEK_RPC_URL=https://sepolia.base.org
ISEK_CHAIN_ID=84532

# Identity contract
ISEK_IDENTITY_REGISTRY_ADDRESS=0xYourRegistryAddress
ISEK_IDENTITY_ABI_PATH=isek/web3/abi/IdentityRegistry.json

# Optional
ISEK_NETWORK_NAME=ISEK test network
ISEK_MAX_PRIORITY_FEE_GWEI=1
ISEK_EXPLORER_TX_URL_TEMPLATE=https://sepolia.basescan.org/tx/{tx_hash}
# Override wallet file location if needed
# ISEK_WALLET_DATA_FILE=isek/web3/wallet.base-sepolia.json

Register or resolve your agent identity:

from isek.web3.isek_identiey import ensure_identity

# Any object with .name and .domain (or .url) works
agent_card = type("Card", (), {"name": "My Agent", "domain": "http://agent.isek.xyz"})()

address, agent_id, tx_hash = ensure_identity(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_id without sending a transaction.

Launch Agent

from isek.agent.isek_agent import IsekAgent
from isek.models.openai import OpenAIModel
import dotenv
dotenv.load_dotenv()

agent = IsekAgent(
    name="My Agent",
    model=OpenAIModel(model_id="gpt-4o-mini"),
    description="A helpful assistant",
    instructions=["Be polite", "Provide accurate information"],
    success_criteria="User gets a helpful response"
)

response = agent.run("hello")

Try Examples

In the examples folder, follow the examples from level 1 to level 10, and you should have a good understanding of ISEK


๐Ÿงช CLI Commands

isek setup       # Install Python and JavaScript dependencies
isek clean       # Clean temporary files
isek --help      # View available commands

๐Ÿงฑ Project Structure

isek/
โ”œโ”€โ”€ examples                   # Sample scripts demonstrating Isek usage
โ”œโ”€โ”€ isek                       # Core functionality and modules
โ”‚   โ”œโ”€โ”€ agent                  # Agent logic and behavior
โ”‚   โ”œโ”€โ”€ node                   # Node orchestration
โ”‚   โ”œโ”€โ”€ protocol               # Inter-Agent communication Protocol Layer
โ”‚   โ”œโ”€โ”€ memory                 # Agent state and context
โ”‚   โ”œโ”€โ”€ models                 # LLM backends and interfaces
โ”‚   โ”œโ”€โ”€ team                   # Multi-Agent Organization Interface
โ”‚   โ”œโ”€โ”€ tools                  # The toolkit library for Agents
โ”‚   โ”œโ”€โ”€ utils                  # Utility functions
โ”‚   โ”œโ”€โ”€ cli.py                 # CLI entry point
โ”‚   โ””โ”€โ”€ isek_center.py         # Local registry and coordinator
โ”œโ”€โ”€ docs/                      # Documentation
โ””โ”€โ”€ README.md                  # Project overview and documentation

๐ŸŒŸ Star Us ๐Ÿ˜‰

hippo

๐Ÿค Contributing

We welcome collaborators, researchers, and early adopters!


๐Ÿ“œ License

Licensed under the MIT License.


โš ๏ธ Legal Notice

ISEK is an open-source, permissionless framework for building decentralized agent coordination systems.
The contributors do not operate, control, or monitor any deployed agents or their behavior.
By using this project, you accept full responsibility for your actions. See LEGAL.md for more details.


Made with โค๏ธ by the Isek Team
Autonomy is not isolation. It's cooperation, at scale.

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

isek-0.3.0.tar.gz (6.7 MB view details)

Uploaded Source

Built Distribution

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

isek-0.3.0-py3-none-any.whl (185.5 kB view details)

Uploaded Python 3

File details

Details for the file isek-0.3.0.tar.gz.

File metadata

  • Download URL: isek-0.3.0.tar.gz
  • Upload date:
  • Size: 6.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.2

File hashes

Hashes for isek-0.3.0.tar.gz
Algorithm Hash digest
SHA256 5bd56fa2e910441eee79a4e80f42974f2afa55ea1e21d0fea769daf071d0eade
MD5 5437ca7f27fe782e9e6596ba75f6debd
BLAKE2b-256 dbe2145458c48f242a633929662e824d55b5ae89688556970ba95826602f5bde

See more details on using hashes here.

File details

Details for the file isek-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: isek-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 185.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.2

File hashes

Hashes for isek-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6ba264177d696023ac9015ca02d5129b3941b9cc9381879f5d1c67bfa2d523df
MD5 da665e1eae44cc4320c2dbd0768c93ec
BLAKE2b-256 9d7b5a94481d3b6d25e304c66cc2c7f558fff448a82c784fb3f5b228d097e5c7

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