Code source disponibleMatrice de test ADK-Rust v2 vérifiée

Opérations d'agents multi-canaux

Exécutez vos agents là où vos utilisateurs travaillent déjà.

La passerelle ADK connecte les canaux de messagerie, les applications web et d'autres agents à une équipe d'agents ADK-Rust. Elle route chaque requête, restaure le contexte approprié, applique la politique d'exploitation et offre aux développeurs un point unique pour voir et contrôler le système.

Passerelle ADK en fonctionnement

Personnes et systèmes

Telegram
Slack
WhatsApp
Discord
Matrix

Identité · Routeur · Exécuteur

sessionspolitiqueévénementslivraison

Équipe d'agents

Agent système
Agent de support
Agent de recherche
Agent de codage
outilsmémoireprotocolescontrôle

Pourquoi une passerelle ?

Un agent est utile. Un système d'agents exploité est un produit.

Un agent ADK-Rust peut raisonner, appeler des outils et diffuser des événements. Un déploiement réel doit aussi répondre à des questions pratiques : Où arrivent les demandes ? Quel agent doit les recevoir ? Quelle session doit être restaurée ? Que cet agent est-il autorisé à faire ?

La passerelle ADK fournit cette couche d'exploitation partagée. Telegram, Slack, WhatsApp, Discord, Matrix, webhooks et requêtes web orientées agent entrent via des adaptateurs. La passerelle les transforme en un format de message unique, applique les règles d'accès, les route vers un agent système ou spécialiste, et renvoie la progression via le canal d'origine.

La passerelle ne fusionne pas tous les agents en un seul assistant. Les développeurs peuvent garder agents de recherche, support, opérations et codage séparés — avec différents modèles, outils, espaces de travail, permissions et liaisons de canaux — tout en les pilotant via une surface de contrôle unique.

Sans passerelle

  • Chaque canal nécessite sa propre intégration d’agent
  • Les sessions et identités dérivent entre les points d'entrée
  • Les outils et permissions sont configurés à plusieurs endroits
  • Les opérateurs ne peuvent pas voir l’ensemble du système d’agents

Avec ADK Gateway

  • Les adaptateurs de canal partagent un contrat entrant unique
  • Le routage sélectionne délibérément un agent et une session
  • Capacités et politique restent attachées aux rôles des agents
  • Un panneau de contrôle affiche agents, canaux, travail et santé

Architecture

Une passerelle autour d'une équipe d'agents contrôlés indépendamment.

Lire l’architecture de gauche à droite. Les requêtes entrent par canaux humains ou agents. Identité et routage décident de leur destination. ADK-Rust exécute l’agent sélectionné avec son propre état et capacités. Le plan de contrôle observe chaque couche sans s’intégrer à la conversation.

Points d’entrée

  • Telegram · Slack
  • WhatsApp · Discord
  • Matrix · webhooks
  • Requêtes AWP

Edge de confiance

  • Appairage + identité
  • Listes blanches + rôles
  • Limites de débit
  • JWT / SSO

Exécution Gateway

  • Routeur de messages
  • ADK-Rust Runner
  • Sessions + événements
  • Livraison

Équipe d'agents

  • Agent système
  • Agents spécialistes
  • Flux de travail graphiques
  • Agents de codage ACP

principales

  • Modèles + repli
  • Outils Rust + MCP
  • Mémoire + RAG
  • Artefacts + stockage

Plan de contrôle opérateur

Configurer, approuver, observer, récupérer et auditer le chemin complet de la requête.

Panneau de contrôleÉvénements WebSocketMétriquesJournauxSanté
Interfaces et livraisonIdentité et politique d'exploitationRoutage et exécutionÉtat et capacités

Suivre une demande

D'un message Telegram au bon agent spécialiste.

