O Telegram está preparando o bot @agent, ao qual você pode conectar sua própria chave API de um serviço de IA: Claude, ChatGPT, Gemini, Grok ou OpenRouter. A tela de conexão apareceu nas builds beta do Telegram para macOS 13.1.0 na manhã de 23 de outubro e permaneceu inalterada até a build 283392 de 27 de outubro. A chave, de acordo com o esquema da API na beta, permanece nos servidores do Telegram: o servidor retorna ao cliente apenas os últimos quatro caracteres da chave e a data de conexão. Isso se aplica àqueles que já pagam por uma assinatura de um dos provedores. No servidor de produção, a lista de bots-agentes está vazia: a chave agent_bot_ids apareceu na configuração do servidor de teste do Telegram apenas às 21:21 UTC de 22 de outubro, e não estava presente no servidor de produção em 26 de outubro. Um vídeo nas discussões mostra um diálogo funcional com @agent no servidor de teste.
O que está na build
A beta do macOS é distribuída através do feed de atualizações mac-updates.telegram.org, onde cada build é um arquivo zip com o aplicativo. Na build 13.1.0.283359 de 21 de outubro, não há menção ao agente. Elas apareceram na 13.1.0.283362, lançada na manhã de 23 de outubro, e estão presentes da mesma forma nas builds 13.1.0.283391 de 26 de outubro e 13.1.0.283392 de 27 de outubro.
Os textos da nova tela são:
- "Use the API key from an AI service you have already purchased to set up your own AI chatbot" — a chave de um serviço de IA já pago se transforma em seu próprio chatbot.
- "Select the AI provider you have an account with" — você seleciona o provedor com o qual tem uma conta.
- "Add Your AI API Key", "Enter your API key" e a dica "Get your API key or API token in your AI provider's settings": a chave é obtida nas configurações do próprio provedor.
- "This chatbot works only if you have an an active subscription for an AI service" — sem uma assinatura ativa com o provedor, o bot não funciona.
- "Add Another Provider" e "Right-click a provider to delete it" — é possível conectar vários provedores e excluí-los um por um.
- "You can reconnect this provider with an API key later" — um provedor desconectado pode ser reativado com uma nova chave.
- "Could not connect. Try again." e "The provider is unavailable. Try again." — mensagens de falha na conexão.
- "You can now use @agent" — a mensagem final após a conexão.
Há cinco provedores no código: AgentProviderClaude, AgentProviderChatGPT, AgentProviderGemini, AgentProviderGrok e AgentProviderOpenRouter. Um deles tem a legenda "Hundreds of models". OpenRouter é um agregador que, com uma única chave, dá acesso a modelos de diferentes empresas, e a legenda, aparentemente, se refere a ele.
O que o servidor armazena
No esquema MTProto, incorporado na build, apareceram quatro tipos e uma atualização. Seus campos são os seguintes:
| Tipo | Campos | O que isso significa |
|---|---|---|
agentProvider | vendor, keyUrl, iconEmojiId, modelsSearchable | descrição do provedor: quem ele é, link para a página de chaves, ícone, se seus modelos são pesquisáveis |
providerKey | provider, keyLast4, dateConnected | chave conectada: a qual provedor, os últimos quatro caracteres, data de conexão |
settings | activeProvider | qual dos provedores conectados está atualmente responsável por @agent |
providers / providersNotModified | — | lista de provedores do servidor |
updateAgentSettings | — | a julgar pelo nome, uma atualização que o servidor envia quando as configurações são alteradas |
O par "lista e NotModified" na API do Telegram significa uma lista que o cliente solicita do servidor e armazena em cache por hash, como temas (account.themes/account.themesNotModified) ou papéis de parede. Portanto, a lista de provedores, juntamente com ícones e links para as páginas de chaves, vem do servidor e pode ser atualizada sem uma nova build. Os endereços das páginas com chaves não estão no aplicativo; há um fragmento de string "Get your API key in [", no qual, a julgar pelo campo keyUrl, um link do servidor é inserido.
A chave completa não é armazenada na descrição da conexão — apenas keyLast4. Os erros são registrados no formato em que o servidor do Telegram responde às solicitações: AGENT_KEY_INVALID, AGENT_KEY_MISSING, AGENT_NOT_AVAILABLE, AGENT_PROVIDER_UNAVAILABLE. De acordo com o esquema, a chave é verificada pelo servidor do Telegram, e é com ele que a chave, aparentemente, permanece após a conexão. Não é possível ver no esquema se as próprias solicitações ao modelo passam pelo mesmo servidor. Não há endereços de API de Claude, OpenAI, Google, xAI ou OpenRouter na build, então o aplicativo, aparentemente, não se comunica diretamente com o provedor. A atualização updateAgentSettings, a julgar pelo nome, é necessária para que a mudança do provedor ativo em um dispositivo seja refletida nos outros.
Onde a tela reside no cliente
A linha de conexão é chamada AgentConnectRowItem e está no módulo PeerInfoUI, que desenha as páginas de perfil de usuários, bots e canais. Próximo a ela estão AgentProfileRow, AgentConnections e o serviço TelegramAgentService. Na descrição do perfil, apareceu o atributo isAgent, e no botão do perfil, ao lado do flag launchApp, que marca o lançamento de um mini aplicativo, há o flag agentSetup. Parece que a configuração é aberta a partir da página do próprio bot-agente por um botão, e não das configurações gerais do aplicativo, mas esta é uma interpretação baseada nos nomes.
Como se conversa com @agent após a conexão não é visível na build. Nas discussões, um vídeo mostra o modelo respondendo em um diálogo separado com @agent no servidor de teste.
O que há no servidor de teste
Até as 21:21 UTC de 22 de outubro, na resposta help.getAppConfig do servidor de teste, apareceu a chave agent_bot_ids com dois valores: 5000448925 e 2202931014; na captura de tela anterior do arquivo, de 20 de outubro às 19:09 UTC, ela não estava presente. Até 26 de outubro, não houve alteração. Na configuração do servidor de produção, essa chave não estava presente em 26 de outubro. O servidor de teste do Telegram é um ambiente separado com suas próprias contas, portanto, esses identificadores não revelam quais são esses bots no Telegram comum.
No mesmo arquivo de configuração e no servidor de produção, desde 20 de outubro, está presente bot_allowed_suffixes — os sufixos agent, ai, app, game e gay, com os quais um bot pode obter um segundo username. Bots do tipo "...agent" e @agent são coisas diferentes: o sufixo está disponível para qualquer proprietário de bot com Premium, enquanto @agent é uma conta específica.
O username @agent está ocupado: ele foi vendido em leilão no Fragment em 27 de novembro de 2022 por 70 000 TON, e a página t.me/agent estava vazia em 27 de outubro. Não é possível determinar, a partir dos dados abertos, se a menção a @agent na beta está relacionada a essa conta.
Onde as funções ainda não estão disponíveis
Em 27 de outubro, o agente não está presente no esquema público da API — nem em api.tl do Telegram Desktop (camada 232), nem em td_api.tl do TDLib — nem no código aberto dos clientes. No Info.plist do repositório telegram-macos, aberto em 23 de outubro, a build é a 283357, cinco números antes daquela em que o agente apareceu; os arquivos do agente não estão no repositório. O código compartilhado com iOS em Telegram-iOS também não o contém, embora na beta do macOS os erros AGENT_* estejam exatamente na parte comum, TelegramCore.
Nas mesmas betas do macOS, está em andamento o trabalho nos widgets em mensagens que escrevem para o bot; eles, assim como o agente, ainda não estão no esquema público nem na Bot API.
Como isso difere da IA no Telegram atualmente
O Telegram já possui suas próprias funções de IA para texto: na configuração do servidor de produção, estão os parâmetros aicompose_tone_* — número de exemplos de tom, comprimento de seu nome e prompt, limite de tons salvos.




