Metadata-Version: 2.5
Name: agent-bus-coord
Version: 0.3.1
Summary: Protocolo de comunicacion entre agentes IA sin dependencia de tmux
Project-URL: Homepage, https://github.com/yasmanycastillo/agent-bus
Project-URL: Repository, https://github.com/yasmanycastillo/agent-bus
Project-URL: Issues, https://github.com/yasmanycastillo/agent-bus/issues
Project-URL: Changelog, https://github.com/yasmanycastillo/agent-bus/blob/main/CHANGELOG.md
Author-email: Yasmany Castillo <yasmany003@gmail.com>
License-Expression: MIT
License-File: LICENSE
Keywords: ai-agents,coordination,mcp,multi-agent
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Framework :: FastAPI
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
Requires-Python: >=3.12
Requires-Dist: aiosqlite>=0.20
Requires-Dist: anyio>=4.9
Requires-Dist: click>=8.1
Requires-Dist: fastapi>=0.115
Requires-Dist: httpx>=0.27
Requires-Dist: jsonschema>=4.20
Requires-Dist: mcp==2.1.1
Requires-Dist: pydantic>=2.9
Requires-Dist: pynacl>=1.5
Requires-Dist: pyyaml>=6.0
Requires-Dist: rich>=13.9
Requires-Dist: sse-starlette>=2.1
Requires-Dist: uvicorn[standard]>=0.32
Requires-Dist: websockets>=13.0
Provides-Extra: dev
Requires-Dist: mypy>=1.12; extra == 'dev'
Requires-Dist: pytest-asyncio>=0.24; extra == 'dev'
Requires-Dist: pytest-cov>=5.0; extra == 'dev'
Requires-Dist: pytest-xdist>=3.6; extra == 'dev'
Requires-Dist: pytest>=8.3; extra == 'dev'
Requires-Dist: ruff>=0.7; extra == 'dev'
Description-Content-Type: text/markdown

# agent-bus

Coordina agentes de distintas herramientas sobre un mismo proyecto: comparte
mensajes y tareas, reserva archivos y entrega resultados para revisión mediante MCP.

El hub conserva los pendientes en SQLite. Cada agente tiene una identidad propia;
puede trabajar desde su cliente MCP o responder consultas mediante un listener.
La consola permite supervisar tareas, solicitudes humanas y reservas.

## Instalar como MCP

Elige el cliente: `codex`, `agy`, `hermes`, `claude`, `cursor`, `grok` o `gemini`.

```sh
agent-bus mcp install --scope global --client codex --agent codex
```

Cierra ese programa y ábrelo de nuevo. No hace falta crear una credencial en este repositorio: cada proyecto tiene la suya.

## Empezar

Requisitos: Python 3.12+ y uv en un entorno Unix. **Linux es la plataforma validada**;
macOS todavía no se ha validado. Windows nativo (Python en PowerShell o CMD) no está
soportado actualmente; para probar desde Windows, utiliza Linux dentro de WSL2,
un entorno que también requiere validación propia.

