Código fuente disponibleMatriz de pruebas ADK-Rust v2 verificada

Operaciones de agentes multicanal

Ejecuta tus agentes donde tus usuarios ya trabajan.

ADK Gateway conecta canales de mensajería, aplicaciones web y otros agentes a un equipo de agentes ADK-Rust. Enruta cada solicitud, restaura el contexto correcto, aplica la política operativa y ofrece a los desarrolladores un lugar para ver y controlar el sistema.

ADK Gateway operando

Personas y sistemas

Telegram
Slack
WhatsApp
Discord
Matriz

Identidad · Router · Runner

sesionespolíticaeventosentrega

Equipo de agentes

Agente del sistema
Agente de soporte
Agente de investigación
Agente de codificación
herramientasmemoriaprotocoloscontrol

¿Por qué un gateway?

Un agente es útil. Un sistema de agentes operado es un producto.

Un agente ADK-Rust puede razonar, llamar herramientas y transmitir eventos. Un despliegue real también debe responder preguntas prácticas: ¿Dónde llegan las solicitudes? ¿Qué agente debería recibirlas? ¿De quién se debe restaurar la sesión? ¿Qué puede hacer ese agente?

ADK Gateway proporciona esa capa operativa compartida. Telegram, Slack, WhatsApp, Discord, Matrix, webhooks y solicitudes web dirigidas a agentes entran a través de adaptadores. El gateway los convierte en una forma de mensaje única, aplica reglas de acceso, los enruta a un agente del sistema o especialista y entrega el progreso de vuelta por el canal original.

El gateway no fusiona todos los agentes en un solo asistente. Los desarrolladores pueden mantener separados los agentes de investigación, soporte, operaciones y codificación — con diferentes modelos, herramientas, espacios de trabajo, permisos y enlaces de canal — mientras los operan a través de una única superficie de control.

Sin gateway

  • Cada canal necesita su propia integración de agente
  • Sesiones e identidades derivan entre puntos de entrada
  • Las herramientas y permisos se configuran en varios lugares
  • Los operadores no pueden ver todo el sistema de agentes

Con ADK Gateway

  • Adaptadores de canal comparten un contrato de entrada
  • El enrutamiento selecciona un agente y sesión deliberadamente
  • Capacidades y políticas permanecen vinculadas a roles de agente
  • Un panel de control muestra agentes, canales, trabajo y estado

Arquitectura

Una puerta de enlace para un equipo de agentes controlados independientemente.

Leer la arquitectura de izquierda a derecha. Las solicitudes entran por canales humanos o de agentes. La identidad y el enrutamiento deciden dónde pertenecen. ADK-Rust ejecuta el agente seleccionado con su propio estado y capacidades. El plano de control observa cada capa sin formar parte de la conversación.

Puntos de entrada

  • Telegram · Slack
  • WhatsApp · Discord
  • Matriz · webhooks
  • Solicitudes AWP

Borde de confianza

  • Emparejamiento + identidad
  • Listas permitidas + roles
  • Límites de tasa
  • JWT / SSO

Tiempo de ejecución Gateway

  • Enrutador de mensajes
  • ADK-Rust Runner
  • Sesiones + eventos
  • Entrega

Equipo de agentes

  • Agente del sistema
  • Agentes especialistas
  • Flujos de trabajo gráficos
  • Agentes de codificación ACP

capacidades

  • Modelos + alternativa
  • Herramientas Rust + MCP
  • Memoria + RAG
  • Artefactos + almacenamiento

Plano de control del operador

Configurar, aprobar, observar, recuperar y auditar la ruta completa de la solicitud.

Panel de controlEventos WebSocketMétricasRegistrosEstado de salud
Interfaces y entregaIdentidad y política operativaEnrutamiento y ejecuciónEstado y capacidades

Seguir una solicitud

De un mensaje de Telegram al agente especialista adecuado.

El mismo flujo se aplica a cada canal soportado. Solo cambian el adaptador y formato de entrega; el enrutamiento, sesiones, ejecución de agentes, políticas y evidencia permanecen compartidos.

  1. 01Channel adapter

    Recibir una forma de mensaje

    Telegram, Slack, WhatsApp, Discord, Matrix y webhooks llegan en diferentes formatos. Cada adaptador los convierte en el mismo contrato de mensaje entrante.

  2. 02Access boundary

    Identificar quién puede continuar

    Las reglas de emparejamiento, listas de permitidos, política de menciones grupales, identidad multiusuario, límites de tasa y verificaciones JWT opcionales se ejecutan antes de que la solicitud llegue a un agente.

  3. 03Enrutador de mensajes

    Elige el agente adecuado

    El enrutamiento verifica el canal, cuenta y persona o grupo. La coincidencia más específica gana; el agente del sistema es la última opción.

  4. 04ADK-Rust Runner

    Restaurar la conversación

    El Runner adjunta la sesión correcta, contexto de usuario, memoria, estado de cancelación y cadena de respaldo del modelo antes de que comience la ejecución del agente.

  5. 05Specialist agent

    Usar solo capacidades asignadas

    El agente seleccionado puede usar sus herramientas Rust, servidores MCP, conocimientos, flujos de trabajo o un agente de codificación ACP aprobado. La política de rol limita lo que puede llamar.

  6. 06Delivery + evidence

    Devolver progreso y mantener un registro

    Los eventos tipeados se convierten en indicadores de escritura, mensajes de progreso, imágenes o una respuesta final. Métricas, registros, historial de tareas y eventos de auditoría explican lo ocurrido.

