Código-fonte disponívelMatriz de testes ADK-Rust v2 verificada

Operações de agente multicanal

Execute seus agentes onde seus usuários já trabalham.

ADK Gateway conecta canais de mensagens, aplicações web e outros agentes a uma equipe de agentes ADK-Rust. Ele roteia cada requisição, restaura o contexto correto, aplica políticas operacionais e oferece aos desenvolvedores um único lugar para ver e controlar o sistema.

ADK Gateway operando

Pessoas e sistemas

Telegram
Slack
WhatsApp
Discord
Matrix

Identidade · Roteador · Executor

sessõespolíticaeventosentrega

Equipe do agente

Agente do sistema
Agente de suporte
Agente de pesquisa
Agente de codificação
ferramentasmemóriaprotocoloscontrole

Por que um gateway?

Um agente é útil. Um sistema de agentes operado é um produto.

Um agente ADK-Rust pode raciocinar, chamar ferramentas e transmitir eventos. Uma implantação real também precisa responder a questões práticas: Onde as solicitações chegam? Qual agente deve recebê-las? De quem deve ser restaurada a sessão? O que esse agente está autorizado a fazer?

ADK Gateway fornece essa camada operacional compartilhada. Telegram, Slack, WhatsApp, Discord, Matrix, webhooks e requisições web para agentes entram por adaptadores. O gateway os transforma em uma única forma de mensagem, aplica regras de acesso, roteia para um agente do sistema ou especialista e entrega o progresso de volta pelo canal original.

O gateway não funde todos os agentes em um único assistente. Desenvolvedores podem manter agentes de pesquisa, suporte, operações e codificação separados — com modelos, ferramentas, espaços de trabalho, permissões e vínculos de canal diferentes — enquanto os operam através de uma única superfície de controle.

Sem gateway

  • Cada canal precisa de sua própria integração de agente
  • Sessões e identidades transitam entre pontos de entrada
  • Ferramentas e permissões são configuradas em vários locais
  • Operadores não podem ver todo o sistema de agentes

Com ADK Gateway

  • Adaptadores de canal compartilham um contrato de entrada
  • Roteamento seleciona agente e sessão deliberadamente
  • Capacidades e políticas permanecem vinculadas às funções dos agentes
  • Um painel de controle mostra agentes, canais, trabalho e saúde

Arquitetura

Um gateway para uma equipe de agentes controlados independentemente.

Leia a arquitetura da esquerda para a direita. Solicitações entram por canais humanos ou de agentes. Identidade e roteamento decidem onde pertencem. ADK-Rust executa o agente selecionado com seu próprio estado e capacidades. O plano de controle observa cada camada sem se tornar parte da conversa.

Pontos de entrada

  • Telegram · Slack
  • WhatsApp · Discord
  • Matrix · webhooks
  • Requisições AWP

Borda de confiança

  • Emparelhamento + identidade
  • Listas de permissão + papéis
  • Limites de taxa
  • JWT / SSO

Tempo de execução do Gateway

  • Roteador de mensagens
  • ADK-Rust Runner
  • Sessões + eventos
  • Entrega

Equipe do agente

  • Agente do sistema
  • Agentes especialistas
  • Fluxos de trabalho em gráfico
  • Agentes de codificação ACP

recursos

  • Modelos + fallback
  • Ferramentas Rust + MCP
  • Memória + RAG
  • Artefatos + armazenamento

Plano de controle do operador

Configurar, aprovar, observar, recuperar e auditar todo o caminho da requisição.

Painel de controleEventos WebSocketMétricasLogsSaúde
Interfaces e entregaIdentidade e política operacionalRoteamento e execuçãoEstado e capacidades

Acompanhar uma solicitação

De uma mensagem do Telegram para o agente especialista correto.

