【开源自荐】EdgeChat:Cloudflare 自部署团队聊天,支持 Telegram 桥接、跨实例同步与语音通话
还没有人认领这个 Issue。
评估
- 难度
- 1/5
- 预计耗时
- 1 小时以内
- 新手友好度
- 20/100
- Issue 类型
- 文档
- 描述清晰度
- 需要澄清
- 活跃度
- 活跃
- 技术栈
- docker, github-actions, typescript, vite
- 领域
- content
调研方向
This is a project self-recommendation for the weekly issue list, not a request to change EdgeChat. Read the listed project documentation and repository README to verify the summary and links; done means the entry accurately represents the project. The payload names no files or tests in the OpenGithubs/weekly repository, so first locate its contribution guidance and the format used for project listings.
由索引模型根据 Issue 内容生成。
描述
-
项目名称:EdgeChat(项目方自荐)
-
开源协议:GNU GPL v3.0 or later
-
项目简介(100 字以内):基于 Cloudflare 的开源自部署聊天系统,无需维护服务器。支持群聊与私信、Telegram 双向桥接、跨实例同步、富文本、语音与文件、管理后台及 GitHub Actions 自动部署。
-
项目截图(3 张,均来自 README):



主要功能
- 实时聊天与群组协作:公开群组、私有群组、一对一私信,支持创建群组、邀请与管理成员、群名称与头像设置、在线状态、历史消息分页、未读计数、已读状态、消息回复、引用定位、群聊 @ 提及与提醒;管理员或群主可置顶、取消置顶和删除群消息。
- Markdown 与富文本:消息正文支持 Markdown,输入区可原位展开所见即所得编辑器;编辑器按需加载,展开和收起保留草稿,兼容回复、提及与附件流程,支持复制 Markdown 原文;消息中的远程图片不自动加载。
- 文件与语音消息:分享图片、视频、音频和普通文件,支持附件预览与下载;浏览器录音提供实时波形、取消和发送,语音播放支持进度跳转、1x / 1.5x / 2x 倍速,同一时间只播放一条语音。
- 一对一语音通话:网页私聊使用 WebRTC,默认 P2P,配置 Cloudflare TURN 凭据后可在直连失败时自动回退,也可手动切换 P2P / TURN;提供来电提示、接听、拒接、静音、挂断与时长,切换聊天或通讯录不打断通话。
- Telegram 双向桥接:管理员可将公开或私有群组与 Telegram 群组绑定,双向同步文字、图片、视频、语音、音频和普通文件,展示 Telegram 来源、外部发送者头像并支持回复关系;一对一私信不参与桥接。
- 跨实例群组同步:两个独立部署的 EdgeChat 站点,经双方管理员邀请、认领和确认后绑定群组,双向同步绑定后的本站原创纯文字,展示昵称与来源实例;支持暂停、恢复、解绑及投递队列状态查看,来自其他桥的消息不会继续跨桥扩散。
- 通知与 PWA:前台站内通知、后台浏览器系统通知、会话免打扰及提及/回复优先提醒;支持安装为 PWA 和点击通知进入对应会话。用户还可绑定站点 Telegram Bot,在关闭网页后接收私信与群聊 @ 提醒,两类提醒可分别开关,通知不包含消息正文。
- 通讯录与个人设置:站内通讯录支持姓名/用户名搜索,资料卡展示个人简介并可发起私信;支持显示名、头像裁剪、个人简介、自定义背景与修改密码;私信可拉黑或解除拉黑,拉黑期间双方发送受限,历史消息保留。
- 管理后台:仪表盘聚合统计、用户创建与管理、注册邀请链接、密码重置、永久或按天/小时/分钟的临时封禁与提前解封;群聊及成员面板展示管理员和禁言头衔,临时封禁到期自动恢复;可管理站点名称与图标、Telegram 配置、跨实例绑定,并查看 R2 存储统计、检查部署更新、执行只读维护自检及导出脱敏诊断报告。
- 隐身模式与数据管理:管理员可选择收敛未登录访问入口,隐藏公开注册与未认证客户端入口,使用独立认证网关;目的在于减少未登录攻击面,不是匿名服务或规避审查工具。支持按配置定时硬删除过期消息、清理孤儿附件。
- 服务端静态加密:新写入消息正文与新上传附件使用 AES-256-GCM 加密,支持密钥轮换并保留旧密钥读取历史密文;管理后台不提供消息正文查看入口。这里是服务端加密,不是端到端加密,仍需信任部署方与 Cloudflare 运行环境。
- 多语言与多端体验:Liquid Glass 风格界面适配桌面和手机浏览器,支持简体中文、繁体中文与英文,按浏览器语言首次选择并保留手动设置;页面、编辑器与弹窗按需加载,提供基础无障碍支持。
- 部署与自动化扩展:前端 Vue 3 + Vite,后端 Hono + Cloudflare Workers,结合 D1、KV、R2、Durable Objects 与 WebSocket Hibernation;通过内置 GitHub Actions 自动准备/复用资源、执行数据库迁移和部署更新,也支持 Wrangler 手动部署与 Docker 本地开发。兼容 WebMCP 的客户端可通过站点工具登录、查询群聊、读取/发送文字消息和打开私聊,沿用现有账号权限。
补充说明
- 适合团队、项目协作和小圈子社区,也适合已有 Telegram 群、希望增加独立网页聊天入口的用户。应用与数据部署在自己的 Cloudflare 账号下,源码可自行修改。
- 在线 Demo 是浏览器内存模拟,不连接真实多人后端;刷新或重置恢复初始数据,不会写入生产数据,也不会建立真实通话。
- 语音通话目前仅覆盖在线网页的一对一语音,不支持群聊通话、视频或后台离线来电;未配置 TURN 时仅 P2P 可用。跨实例绑定只同步绑定后的新纯文字,不回填历史,也不支持附件同步。
- 仓库提供可连接自托管实例的 Capacitor Android 预发行客户端,目前暂停 Android 开发,不承诺应用停止后的后台推送;暂时弃用的原生 Compose 客户端源码仍保留。
- 项目免费开源,但 Cloudflare 资源和 TURN 的费用取决于套餐、配置与实际用量,不代表云服务无限免费。
- 主要语言
- 没有语言数据
- 星标
- 1.8k
- 派生
- 71
- PR 合并指标
- 30 天内没有已合并 PR
环境准备
这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
OpenGithubs/weekly 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 72/100
OpenGithubs/weekly#157 ·
-
难度 1/5 1 小时以内 新手友好度 72/100
OpenGithubs/weekly#128 ·
-
难度 2/5 1-3 小时 新手友好度 65/100
OpenGithubs/weekly#106 ·
-
难度 2/5 1-3 小时 新手友好度 22/100
OpenGithubs/weekly#162 ·
-
难度 2/5 1-3 小时 新手友好度 35/100
OpenGithubs/weekly#161 ·
查看 OpenGithubs/weekly 的全部 Issue
相似的 Issue
-
documentation
难度 1/5 1 小时以内 新手友好度 88/100
维护者通常 1 天内回复
-
correction revision
难度 2/5 1-3 小时 新手友好度 68/100
acl-org/acl-anthology#10182 ·
维护者通常 1 天内回复
-
duplicate request-theme
难度 1/5 1 小时以内 新手友好度 72/100
LizardByte/ThemerrDB#8856 · 1 条评论 ·
维护者通常 1 天内回复
-
[Area] Admin UI [Type] Documentation Good First Issue
难度 2/5 1-3 小时 新手友好度 78/100
WordPress/presence-api#744 ·
维护者通常 1 天内回复
-
community first-timers-only good first issue hacktoberfest help wanted low hanging fruit up-for-grabs
难度 1/5 1 小时以内 新手友好度 90/100
lingdojo/kana-dojo#31728 · 1 条评论 · 5 个 reaction ·
维护者通常 1 天内回复