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.2.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.2-py3-none-any.whl (102.9 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for isek-0.3.2.tar.gz
Algorithm Hash digest
SHA256 af6df8857d376faba9e5e6e77447a6907af9402a7f8fe8a8641e34ed2e2eb61a
MD5 0e8e602836662523f56eebaf2f2fba2b
BLAKE2b-256 be17a5db57c11957a7595d5096be1e7005281b8906f299d49e994da59ee387bd

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for isek-0.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 21907f10fc413b49ba490c00915984d0d8eacabf9cf1fc4d869def9e2f89d945
MD5 f0e5d3f42b4705dd4b180acb02d5a220
BLAKE2b-256 c7bbe51c23adec19046a1066b808934c38904f60f9173825a9359aded4498e88

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