Telegram sedang menyiapkan bot @agent, yang dapat dihubungkan dengan kunci API Anda sendiri dari layanan AI seperti Claude, ChatGPT, Gemini, Grok, atau OpenRouter. Layar koneksi ini muncul di beta build Telegram untuk macOS 13.1.0 pada pagi hari tanggal 23 Oktober dan tetap tidak berubah hingga build 283392 pada tanggal 27 Oktober. Berdasarkan skema API dalam beta build, kunci tersebut tampaknya tetap berada di server Telegram: server hanya mengembalikan empat karakter terakhir dari kunci dan tanggal koneksi kepada klien. Ini berlaku bagi mereka yang sudah berlangganan salah satu provider. Di production server, daftar bot agen masih kosong: kunci agent_bot_ids muncul di konfigurasi test server Telegram pada pukul 21:21 UTC tanggal 22 Oktober, namun belum ada di production server hingga 26 Oktober. Video dalam diskusi menunjukkan dialog yang berfungsi dengan @agent di test server.
Apa yang Ada dalam Build
Beta build macOS didistribusikan melalui feed pembaruan mac-updates.telegram.org, dan setiap build di dalamnya adalah file zip berisi aplikasi. Pada build 13.1.0.283359 tanggal 21 Oktober, tidak ada baris kode agen. Baris kode tersebut muncul di build 13.1.0.283362, yang dirilis pada pagi hari tanggal 23 Oktober, dan tetap ada dalam bentuk yang sama di build 13.1.0.283391 tanggal 26 Oktober dan 13.1.0.283392 tanggal 27 Oktober.
Teks pada layar baru:
- "Use the API key from an AI service you have already purchased to set up your own AI chatbot" — kunci dari layanan AI yang sudah Anda beli diubah menjadi chatbot Anda sendiri.
- "Select the AI provider you have an account with" — pilih provider AI tempat Anda memiliki akun.
- "Add Your AI API Key", "Enter your API key" dan petunjuk "Get your API key or API token in your AI provider's settings": kunci diambil dari pengaturan provider itu sendiri.
- "This chatbot works only if you have an active subscription for an AI service" — bot tidak akan berfungsi tanpa langganan aktif dari provider AI.
- "Add Another Provider" dan "Right-click a provider to delete it" — Anda dapat menghubungkan beberapa provider dan menghapusnya satu per satu.
- "You can reconnect this provider with an API key later" — provider yang terputus dapat dihubungkan kembali dengan kunci baru.
- "Could not connect. Try again." dan "The provider is unavailable. Try again." — pesan tentang kegagalan koneksi.
- "You can now use @agent" — pesan terakhir setelah koneksi berhasil.
Ada lima provider dalam kode: AgentProviderClaude, AgentProviderChatGPT, AgentProviderGemini, AgentProviderGrok, dan AgentProviderOpenRouter. Salah satunya memiliki keterangan "Hundreds of models". OpenRouter adalah agregator yang memberikan akses ke model dari berbagai perusahaan dengan satu kunci, dan keterangan tersebut, kemungkinan besar, merujuk padanya.
Apa yang Disimpan Server
Dalam skema MTProto yang tertanam dalam build, muncul empat tipe dan satu pembaruan. Bidang-bidangnya adalah sebagai berikut:
| Tipe | Bidang | Artinya |
|---|---|---|
agentProvider | vendor, keyUrl, iconEmojiId, modelsSearchable | deskripsi provider: siapa dia, tautan ke halaman kunci, ikon, apakah modelnya dapat dicari |
providerKey | provider, keyLast4, dateConnected | kunci yang terhubung: ke provider mana, empat karakter terakhir, tanggal koneksi |
settings | activeProvider | provider mana dari yang terhubung yang saat ini bertanggung jawab atas @agent |
providers / providersNotModified | — | daftar provider dari server |
updateAgentSettings | — | berdasarkan namanya, pembaruan yang dikirim server saat pengaturan berubah |
Pasangan "daftar dan NotModified" dalam API Telegram berarti daftar yang diminta klien dari server dan di-cache berdasarkan hash, seperti tema (account.themes/account.themesNotModified) atau wallpaper. Oleh karena itu, daftar provider beserta ikon dan tautan ke halaman kunci datang dari server dan dapat diperbarui tanpa build baru. Alamat halaman kunci tidak ada di aplikasi; ada potongan string "Get your API key in [", yang, berdasarkan bidang keyUrl, akan diisi dengan tautan dari server.
Kunci API secara keseluruhan tidak disimpan dalam deskripsi koneksi — hanya keyLast4. Kesalahan dicatat dalam format di mana server Telegram merespons permintaan: AGENT_KEY_INVALID, AGENT_KEY_MISSING, AGENT_NOT_AVAILABLE, AGENT_PROVIDER_UNAVAILABLE. Berdasarkan skema, kunci diperiksa oleh server Telegram, dan kunci tersebut, kemungkinan besar, tetap berada di server setelah koneksi. Apakah permintaan ke model itu sendiri juga melalui server yang sama, tidak terlihat dari skema. Alamat API Claude, OpenAI, Google, xAI, atau OpenRouter tidak ada dalam build, jadi aplikasi, kemungkinan besar, tidak berkomunikasi langsung dengan provider. Pembaruan updateAgentSettings, jika dilihat dari namanya, diperlukan agar perubahan provider aktif pada satu perangkat dapat tersinkronisasi ke perangkat lain.
Di Mana Layar Ini Berada di Klien
Baris koneksi disebut AgentConnectRowItem dan terletak di modul PeerInfoUI, yang menggambar halaman profil pengguna, bot, dan saluran. Di dekatnya ada AgentProfileRow, AgentConnections, dan layanan TelegramAgentService. Dalam deskripsi profil, muncul indikator isAgent, dan pada tombol di profil di samping flag launchApp, yang menandai peluncuran mini app, ada flag agentSetup. Tampaknya pengaturan dibuka dari halaman bot agen itu sendiri melalui tombol, bukan dari pengaturan umum aplikasi, tetapi ini adalah interpretasi berdasarkan nama.
Bagaimana percakapan dengan @agent setelah koneksi tidak terlihat dalam build. Dalam diskusi, sebuah video menunjukkan model merespons dalam dialog terpisah dengan @agent di test server.
Apa yang Ada di Test Server
Pada pukul 21:21 UTC tanggal 22 Oktober, dalam respons help.getAppConfig dari test server, muncul kunci agent_bot_ids dengan dua nilai: 5000448925 dan 2202931014; dalam snapshot file sebelumnya, dari 20 Oktober pukul 19:09 UTC, kunci ini tidak ada. Hingga 26 Oktober, kunci ini tidak berubah. Dalam konfigurasi production server, kunci semacam itu tidak ada hingga 26 Oktober. Test server Telegram adalah lingkungan terpisah dengan akunnya sendiri, jadi tidak mungkin mengetahui bot apa ini di Telegram biasa berdasarkan ID tersebut.
Dalam konfigurasi yang sama dan di production server sejak 20 Oktober, terdapat bot_allowed_suffixes — akhiran agent, ai, app, game, dan gay, yang memungkinkan bot untuk memiliki nama pengguna kedua. Bot jenis "...agent" dan @agent adalah hal yang berbeda: akhiran tersedia untuk setiap pemilik bot dengan Premium, sedangkan @agent adalah satu akun spesifik.
Nama pengguna @agent sudah diambil: dijual di lelang Fragment pada 27 November 2022 seharga 70.000 TON, dan halaman t.me/agent pada 27 Oktober masih kosong. Apakah penyebutan @agent dalam beta build terkait dengan akun ini, tidak terlihat dari data publik.
Di Mana Fungsi Ini Belum Ada
Pada 27 Oktober, agen ini belum ada di skema API publik — baik di api.tl Telegram Desktop (layer 232), maupun di td_api.tl TDLib — dan juga belum ada di kode klien sumber terbuka. Dalam Info.plist dari repositori telegram-macos yang dibuka pada 23 Oktober — build 283357, lima nomor lebih awal dari build tempat agen muncul; file agen tidak ada di repositori. Kode yang sama dengan iOS di Telegram-iOS juga tidak mengandungnya, meskipun dalam beta build macOS, kesalahan AGENT_* justru terletak di bagian umum, TelegramCore.
Dalam beta build macOS yang sama, sedang dikerjakan widget dalam pesan yang menulis ke bot; seperti agen, widget ini juga belum ada di skema publik maupun di Bot API.
Perbedaan dengan AI di Telegram Saat Ini
Telegram sudah memiliki fungsi AI sendiri untuk teks: dalam konfigurasi production server, terdapat parameter aicompose_tone_* — jumlah contoh nada, panjang nama dan prompt-nya, batas nada yang disimpan.