Le même flux s'applique à chaque canal supporté. Seuls l'adaptateur et le format de livraison changent ; routage, sessions, exécution des agents, politique et preuves restent partagés.

  1. 01Channel adapter

    Recevoir une forme de message

    Telegram, Slack, WhatsApp, Discord, Matrix et les webhooks arrivent sous différents formats. Chaque adaptateur les convertit en un même contrat de message entrant.

  2. 02Access boundary

    Identifier qui peut continuer

    Les règles d’appairage, listes blanches, politique de mention de groupe, identité multi-utilisateur, limites de débit et vérifications JWT optionnelles s’exécutent avant que la requête n’atteigne un agent.

  3. 03Routeur de messages

    Choisir le bon agent

    Le routage vérifie le canal, le compte et la personne ou le groupe. La correspondance la plus spécifique l'emporte ; l'agent système est le dernier recours.

  4. 04ADK-Rust Runner

    Restaurer la conversation

    Le Runner attache la session correcte, le contexte utilisateur, la mémoire, l'état d'annulation et la chaîne de secours du modèle avant le début de l'exécution de l'agent.

  5. 05Specialist agent

    Utiliser uniquement les capacités assignées

    L'agent sélectionné peut utiliser ses outils Rust, serveurs MCP, connaissances, workflows ou un agent de codage ACP approuvé. La politique de rôle limite ce qu'il peut appeler.

  6. 06Delivery + evidence

    Retourner les progrès et garder un enregistrement

    Les événements typés deviennent des indicateurs de saisie, messages de progression, images ou une réponse finale. Les métriques, journaux, historique des tâches et événements d’audit expliquent ce qui s’est passé.

Routage en Rust

Le routage est explicite et testable.

Un développeur peut lier un agent à un canal entier, un compte sur ce canal, ou une personne ou un groupe spécifique. Le routeur vérifie d'abord la règle la plus spécifique et retombe de manière prévisible.

L'exemple condense l'implémentation source pour plus de lisibilité. Le dépôt teste les comportements exacts, au niveau compte, canal, legacy et routage par défaut.

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
  }]
}

Panneau de contrôle intégré

Voir le système. Le modifier délibérément.

Le panneau de contrôle React est compilé dans le binaire Rust et servi à /ui. It is the operator interface for configuration, agent lifecycle, approvals, sessions, memory, scheduled work, logs, and health.

Configurer

Choisissez les fournisseurs de modèles, stockez les identifiants, connectez les comptes de canal, et validez la passerelle avant de l'ouvrir aux utilisateurs.

Assistant de première utilisationRepli des modèlesTests de connexion de canalConfiguration JSON validée

Diriger les agents

Créer des spécialistes, assigner des outils et des canaux, démarrer ou arrêter leurs processus, et définir quels agents peuvent déléguer du travail.

Cycle de vie de l'agentLiaisons de canalPermissions de délégationTâches planifiées

Gardez le contrôle

Examiner les appels d'outils sensibles, jumeler les utilisateurs, terminer les sessions, inspecter le consentement et intervenir lorsqu'une tâche ne doit pas continuer.

Approbations d'outilsAppairage et rôlesFin de sessionConsentement AWP

Opérer

Surveiller les canaux et agents en temps réel, inspecter les erreurs, rechercher dans la mémoire et suivre la santé de la passerelle en fonctionnement.

Tableau de bord WebSocket en directJournaux et métriquesNavigateur de mémoireSanté des composants

Ouvrir les frontières du protocole

Connecter outils, agents de codage, sites web et applications.

Les canaux connectent la passerelle aux personnes. Les protocoles la connectent aux capacités et autres logiciels. Chaque frontière a un rôle distinct, permettant aux développeurs d'ajouter un élément sans repenser tout le runtime.

MCP

Fournir aux agents des outils externes

Connecter des serveurs de capacités pour navigateurs, ordinateurs, médias, données et systèmes métier. La passerelle peut ajouter, lister et supprimer des serveurs MCP configurés sans intégrer chaque intégration dans son binaire.

ACP

Déléguer le travail de codage

Exécuter les processus d'agent de codage supportés derrière une frontière supervisée. La politique d'espace de travail, les demandes d'autorisation, les progrès, les coûts, l'état de la file d'attente et l'historique des tâches restent visibles pour la passerelle.

AWP

Exposer une interface web orientée agent

Publier découverte, capacités, état, consentement, abonnements et point de message agent pour que d’autres logiciels comprennent comment interagir avec la passerelle.

HTTP + WebSocket

Intégrer et exploiter

Les webhooks entrants apportent du travail depuis d'autres applications. Les API HTTP et les événements WebSocket en direct alimentent le panneau de contrôle intégré et les outils d'opérations externes.

Frontière actuelle : la source expose sa route agent-message sous la surface AWP. La page ne revendique pas une surface serveur A2A vérifiée séparément, complète, ni une implémentation commerciale AWP en production.

Gouvernance

Offrir aux agents un espace de travail dans des limites visibles.

L'autonomie de l'agent doit être une décision d'exploitation configurée. La passerelle ADK place identité, autorité, limites et preuves autour du même chemin d'exécution qui transporte la requête.

01

Identité