O mesmo fluxo se aplica a todos os canais suportados. Apenas o adaptador e formato de entrega mudam; roteamento, sessões, execução de agentes, política e evidências permanecem compartilhados.

  1. 01Channel adapter

    Receber uma forma de mensagem

    Telegram, Slack, WhatsApp, Discord, Matrix e webhooks chegam em formatos diferentes. Cada adaptador os transforma no mesmo contrato de mensagem de entrada.

  2. 02Access boundary

    Identificar quem pode continuar

    Regras de emparelhamento, listas de permissão, política de menção em grupo, identidade multiusuário, limites de taxa e verificações opcionais de JWT são executados antes que a solicitação alcance um agente.

  3. 03Roteador de mensagens

    Escolha o agente certo

    O roteamento verifica canal, conta e pessoa ou grupo. A correspondência mais específica vence; o agente do sistema é o recurso final.

  4. 04ADK-Rust Runner

    Restaurar a conversa

    O Runner anexa a sessão correta, contexto do usuário, memória, estado de cancelamento e cadeia de fallback do modelo antes do início da execução do agente.

  5. 05Specialist agent

    Usar apenas capacidades atribuídas

    O agente selecionado pode usar suas ferramentas Rust, servidores MCP, conhecimento, fluxos de trabalho ou um agente de codificação ACP aprovado. A política de função limita o que ele pode chamar.

  6. 06Delivery + evidence

    Retornar progresso e manter registro

    Eventos digitados se tornam indicadores de digitação, mensagens de progresso, imagens ou uma resposta final. Métricas, logs, histórico de tarefas e eventos de auditoria explicam o que aconteceu.

Roteamento em Rust

O roteamento é explícito e testável.

Um desenvolvedor pode vincular um agente a um canal inteiro, uma conta nesse canal ou uma pessoa ou grupo específico. O roteador verifica a regra mais específica primeiro e recua de forma previsível.

O exemplo condensa a implementação fonte para legibilidade. O repositório testa comportamento exato, em nível de conta, canal, legado e roteamento padrão.

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

Painel de controle embutido

Veja o sistema. Mude-o deliberadamente.

O painel de controle React é compilado no binário Rust e servido em /ui. It is the operator interface for configuration, agent lifecycle, approvals, sessions, memory, scheduled work, logs, and health.

Configurar

Escolha provedores de modelo, armazene credenciais, conecte contas de canal e valide o gateway antes de abri-lo para usuários.

Assistente de primeira execuçãoFallbacks de modeloTestes de conexão de canalConfiguração JSON validada

Direcionar os agentes

Criar especialistas, atribuir ferramentas e canais, iniciar ou parar seus processos e definir quais agentes podem delegar trabalho.

Ciclo de vida do agenteVínculos de canalPermissões de delegaçãoTarefas agendadas

Mantenha o controle

Revisar chamadas de ferramentas sensíveis, parear usuários, encerrar sessões, inspecionar consentimento e intervir quando uma tarefa não deve continuar.

Aprovações de ferramentasEmparelhamento e funçõesEncerramento de sessãoConsentimento AWP

Operar

Assista canais e agentes em tempo real, inspecione erros, pesquise na memória e acompanhe a saúde do gateway em execução.

Painel WebSocket ao vivoLogs e métricasNavegador de memóriaSaúde do componente

Abrir limites do protocolo

Conecte ferramentas, agentes de codificação, sites e aplicações.

Canais conectam o gateway às pessoas. Protocolos conectam-no a capacidades e outros softwares. Cada limite tem uma função distinta, para que desenvolvedores possam adicionar um sem redesenhar todo o runtime.

MCP

Fornecer ferramentas externas aos agentes

Conecte servidores de capacidade para navegadores, computadores, mídia, dados e sistemas de negócios. O gateway pode adicionar, listar e remover servidores MCP configurados sem precisar embutir cada integração em seu binário.

ACP

Delegar trabalho de codificação

Executar processos de agente de codificação suportados atrás de uma fronteira supervisionada. Política do espaço de trabalho, solicitações de permissão, progresso, custo, estado da fila e histórico de tarefas permanecem visíveis para o gateway.

AWP

Expor uma interface web para agentes

Publicar descoberta, capacidades, saúde, consentimento, assinaturas e um endpoint de mensagens do agente para que outros softwares possam entender como trabalhar com o gateway.

HTTP + WebSocket

Integrar e operar

Webhooks de entrada trazem trabalho de outras aplicações. APIs HTTP e eventos WebSocket ao vivo alimentam o painel de controle embutido e ferramentas externas de operação.

Limite atual: a fonte expõe sua rota agent-message sob a superfície AWP. A página não reivindica uma superfície A2A verificada separadamente, completa, nem uma implementação de comércio AWP em produção.

Governança

Dar aos agentes espaço para trabalhar dentro de limites visíveis.

Autonomia do agente deve ser uma decisão operacional configurada. ADK Gateway coloca identidade, autoridade, limites e evidências ao redor do mesmo caminho de execução que carrega a requisição.

