AgentBus
The Zero-Daemon, SQLite-Backed Event Bus & Visual Cockpit for Multi-Agent Coding.
When Cursor, Claude Desktop, Antigravity, terminal bots (Hermes, Aider), and custom Python scripts work together in the same workspace, coordinating them usually devolves into messy, append-only log.md files or heavy cloud dashboards.
AgentBus gives your AI agents a fast, typed, local pub/sub highway backed by a single SQLite file (.agentbus/events.db) and gives you an interactive God View Mission Control TUI to watch every handoff, trace execution lineage, and approve dangerous actions in real time.
⚡ 30-Second Quickstart (The "Ah-Ha" Moment)
You don't need complex configurations or Docker daemons to see AgentBus in action.
1. Install
# Fastest: Installs AgentBus and configures your path automatically
curl -sSL https://raw.githubusercontent.com/onicarps/agentbus/main/install.sh | bash
(Or via package manager: pip install okf-agentbus or pipx install okf-agentbus — the interactive TUI monitor is bundled out-of-the-box!)
2. Launch the Visual Monitor (Terminal A)
agentbus monitor
(Or use the standalone command: agentbus-monitor)
You are now in the God View TUI dashboard:
- Live Event Stream: Watch real-time multi-agent activity as it occurs.
- Trace Waterfall: Inspect
trace_idlineage and parent-span relationships. - HITL Approvals: Review pending approvals with one-keystroke hotkeys (
[a]approve /[r]reject).
3. Send Your First Message (Terminal B)
Open another terminal in the same folder and publish a handoff event:
agentbus publish \
--topic okf/handoff \
--payload '{"from":"cursor","to":"claude","summary":"Added auth endpoints; please review and write tests."}'
👉 Look back at Terminal A: the event immediately pops up on your monitor!
🛠️ Why AgentBus?
| Approach | Limitations | How AgentBus Solves It |
|---|---|---|
Shared log.md file |
Race conditions, zero schemas, no delivery guarantees, unsearchable history | Typed topics, monotonic event IDs, SQLite transactional integrity, advisory file locks |
| Cloud SaaS (e.g. LangSmith) | Latency, cloud data egress, vendor lock-in, heavy setup for local development | 100% local SQLite storage, zero cloud egress by default, instant startup |
| Heavy Brokers (Redis, Kafka) | Background daemon requirements, port collisions, Docker overhead | Zero daemons: embedded SQLite sidecar per project directory (.agentbus/events.db) |
| Framework Runtimes (LangGraph, CrewAI) | Locked into a single Python runtime or process | Connects heterogeneous agents across IDEs (Cursor, Claude Desktop), CLI tools, and scripts via standard MCP and CLI |
📦 Fresh Boot & Installation Guide
AgentBus requires Python 3.11+. The God View interactive monitor (rich + textual) is installed automatically with the base package.
Option A: 1-Line Universal Installer (Recommended for fresh systems)
Handles fresh boots, non-root environments, and Linux PEP 668 (externally-managed-environment) automatically:
curl -sSL https://raw.githubusercontent.com/onicarps/agentbus/main/install.sh | bash
Option B: Standalone CLI Tool (pipx or uv)
If you prefer isolated CLI tools without creating project virtual environments:
# Using uv (fastest)
uv tool install okf-agentbus
# Using pipx
pipx install okf-agentbus
Option C: In an existing virtual environment
If you have an active project virtual environment (.venv):
pip install -U okf-agentbus
💡 Troubleshooting "Python / Virtual Environment" Issues: On modern Linux (Ubuntu 24.04+, Debian 12+) and macOS Homebrew, system Python restricts bare
pip installto protect OS packages (PEP 668). If you seeerror: externally-managed-environment, either run the 1-linecurlinstaller above (which creates an isolated tool runtime in~/.local/share/agentbus/venvand symlinks to~/.local/bin/agentbus) or usepipx install okf-agentbus.
🔌 Connecting Your AI Coding Agents
AgentBus speaks standard Model Context Protocol (MCP) over stdio as well as standard CLI commands.
1-Click Auto-Configuration
Navigate to your project workspace and run:
agentbus init --apply --producer-id my-agent
AgentBus scans for installed tools (Cursor, Claude Desktop, Antigravity) and automatically generates the necessary MCP configuration!
Manual IDE Configurations
For Cursor (~/.cursor/mcp.json or .cursor/mcp.json)
{
"mcpServers": {
"agentbus": {
"command": "agentbus",
"args": ["mcp-serve"],
"env": {
"AGENTBUS_WORKSPACE": "/path/to/your/project",
"AGENTBUS_PRODUCER_ID": "cursor"
}
}
}
}
For Claude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"agentbus": {
"command": "agentbus",
"args": ["mcp-serve"],
"env": {
"AGENTBUS_WORKSPACE": "/path/to/your/project",
"AGENTBUS_PRODUCER_ID": "claude"
}
}
}
}
Once connected, your AI agents will automatically see tools like:
agentbus_publish— publish task updates, handoffs, and questions.agentbus_poll— check for incoming assignments.agentbus_lock_acquire/agentbus_lock_release— prevent file edit collisions.
💡 Practical Examples for Beginners & Intermediates
Example 1: CLI Coordination (Zero Code)
Simulate two agents working together directly from the shell:
# Agent A publishes a completed task:
agentbus publish \
--topic okf/handoff \
--payload '{"from":"alice","to":"bob","summary":"Refactored database models"}'
# Agent B polls for new tasks:
agentbus poll --topic okf/handoff --since-id 0
Example 2: Python Script (Publishing & Polling)
Integrate any custom Python agent or bot in 5 lines:
from pathlib import Path
from agentbus.rbac import ensure_default_roles
from agentbus.store import EventStore
# Connect to current project workspace
workspace = Path.cwd()
ensure_default_roles(workspace) # install the local role policy first
store = EventStore(workspace)
# Publish an event
event, _ = store.publish(
topic="okf/handoff",
producer_id="codex",
schema_version="1.0",
payload={"from": "codex", "to": "all", "summary": "Job completed successfully"},
)
print(f"Published event #{event.event_id}")
# Poll new events
messages = store.poll("okf/handoff", since_id=0)
for ev in messages["events"]:
print(f"[{ev['event_id']}] {ev['payload']['summary']}")
store.close()
Example 3: Human-in-the-Loop (HITL) Safety Intercepts
Catch dangerous AI operations (e.g. database migrations, shell scripts, deletions) before they execute:
# 1. Register an intercept rule: any handoff containing 'DROP' requires human approval
agentbus config set-intercept --topic okf/handoff --contains "DROP" --ttl-minutes 30
# 2. When an agent tries to publish:
agentbus publish \
--topic okf/handoff \
--payload '{"from":"agent","to":"db","summary":"DROP TABLE users"}'
# => Status becomes: PENDING_APPROVAL
# 3. View and approve/reject it in the TUI:
agentbus monitor
# Press [A] to approve or [R] to reject!
Example 4: Preventing File Collisions with Advisory Locks
When multiple agents write code at the same time, they can accidentally overwrite each other. Use advisory leases:
# Agent 1 locks a file before editing:
agentbus lock acquire --resource src/models.py --owner-id agent-1 --ttl 300
# Agent 2 checks lock status:
agentbus lock status --resource src/models.py
# Agent 1 releases the lock when finished:
agentbus lock release --resource src/models.py --owner-id agent-1 --lease-id <LEASE_ID>
Example 5: 1-Click Multi-Agent Swarm (agentbus up)
Instead of opening 5 terminal windows, orchestrate your agents, file watchers, and monitor together:
# 1. Generate default .agentbus/swarm.yaml
agentbus up --init
# 2. Start the swarm (daemons + God View monitor)
agentbus up
# 3. Check running background workers
agentbus ps
# 4. Tear down the swarm cleanly
agentbus down
📚 Complete Examples Catalog
Check out the examples/ folder for fully isolated, executable Python scripts:
01_core_pub_sub.py— Fundamental publish and poll flow.02_hitl_intercepts.py— Catching sensitive payloads for human sign-off.03_swarm_rbac.py— Swarm role-based topic permissions and identity tokens.04_sla_timeouts.py— Automated dead-letter routing when an agent ghosts.05_observability.py— Distributed trace waterfall lineage (trace_id,parent_span_id).06_distributed_context.py— Sharing large artifacts/diffs via content hashing.07_pydantic_schemas.py— Validating topic payloads with Pydantic models.08_god_view.py— Passive OS filesystem, shell, and MCP call observation.09_langgraph_bridge.py— A LangGraph-node handoff skeleton.10_crewai_bridge.py— A CrewAI-task handoff skeleton.
See the Examples Guide for full documentation on each recipe.
⌨️ CLI Cheat Sheet
| Command | What it does |
|---|---|
agentbus monitor |
Launch the interactive God View TUI dashboard (agentbus-monitor also works) |
agentbus publish --topic <t> --payload '<json>' |
Publish an event to the local SQLite bus |
agentbus poll --topic <t> [--since-id <id>] |
Read published events from the bus |
agentbus init --apply --producer-id <id> |
Auto-discover MCP configs for Cursor/Claude/Antigravity |
agentbus doctor |
Run non-destructive diagnostic checks on SQLite, schema, and environment |
agentbus lock acquire --resource <path> |
Acquire an exclusive lease/lock on a file or resource |
agentbus lock release --resource <path> |
Release a previously held lease |
agentbus config set-intercept --topic <t> |
Create Human-in-the-Loop approval rules |
agentbus up |
Boot multi-agent swarm services declared in swarm.yaml |
agentbus ps |
View active swarm background services |
agentbus down |
Terminate all active swarm processes |
📖 Deep-Dive Documentation
- End-to-End Walkthrough (Alice, Bob, & Charlie)
- Model Context Protocol (MCP) Tool Schema
- AgentID Security Model & Identity System
- Client Compatibility Matrix
- PostHog Outbound Telemetry
- Release Runbook & Process
- Roadmap
📄 License
MIT — see LICENSE.
Metadata
Release files for okf-agentbus 0.24.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| okf_agentbus-0.24.0.tar.gz | 354.6 kB | Details |
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| okf_agentbus-0.24.0-py3-none-win_amd64.whl | Python 3 | none | Windows x86-64 | Details |
| okf_agentbus-0.24.0-py3-none-manylinux2014_x86_64.whl | Python 3 | none | Linux glibc 2.17+ x86-64 | Details |
| okf_agentbus-0.24.0-py3-none-manylinux2014_aarch64.whl | Python 3 | none | Linux glibc 2.17+ ARM64 | Details |
| okf_agentbus-0.24.0-py3-none-macosx_11_0_x86_64.whl | Python 3 | none | macOS 11.0+ x86-64 | Details |
| okf_agentbus-0.24.0-py3-none-macosx_11_0_arm64.whl | Python 3 | none | macOS 11.0+ ARM64 | Details |
Total release size: 35.1 MB
Release files / okf_agentbus-0.24.0.tar.gz
| Download URL | okf_agentbus-0.24.0.tar.gz |
|---|---|
| Size | 354.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
bf99ec8c900616d34163a6b54d6f9b535ac7428725587aa4f9f7a5f38fda1e2c
|
|
BLAKE2b-256 checksum How to use checksums |
dd58b0be653b0d4cf82649c8686d3f6eb7ead700db65e0023f50af81fa0688f2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.13
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 29, 2026.
Transparency logRelease files / okf_agentbus-0.24.0-py3-none-win_amd64.whl
| Download URL | okf_agentbus-0.24.0-py3-none-win_amd64.whl |
|---|---|
| Size | 7.2 MB |
| Tags | Python 3 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
7331c64193335ea242e5df9033bd346434a15c7d10e7fab7a5cd77eb776041c5
|
|
BLAKE2b-256 checksum How to use checksums |
b76b9bad81da953c4fb9b519f959cbf8db535983bc8e1313cccb430254d31543
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.13
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 29, 2026.
Transparency logRelease files / okf_agentbus-0.24.0-py3-none-manylinux2014_x86_64.whl
| Download URL | okf_agentbus-0.24.0-py3-none-manylinux2014_x86_64.whl |
|---|---|
| Size | 7.1 MB |
| Tags | Linux glibc 2.17+ x86-64 Python 3 |
|
SHA-256 checksum How to use checksums |
4b8499bb73c96f7c48237d41d97cc3abf9246b0884f894857d818994ee43a146
|
|
BLAKE2b-256 checksum How to use checksums |
abe3d31579f8c12188fea460c20ec9a1b79703eb7dd1dff42459e0fb111bffb6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.13
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 29, 2026.
Transparency logRelease files / okf_agentbus-0.24.0-py3-none-manylinux2014_aarch64.whl
| Download URL | okf_agentbus-0.24.0-py3-none-manylinux2014_aarch64.whl |
|---|---|
| Size | 6.5 MB |
| Tags | Linux glibc 2.17+ ARM64 Python 3 |
|
SHA-256 checksum How to use checksums |
db05c8374a109de4084d8c3b1deb5d4229ad1660d08db894c8fa9f3616a9c4d1
|
|
BLAKE2b-256 checksum How to use checksums |
a6d8eeac27863e7d09a00e93ee798fcc63434807ea7f219296fbd2f42dd660dd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.13
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 29, 2026.
Transparency logRelease files / okf_agentbus-0.24.0-py3-none-macosx_11_0_x86_64.whl
| Download URL | okf_agentbus-0.24.0-py3-none-macosx_11_0_x86_64.whl |
|---|---|
| Size | 7.2 MB |
| Tags | Python 3 macOS 11.0+ x86-64 |
|
SHA-256 checksum How to use checksums |
92540fa7d1ae89fef79cf424bfe713904cddafa4fc9bb8e9a23719acf4e9cbc2
|
|
BLAKE2b-256 checksum How to use checksums |
8bb811930328289416d81e8a085a32be71e88af43f14325084edb8ef45971aa7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.13
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 29, 2026.
Transparency logRelease files / okf_agentbus-0.24.0-py3-none-macosx_11_0_arm64.whl
| Download URL | okf_agentbus-0.24.0-py3-none-macosx_11_0_arm64.whl |
|---|---|
| Size | 6.7 MB |
| Tags | Python 3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
93d023f38832f161924d7540e6bd3c3b0928dfae4fd6dcbb65a5dea69602aff2
|
|
BLAKE2b-256 checksum How to use checksums |
6c1cc0fe509ab799927f8e38efc20482fa52a1b0ecb911e5b46c004accd0950e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.13
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 29, 2026.
Transparency log