telegram-tt

telegram-tt

轻量级多平台 Telegram Web 客户端

telegram-tt 是一个开源的轻量级 Telegram Web 客户端项目,曾在 Telegram 轻量级客户端竞赛中获得一等奖。它采用自研的 Teact 框架和定制版 GramJS,实现了 WebSocket、Web Workers 和 WebAssembly 等先进 Web 技术。该项目支持多平台,提供多级缓存、PWA、语音录制和媒体流等功能。作为 Telegram 官方客户端之一,用户可通过 web.telegram.org/a 访问使用。

Telegram Web A开源项目网页客户端通讯应用技术特性Github

Telegram Web A

该项目在 Telegram 轻量级客户端竞赛 中获得一等奖 🥇,现在已成为官方 Telegram 客户端,任何人都可以在 web.telegram.org/a 使用。

根据原始竞赛规则,它几乎没有依赖项,完全基于自己的 Teact 框架(重新实现了 React 范式)。它还使用了自定义版本的 GramJS 作为 MTProto 实现。

该项目包含许多技术先进的功能、现代 Web API 和技术:WebSocket、Web Worker 和 WebAssembly、多级缓存和 PWA、语音录制和媒体流、密码学和原始二进制数据操作、乐观和渐进式界面、复杂的 CSS/Canvas/SVG 动画、响应式数据流等等。

欢迎探索、提供反馈和贡献。

本地设置

mv .env.example .env npm i

my.telegram.org 获取 API ID 和 API hash,并填入 .env 文件。

开发模式

npm run dev

从控制台调用 API

启动开发服务器并在控制台上下文中找到 GramJS worker。

所有构造函数和函数都可在全局 GramJs 变量中使用。

运行 npm run gramjs:tl full 以访问所有可用的 Telegram 请求。

示例用法:

await invoke(new GramJs.help.GetAppConfig())

Electron

Electron 允许构建可以在 Windows、macOS 和 Linux 上安装的原生应用程序。

NPM 脚本

  • npm run dev:electron

在开发模式下运行 Electron,同时启动 3 个进程并监视变更:main(主 Electron 进程)、renderer(前端代码)和 Webpack for Electron(将主 Electron 进程从 TypeScript 编译)。

  • npm run electron:webpack

Electron 的主进程代码(包括预加载功能)使用 TypeScript 编写,并使用 webpack-electron.config.js 配置编译为 JavaScript 代码。

  • npm run electron:build

准备 renderer(前端代码)构建,编译 Electron 主进程代码,安装和构建原生依赖项,在打包或发布前使用。

  • npm run electron:staging

dist-electron 文件夹中为 macOS、Windows 和 Linux 创建包,APP_ENV 设置为 staging(允许打开 DevTools,包含源码映射且不压缩构建的 JavaScript 代码),可用于手动分发和测试打包的应用程序。

  • npm run electron:production

dist-electron 文件夹中为 macOS、Windows 和 Linux 创建包,APP_ENV 设置为 production(禁用 DevTools,压缩构建的 JavaScript 代码),可用于手动分发和测试打包的应用程序。

  • npm run deploy:electron

dist-electron 文件夹中为 macOS、Windows 和 Linux 创建包,并发布版本到 GitHub,支持自动更新。更多信息请参见 GitHub 发布工作流

MacOS 上的代码签名

要为应用程序签名,请按以下步骤操作:

  • /certs 文件夹中的证书安装到钥匙串的 login 文件夹中。
  • Apple PKI 页面下载并安装 Developer ID - G2 证书。
  • 在钥匙串应用程序中,转到与开发者证书关联的私钥。然后执行 key > Get Info > Access Control。确保您的应用程序(Xcode)在 Always allow access by these applications 列表中,并确保 Confirm before allowing access 已开启。
  • 发布应用程序时,将自动使用钥匙串中有效且适当的身份。

更多信息请参阅官方文档

MacOS 上的公证

应用程序公证在 electron-builder 模块中自动完成,需要传递 APPLE_IDAPPLE_APP_SPECIFIC_PASSWORD 环境变量。

如何获取应用特定密码:

  • 登录 appleid.apple.com
  • 在"登录和安全"部分,选择"应用特定密码"。
  • 选择"生成应用特定密码"或选择添加按钮,然后按照屏幕上的步骤操作。

GitHub 发布