01

Identidade

Emparelhamento, listas de permissão, sessões multiusuário, JWT/JWKS e mapeamento de funções respondem quem está fazendo a solicitação.

02

Autoridade

Regras de permissão e negação por agente, além da aprovação de ferramentas, determinam quais capacidades uma pessoa ou agente pode usar.

03

Limites

Limitação de taxa, tempos limite de solicitação, cancelamento, loops limitados de ferramentas e política de saúde limitam por quanto tempo o trabalho pode continuar.

04

Evidência

Eventos de auditoria, logs, métricas, histórico de tarefas, resultados de ferramentas e histórico de saúde fornecem um registro operacional.

Implantação

Escolha onde o gateway deve rodar.

Uma estação de trabalho de desenvolvedor, um servidor interno ou um container podem executar a mesma forma de gateway. O armazenamento de sessão pode ficar na memória para um experimento local ou migrar para SQLite, PostgreSQL, Redis ou Firestore para um sistema implantado.

01

Binário único

O serviço Rust incorpora o painel de controle React compilado. Instale ou copie um executável e mantenha a configuração ao lado dele.

02

Contêiner

O repositório inclui um Dockerfile e contratos documentados de volume e porta para implantação em container.

03

Serviço Linux

Uma unidade systemd suporta inicialização na inicialização, política de reinício, prontidão, logs e arquivos de ambiente gerenciados pelo operador.

04

serviço macOS

Uma definição launchd executa um gateway local persistente para agentes de desenvolvedor e estação de trabalho.

Migração e verificação

O que está verificado hoje?

As capacidades do produto nesta página vêm da fonte local do Gateway, configuração, documentação e suítes de teste. A migração ADK-Rust v2 agora passa pela verificação de biblioteca, propriedade, integração, agente gerado e painel de controle.

Fonte verificada

Arquitetura do produto Gateway

Adaptadores de canal, roteamento de mensagens, registro de agentes, ciclo de vida de processos, sessões, memória, RAG, tarefas agendadas, aprovação de ferramentas, controle de acesso, rotas do painel de controle, AWP, MCP, integração ACP, ativos de implantação e testes existem no repositório revisado.

Testes verificados

Migração local ADK-Rust v2

Toda dependência ADK resolve para o workspace local 2.0. Rust 2024 e Rust 1.95 compilam em todos os alvos e recursos. Todos os 845 testes de biblioteca, 276 testes independentes de propriedade e integração, e 81 testes do painel de controle passam.

Versão publicada

crates.io permanece na v1

O estado v2 verificado é atualmente uma migração local de código-fonte, não um crate adk-gateway v2 publicado. A orientação de instalação deve continuar a distinguir um checkout de código-fonte da versão v1 do crates.io.

Verificação do operador

Comportamento credenciado e implantado

Cada provedor de mensagens, provedor de modelo, servidor MCP externo, backend persistente, provedor de identidade e implantação em produção ainda precisam de credenciais, infraestrutura e revisão de segurança pelo seu operador.

Limitação explícita

Superfícies experimentais

A geração de código multiagente ainda documenta endpoints A2A temporários, e o comércio AWP está declarado mas não implementado como um sistema completo de transações. Nenhum deles é apresentado aqui como pronto para produção.

Revisão da fonte: Todas as dependências do ADK resolvem para o workspace local v2.0.0, o projeto tem como alvo Rust 2024 com MSRV 1.94, e a compilação para todos os alvos/todas as funcionalidades é bem-sucedida. A verificação passa em 845 testes de biblioteca, 276 testes independentes de propriedades e integração, e 81 testes do painel de controle; o crates.io continua publicando a versão 1.

O ADK Gateway é apresentado como software com origem em código-fonte, não como um serviço hospedado em website. A migração local para a versão 2 é verificada, enquanto o crates.io permanece na versão 1. Canais de mensagens, provedores de modelos, ferramentas externas MCP, backends persistentes e segurança em produção dependem das credenciais do operador e da configuração de implantação; geração experimental de código e comércio AWP permanecem explicitamente limitados na documentação fonte.

Construa a camada operacional

Conecte um canal. Roteie uma requisição. Mantenha cada decisão visível.

Comece pela fonte verificada v2. O repositório contém o gateway, painel de controle embutido, referência de configuração, guias de canal, ativos de implantação e suítes de teste necessários para entender e operar o sistema completo.