Installation

Install the NETWORQIX SDK for your preferred language. A running bus instance is required — use our cloud sandbox or self-host with Docker.

# Python pip install networqix # TypeScript / Node.js npm install @networqix/sdk # Go go get github.com/networqix/sdk-go # Start local bus (Docker) docker run -p 4222:4222 networqix/bus:latest

Quick Start

Connect two agents and send a message in under 30 lines of code.

from networqix import Agent, Bus # Connect to the bus bus = Bus.connect("nqx://localhost:4222") # Create an agent agent = Agent( bus=bus, name="researcher", capabilities=["web_search", "summarize"] ) # Subscribe to tasks @agent.on("tasks.research") async def handle_research(msg): result = await search_and_summarize(msg.payload) await msg.reply(result) # Publish a task from another agent await bus.publish("tasks.research", { "query": "Latest advances in multi-agent RL" })

Core Concepts

Bus: The central communication hub. All agents connect to a bus instance (or cluster). Messages are routed through the bus — agents never communicate directly.

Agent: A registered participant on the bus with a name, capabilities, and message handlers. Agents can be long-running services or ephemeral task workers.

Topic: A named channel for messages (e.g., tasks.research, state.shared). Supports wildcards and hierarchical namespacing.

Context Pipeline: A specialized transport for large payloads. Automatically chunks, compresses, and reassembles context data between agents.

Messaging Patterns

NETWORQIX supports multiple messaging patterns out of the box:

# Pub/Sub — broadcast to all subscribers await bus.publish("events.agent.ready", payload) # Request/Reply — send and wait for response response = await bus.request("tasks.analyze", payload, timeout="5s") # Fan-Out — parallel dispatch to multiple agents results = await bus.fanout("tasks.review", payload, agents=["reviewer-1", "reviewer-2"])

State Synchronization

Share mutable state across agents with CRDT-backed synchronization. No locks, no conflicts — eventual consistency at wire speed.

# Create shared state state = bus.state("project-alpha", schema=ProjectSchema) # Read and update from any agent state.tasks.append({"id": "task-42", "status": "pending"}) await state.commit() # Subscribe to changes @state.on_change async def on_update(diff): print(f"State updated: {diff}")

Deployment

For production deployments, we recommend running a 3-node bus cluster with persistent storage. See our Architecture page for topology options.

# Kubernetes with Helm helm repo add networqix https://charts.networqix.com helm install nqx networqix/bus --set replicas=3 # Environment variables export NQX_URL=nqx://bus.networqix.internal:4222 export NQX_API_KEY=your-api-key