Para usar modelos reales necesitas, además, el cliente del proveedor instalado
y autenticado en el entorno donde se ejecutará. [Detalle por plataforma](docs/first-run.md#sistemas-operativos).

Desde PyPI (el paquete se llama `agent-bus-coord`; el comando sigue siendo `agent-bus`):

```sh
uv tool install agent-bus-coord
agent-bus --project /ruta/mi-proyecto onboard --mcp-only
```

Desde este repositorio, usa `uv tool install .` en lugar de la primera línea.

El asistente prepara un hub local, credenciales y configuraciones MCP para dos
agentes. Copia la configuración indicada a cada cliente, reconecta y pide
`bootstrap_agent({})`. No inicia modelos, workers ni merges automáticamente: MCP
por sí solo tampoco despierta una TUI. Para evitar esperas cuando un agente está
inactivo, inicia un worker persistente por identidad con `worker start` y verifica
su estado con `worker status`; consulta [workers persistentes](docs/first-run.md#workers-persistentes-para-evitar-esperas).

Sigue la [guía de primer uso](docs/first-run.md) para conectar los clientes,
iniciar listeners y resolver problemas. La instalación documentada es desde este
repositorio; no presupone que haya un paquete público disponible en PyPI.

### Configurar clientes MCP automáticamente

Configura `agent-bus` directamente en los clientes soportados (**Cursor**, **Claude**, **Gemini / Antigravity**, **Codex**, **Grok**, **Hermes**, **AGY**) sin editar sus archivos a mano:

```sh
# Instalar en todos los clientes en el proyecto actual:
agent-bus mcp install --client all

# Instalar para un agente específico en clientes puntuales:
agent-bus mcp install --client cursor,claude --agent hermes

# Instalar a nivel global (~/.cursor, ~/.config/Claude, ~/.gemini, ~/.hermes):
agent-bus mcp install --scope global --client agy --agent agy
agent-bus mcp install --scope global --client hermes --agent hermes

# Simular qué archivos y configuraciones se tocarían sin modificarlos:
agent-bus mcp install --client all --dry-run

# Ver el snippet JSON resultante sin escribir en disco:
agent-bus mcp show --client codex

# Desinstalar la configuración MCP de un cliente:
agent-bus mcp uninstall --client cursor
```

La instalación realiza una combinación no destructiva (*merge*): preserva cualquier otro servidor MCP preexistente en tus archivos de configuración.

## Probar sin modelos

```sh
agent-bus demo
```

Dos actores programados usan MCP real para reservar un archivo, detectar un
conflicto, revisar una entrega y pedir una decisión humana. No consume modelos
comerciales ni modifica tu proyecto. [Recorrido de la demo](docs/demo.md).

## Respuestas automáticas

El asistente genera lanzadores para Claude, Codex y Grok con el entorno de cada
identidad. Ejecuta el lanzador que imprime en otra terminal y déjalo activo.
También puedes iniciar y consultar un listener desde el proyecto:

```sh
agent-bus watch --agent grok --cli grok
agent-bus watch --agent grok --status
```

Un mensaje con `reply_needed=true` inicia un turno headless. El listener publica
la respuesta y confirma el mensaje después del éxito. No despierta una TUI
existente; `--dry-run` solo observa. Con [muxel](docs/first-run.md#despertar-una-tui-abierta-en-muxel)
abierto, `--cli muxel` escribe en el panel vivo del agente en lugar de lanzar un
turno headless. Grok responde consultas de texto sin herramientas ni ediciones. [Estados y recuperación](docs/first-run.md#listeners-para-responder-automáticamente).

## Coordinar trabajo

El flujo MCP recomendado es:

`bootstrap_agent` → `my_pending_items` → `claim_task` → `prepare_edit` → `complete_handoff`.

Las reservas multiarquivo se adquieren juntas o ninguna. La entrega conserva
resumen, evidencia declarada, estado, mensaje y liberaciones explícitas en una
transacción. [Guía de coordinación](docs/coordination-workflow.md).

Para supervisar el proyecto, abre `agent-bus ui` e inicia sesión con una credencial
administrativa. [Guía de la consola](docs/console.md).

## Alcance y límites

- La configuración está orientada a proyectos locales con un entorno Unix. Cada proyecto
  necesita su propio hub, base y credenciales.
- Leer un mensaje no lo confirma. La entrega durable no sustituye a un cliente
  que consulte pendientes o a un listener activo.
- Las reservas son cooperativas: un editor que ignore el protocolo puede escribir.
- Los workers y el integrador requieren configuración explícita; el handoff MCP
  no ejecuta pruebas ni fusiona código por sí mismo.
- No hay medición central completa de costes ni cuotas comerciales persistentes.
- La compatibilidad de herramientas no garantiza autonomía continua ni que todos
  los modelos respondan igual. Revisa el resultado de cada tarea.

## Documentación y desarrollo

- [Índice de documentación](docs/README.md)
- [Instalación y operación](docs/first-run.md)
- [Workflow feature-development](docs/workflows.md)
- [Conexión MCP](docs/mcp-setup.md)
- [Desarrollo y pruebas](docs/development.md)
- [Cómo contribuir](CONTRIBUTING.md)
- [Política de seguridad](SECURITY.md)
- [Proceso de releases](docs/releasing.md)
- [Cambios del producto](CHANGELOG.md)

Licencia [MIT](LICENSE).