Enrutamiento en Rust

El enrutamiento es explícito y comprobable.

Un desarrollador puede vincular un agente a todo un canal, a una cuenta en ese canal o a una persona o grupo específico. El enrutador verifica primero la regla más específica y luego retrocede de forma predecible.

El ejemplo condensa la implementación fuente para mejorar la legibilidad. El repositorio prueba comportamientos exactos, a nivel de cuenta, canal, legado y enrutamiento por defecto.

router.rs · simplified resolution order
/// Most-specific binding wins.
pub fn resolve_agent(&self, message: &InboundMessage) -> &str {
    // 1. channel + account + person or group
    if let Some(agent) = self.exact_binding(message) {
        return agent;
    }

    // 2. channel + account, then channel-only
    if let Some(agent) = self.account_binding(message)
        .or_else(|| self.channel_binding(message))
    {
        return agent;
    }

    // 3. configured legacy rules, then the system agent
    self.legacy_binding(message)
        .unwrap_or(&self.default_agent_id)
}
gateway.json · agent, channel, and role
{
  "agent": {
    "model": {
      "primary": "openai/gpt-5.4-mini",
      "fallbacks": ["openai/gpt-5.4-nano"]
    }
  },
  "channels": {
    "telegram": {
      "enabled": true,
      "botToken": "${TELEGRAM_BOT_TOKEN}",
      "dmPolicy": "pairing"
    }
  },
  "user_agents": [{
    "id": "support",
    "name": "Customer support",
    "tools": ["order_lookup", "refund_request"],
    "channel_bindings": [{ "channel_type": "telegram" }],
    "role": {
      "allow": ["order_lookup", "refund_request"],
      "deny": ["refund_issue"]
    },
    "auto_start": true
  }]
}

Panel de control embebido

Ver el sistema. Cambiarlo deliberadamente.

El panel de control React se compila en el binario Rust y se sirve en /ui. It is the operator interface for configuration, agent lifecycle, approvals, sessions, memory, scheduled work, logs, and health.

Configurar

Elige proveedores de modelos, almacena credenciales, conecta cuentas de canal y valida la puerta de enlace antes de abrirla a usuarios.

Asistente de primera ejecuciónModelos alternativosPruebas de conexión de canalConfiguración JSON validada

Dirigir a los agentes

Crear especialistas, asignar herramientas y canales, iniciar o detener sus procesos y definir qué agentes pueden delegar trabajo.

Ciclo de vida del agenteVinculaciones de canalPermisos de delegaciónTareas programadas

Mantenga el control

Revisar llamadas a herramientas sensibles, emparejar usuarios, terminar sesiones, inspeccionar consentimiento e intervenir cuando una tarea no debe continuar.

Aprobaciones de herramientasEmparejamiento y rolesTerminación de sesiónConsentimiento AWP

Operar

Ver canales y agentes en tiempo real, inspeccionar errores, buscar en la memoria y seguir la salud del gateway en ejecución.

Panel WebSocket en vivoRegistros y métricasNavegador de memoriaEstado del componente

Abrir límites del protocolo

Conectar herramientas, agentes de codificación, sitios web y aplicaciones.

Los canales conectan la puerta de enlace con personas. Los protocolos la conectan con capacidades y otro software. Cada límite tiene un trabajo distinto, para que los desarrolladores puedan añadir uno sin rediseñar toda la ejecución.

MCP

Proveer a los agentes con herramientas externas

Conectar servidores de capacidad para navegadores, computadoras, medios, datos y sistemas empresariales. La puerta de enlace puede agregar, listar y eliminar servidores MCP configurados sin integrar cada integración en su binario.

ACP

Delegar trabajo de codificación

Ejecutar procesos de agente de codificación soportados detrás de un límite supervisado. La política del espacio de trabajo, solicitudes de permiso, progreso, costo, estado de cola e historial de tareas permanecen visibles para la puerta de enlace.

AWP

Exponer una interfaz web para agentes

Publicar descubrimiento, capacidades, estado, consentimiento, suscripciones y un endpoint de mensajes de agente para que otro software entienda cómo trabajar con el gateway.

HTTP + WebSocket

Integrar y operar

Los webhooks entrantes traen trabajo desde otras aplicaciones. Las APIs HTTP y eventos WebSocket en vivo alimentan el panel de control embebido y las herramientas externas de operación.