GitHub 访问令牌

要发布新版本,需要将 GitHub 访问令牌添加到 .env 中。通过访问 https://github.com/settings/tokens/new 生成 GitHub 访问令牌。访问令牌应具有 repo 范围/权限。获得令牌后,将其分配给环境变量:

# .env
GH_TOKEN="{YOUR_TOKEN_HERE}"
发布设置

src/electron/config.yml 配置文件中的发布配置允许设置 GitHub 仓库所有者/名称。

发布工作流程
  • 运行 npm run electron:publish,这将创建新的草稿版本并将构建产物上传到新创建的版本。创建的版本将与 package.json 中的版本相同。
  • 完成后,发布该版本。GitHub 将标记最新提交。

依赖项

错误报告和建议

如果您发现此应用程序有任何问题,请使用 建议平台 告知 Telegram。

编辑推荐精选

QoderWork

QoderWork

阿里Qoder团队推出的桌面端AI智能体

QoderWork 是阿里推出的本地优先桌面 AI 智能体,适配 macOS14+/Windows10+,以自然语言交互实现文件管理、数据分析、AI 视觉生成、浏览器自动化等办公任务,自主拆解执行复杂工作流,数据本地运行零上传,技能市场可无限扩展,是高效的 Agentic 生产力办公助手。

音述AI

音述AI

全球首个AI音乐社区

音述AI是全球首个AI音乐社区,致力让每个人都能用音乐表达自我。音述AI提供零门槛AI创作工具,独创GETI法则帮助用户精准定义音乐风格,AI润色功能支持自动优化作品质感。音述AI支持交流讨论、二次创作与价值变现。针对中文用户的语言习惯与文化背景进行专门优化,支持国风融合、C-pop等本土音乐标签,让技术更好地承载人文表达。

lynote.ai

lynote.ai

一站式搞定所有学习需求

不再被海量信息淹没,开始真正理解知识。Lynote 可摘要 YouTube 视频、PDF、文章等内容。即时创建笔记,检测 AI 内容并下载资料,将您的学习效率提升 10 倍。

AniShort

AniShort

为AI短剧协作而生

专为AI短剧协作而生的AniShort正式发布,深度重构AI短剧全流程生产模式,整合创意策划、制作执行、实时协作、在线审片、资产复用等全链路功能,独创无限画布、双轨并行工业化工作流与Ani智能体助手,集成多款主流AI大模型,破解素材零散、版本混乱、沟通低效等行业痛点,助力3人团队效率提升800%,打造标准化、可追溯的AI短剧量产体系,是AI短剧团队协同创作、提升制作效率的核心工具。

seedancetwo2.0

seedancetwo2.0

能听懂你表达的视频模型

Seedance two是基于seedance2.0的中国大模型,支持图像、视频、音频、文本四种模态输入,表达方式更丰富,生成也更可控。

nano-banana纳米香蕉中文站

nano-banana纳米香蕉中文站

国内直接访问,限时3折

输入简单文字,生成想要的图片,纳米香蕉中文站基于 Google 模型的 AI 图片生成网站,支持文字生图、图生图。官网价格限时3折活动

扣子-AI办公

扣子-AI办公

职场AI,就用扣子

AI办公助手,复杂任务高效处理。办公效率低?扣子空间AI助手支持播客生成、PPT制作、网页开发及报告写作,覆盖科研、商业、舆情等领域的专家Agent 7x24小时响应,生活工作无缝切换,提升50%效率!

堆友

堆友

多风格AI绘画神器

堆友平台由阿里巴巴设计团队创建,作为一款AI驱动的设计工具,专为设计师提供一站式增长服务。功能覆盖海量3D素材、AI绘画、实时渲染以及专业抠图,显著提升设计品质和效率。平台不仅提供工具,还是一个促进创意交流和个人发展的空间,界面友好,适合所有级别的设计师和创意工作者。

图像生成AI工具AI反应堆AI工具箱AI绘画GOAI艺术字堆友相机AI图像热门
码上飞

码上飞

零代码AI应用开发平台

零代码AI应用开发平台,用户只需一句话简单描述需求,AI能自动生成小程序、APP或H5网页应用,无需编写代码。

Vora

Vora

免费创建高清无水印Sora视频

Vora是一个免费创建高清无水印Sora视频的AI工具

下拉加载更多