字节笔记本
2026年8月30日
telegram-tt:官方开源的 Telegram Web 客户端
打开 web.telegram.org/a 用的那套前端,其实是开源的:仓库叫 Ajaxy/telegram-tt,也就是 Telegram Web A。它当年拿过 Telegram Lightweight Client Contest 第一名,后来成了官方 Web 客户端之一。
如果你想自己本地跑一份、改 UI,或者研究 MTProto 在浏览器里怎么落地,这份仓库够用。
它和别的 Telegram Web 有什么不一样
官方同时维护好几套 Web 客户端。Web A 这边比较特别的是:
- 几乎零外部依赖,UI 层基于自研的 Teact(按 React 思路重写)
- MTProto 走的是定制版 GramJS
- 大量用上 WebSocket、Web Worker、WebAssembly、多级缓存、PWA、语音录制和媒体流
所以它既是日常聊天产品,也是浏览器实时应用的参考。
本地跑起来
准备好运行环境。 先克隆官方仓库 Ajaxy/telegram-tt。 复制环境示例文件为 .env,再安装依赖。 到 my.telegram.org 申请 API ID 和 hash,写入 .env。 不要用别人的密钥。 开发模式启动后,用浏览器打开本地地址,扫码或登录。
在控制台直接调接口
开发服务起来后,控制台里能找到 GramJS worker 上下文。 全局有 GramJs,构造器和函数都挂在上面。 若要完整方法列表,可先生成全量 TL 定义,再在控制台 invoke。 适合调试权限、协议字段,或验证某个 RPC 在 Web 端的表现。
适合拿来做什么
- 二次开发或主题定制:Teact 组件树相对可控
- 学习 MTProto 加浏览器栈:从会话到本地缓存、媒体流都在仓库里
- 实验环境部署:自建一份 Web 客户端做演示或教学(注意合规)
日常聊天直接用 web.telegram.org/a;要改代码再 clone 仓库。
提 bug 和贡献
仓库欢迎 PR。线上产品问题建议走 Telegram Suggestions Platform。 许可证是 GPL v3,二次分发前先看清义务。
小结
telegram-tt 是官方 Web A 的源码,不是第三方山寨客户端。 本地开发模式就能起来,配上自己的 API 凭证即可登录。 想研究浏览器实时应用或动手改 Web 聊天界面,从这份仓库开始就够了。
仓库:https://github.com/Ajaxy/telegram-tt 线上:https://web.telegram.org/a Teact:https://github.com/Ajaxy/teact GramJS:https://github.com/gram-js/gramjs