Límite actual: la fuente expone su ruta agent-message bajo la superficie AWP. La página no reclama una superficie A2A verificada por separado, completa o una implementación de comercio AWP en producción.

Gobernanza

Proveer a los agentes espacio para trabajar dentro de límites visibles.

La autonomía del agente debe ser una decisión operativa configurada. ADK Gateway coloca identidad, autoridad, límites y evidencia alrededor de la misma ruta de ejecución que lleva la solicitud.

01

Identidad

El emparejamiento, listas de permitidos, sesiones multiusuario, JWT/JWKS y mapeo de roles responden quién está haciendo la solicitud.

02

Autoridad

Las reglas de permitir y denegar por agente más la aprobación de herramientas determinan qué capacidades puede usar una persona o agente.

03

Límites

Limitación de tasa, tiempos de espera de solicitudes, cancelación, bucles limitados de herramientas y política de salud limitan cuánto puede continuar el trabajo.

04

Evidencia

Los eventos de auditoría, registros, métricas, historial de tareas, resultados de herramientas e historial de salud proporcionan un registro operativo.

Despliegue

Elige dónde debe ejecutarse la puerta de enlace.

Una estación de trabajo para desarrolladores, un servidor interno o un contenedor pueden ejecutar la misma forma de gateway. El almacenamiento de sesión puede permanecer en memoria para un experimento local o trasladarse a SQLite, PostgreSQL, Redis o Firestore para un sistema desplegado.

01

Binario único

El servicio Rust incorpora el panel de control React compilado. Instale o copie un ejecutable y mantenga la configuración junto a él.

02

Contenedor

El repositorio incluye un Dockerfile y contratos documentados de volúmenes y puertos para despliegue en contenedores.

03

Servicio Linux

Una unidad systemd soporta inicio al arrancar, política de reinicio, disponibilidad, registros y archivos de entorno gestionados por el operador.

04

servicio macOS

Una definición launchd ejecuta un gateway local persistente para agentes de desarrollador y estación de trabajo.

Migración y verificación

¿Qué está verificado hoy?

Las capacidades del producto en esta página provienen del código fuente local del Gateway, configuración, documentación y suites de prueba. La migración ADK-Rust v2 ahora pasa la verificación de biblioteca, propiedad, integración, agente generado y panel de control.

Fuente verificada

Arquitectura del producto Gateway

Adaptadores de canal, enrutamiento de mensajes, registro de agentes, ciclo de vida de procesos, sesiones, memoria, RAG, tareas programadas, aprobación de herramientas, control de acceso, rutas del panel de control, integración AWP, MCP, ACP, activos de despliegue y pruebas existen en el repositorio revisado.

Pruebas verificadas

Migración local ADK-Rust v2

Cada dependencia de ADK se resuelve en el espacio de trabajo local 2.0. Rust 2024 y Rust 1.95 compilan en todos los objetivos y características. Todas las 845 pruebas de biblioteca, 276 pruebas independientes de propiedades e integración, y 81 pruebas del panel de control pasan correctamente.

Versión publicada

crates.io permanece en v1

El estado v2 verificado es actualmente una migración local de código fuente, no un crate publicado adk-gateway v2. La guía de instalación debe continuar distinguiendo una revisión de código fuente de la versión v1 en crates.io.

Verificación del operador

Comportamiento acreditado y desplegado

Cada proveedor de mensajería, proveedor de modelos, servidor MCP externo, backend persistente, proveedor de identidad y despliegue en producción aún requieren credenciales, infraestructura y revisión de seguridad por parte de su operador.

Limitación explícita

Superficies experimentales

La generación de código multi-agente aún documenta puntos finales A2A de marcador de posición, y el comercio AWP está declarado pero no implementado como un sistema de transacciones completo. Ninguno se presenta aquí como listo para producción.

Revisión de fuente: Todas las dependencias de ADK se resuelven en el espacio de trabajo local v2.0.0, el proyecto apunta a Rust 2024 con MSRV 1.94, y la compilación con todas las características y para todos los objetivos pasa correctamente. La verificación supera 845 pruebas de biblioteca, 276 pruebas independientes de propiedades e integración, y 81 pruebas del panel de control; crates.io continúa publicando la versión v1.

ADK Gateway se presenta como software respaldado por código fuente, no como un servicio alojado en un sitio web. La migración local a v2 está verificada, mientras que crates.io permanece en v1. Los canales de mensajería, proveedores de modelos, herramientas externas MCP, backends persistentes y la seguridad en producción dependen de las credenciales del operador y la configuración del despliegue; la generación experimental de código y el comercio AWP permanecen explícitamente limitados en la documentación fuente.

Construir la capa operativa

Conectar un canal. Enrutar una solicitud. Mantener cada decisión visible.

Comienza desde la fuente verificada v2. El repositorio contiene la puerta de enlace, panel de control embebido, referencia de configuración, guías de canal, activos de despliegue y suites de prueba necesarios para entender y operar el sistema completo.