L’appairage, listes blanches, sessions multi-utilisateurs, JWT/JWKS et mappage des rôles déterminent qui fait la requête.

02

Autorité

Les règles d’autorisation et de refus par agent ainsi que l’approbation des outils déterminent les capacités accessibles à une personne ou un agent.

03

Limites

Limitation de débit, délais de requête, annulation, boucles d’outils bornées et politique de santé limitent la durée du travail.

04

Preuve

Les événements d'audit, journaux, métriques, historique des tâches, résultats d'outils et historique de santé fournissent un enregistrement opérationnel.

Déploiement

Choisir où la passerelle doit s'exécuter.

Un poste de travail développeur, un serveur interne ou un conteneur peut exécuter la même forme de passerelle. Le stockage de session peut rester en mémoire pour une expérience locale ou passer à SQLite, PostgreSQL, Redis ou Firestore pour un système déployé.

01

Binaire unique

Le service Rust intègre le panneau de contrôle React compilé. Installez ou copiez un exécutable et conservez la configuration à côté.

02

Conteneur

Le dépôt inclut un Dockerfile et des contrats documentés de volumes et ports pour le déploiement en conteneur.

03

Service Linux

Une unité systemd prend en charge le démarrage au boot, la politique de redémarrage, la disponibilité, les logs et les fichiers d'environnement gérés par l'opérateur.

04

service macOS

Une définition launchd exécute une passerelle locale persistante pour les agents développeur et poste de travail.

Migration et vérification

Qu’est-ce qui est vérifié aujourd’hui ?

Les capacités produit sur cette page proviennent de la source locale Gateway, configuration, documentation et suites de tests. La migration ADK-Rust v2 valide désormais sa bibliothèque, propriété, intégration, agent généré et panneau de contrôle.

Source vérifiée

Architecture produit Gateway

Adaptateurs de canal, routage des messages, registre des agents, cycle de vie des processus, sessions, mémoire, RAG, tâches planifiées, approbation des outils, contrôle d'accès, routes du panneau de contrôle, intégration AWP, MCP, ACP, ressources de déploiement et tests présents dans le dépôt examiné.

Tests vérifiés

Migration locale ADK-Rust v2

Chaque dépendance ADK se résout vers l'espace de travail local 2.0. Rust 2024 et Rust 1.95 compilent sur toutes les cibles et fonctionnalités. Tous les 845 tests de bibliothèque, 276 tests autonomes de propriétés et d'intégration, et 81 tests du panneau de contrôle réussissent.

Version publiée

crates.io reste en v1

L'état v2 vérifié est actuellement une migration locale de source, pas une crate adk-gateway v2 publiée. Les instructions d'installation doivent continuer à distinguer un checkout source de la version v1 sur crates.io.

Vérification de l'opérateur

Comportement accrédité et déployé

Chaque fournisseur de messagerie, fournisseur de modèle, serveur MCP externe, backend persistant, fournisseur d'identité et déploiement en production nécessite encore des identifiants, une infrastructure et une revue de sécurité par son opérateur.

Limitation explicite

Surfaces expérimentales

La génération de code multi-agent documente encore des points de terminaison A2A fictifs, et le commerce AWP est déclaré mais non implémenté comme un système transactionnel complet. Aucun n'est présenté ici comme prêt pour la production.

Revue de la source : Toutes les dépendances ADK se résolvent vers l'espace de travail local v2.0.0, le projet cible Rust 2024 avec MSRV 1.94, et la compilation avec toutes cibles et toutes fonctionnalités réussit. La vérification passe 845 tests de bibliothèque, 276 tests autonomes de propriétés et d'intégration, et 81 tests du panneau de contrôle ; crates.io continue de publier la version 1.

ADK Gateway est présenté comme un logiciel basé sur une source, et non comme un service hébergé sur un site web. La migration locale vers la version 2 est vérifiée, tandis que crates.io reste sur la version 1. Les canaux de messagerie, les fournisseurs de modèles, les outils MCP externes, les backends persistants et la sécurité en production dépendent des identifiants de l'opérateur et de la configuration du déploiement ; la génération de code expérimentale et le commerce AWP restent explicitement limités dans la documentation source.

Construire la couche opérationnelle

Connecter un canal. Router une requête. Garder chaque décision visible.

Commencez à partir de la source v2 vérifiée. Le dépôt contient la passerelle, le panneau de contrôle intégré, la référence de configuration, les guides de canal, les ressources de déploiement et les suites de tests nécessaires pour comprendre et exploiter le système complet.