Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

【开源自荐】EdgeChat:Cloudflare 自部署团队聊天,支持 Telegram 桥接、跨实例同步与语音通话

Aperta
#160 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
1/5
Tempo stimato
Meno di un'ora
Idoneità per principianti
20/100
Tipo di issue
Documentazione
Chiarezza
Da chiarire
Stato di attività
Attiva
Stack tecnologico
docker, github-actions, typescript, vite
Ambito
content

Direzione di ricerca

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.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

  • 项目名称:EdgeChat(项目方自荐)

  • 项目地址:https://github.com/aozorae/Edgechat

  • 在线体验:https://edgechat-demo.wcjxxgaq.workers.dev

  • 项目文档:https://echat.azora.top/

  • 开源协议:GNU GPL v3.0 or later

  • 项目简介(100 字以内):基于 Cloudflare 的开源自部署聊天系统,无需维护服务器。支持群聊与私信、Telegram 双向桥接、跨实例同步、富文本、语音与文件、管理后台及 GitHub Actions 自动部署。

  • 项目截图(3 张,均来自 README):

EdgeChat 项目头图

EdgeChat 聊天界面

EdgeChat 管理后台

主要功能
  1. 实时聊天与群组协作:公开群组、私有群组、一对一私信,支持创建群组、邀请与管理成员、群名称与头像设置、在线状态、历史消息分页、未读计数、已读状态、消息回复、引用定位、群聊 @ 提及与提醒;管理员或群主可置顶、取消置顶和删除群消息。
  2. Markdown 与富文本:消息正文支持 Markdown,输入区可原位展开所见即所得编辑器;编辑器按需加载,展开和收起保留草稿,兼容回复、提及与附件流程,支持复制 Markdown 原文;消息中的远程图片不自动加载。
  3. 文件与语音消息:分享图片、视频、音频和普通文件,支持附件预览与下载;浏览器录音提供实时波形、取消和发送,语音播放支持进度跳转、1x / 1.5x / 2x 倍速,同一时间只播放一条语音。
  4. 一对一语音通话:网页私聊使用 WebRTC,默认 P2P,配置 Cloudflare TURN 凭据后可在直连失败时自动回退,也可手动切换 P2P / TURN;提供来电提示、接听、拒接、静音、挂断与时长,切换聊天或通讯录不打断通话。
  5. Telegram 双向桥接:管理员可将公开或私有群组与 Telegram 群组绑定,双向同步文字、图片、视频、语音、音频和普通文件,展示 Telegram 来源、外部发送者头像并支持回复关系;一对一私信不参与桥接。
  6. 跨实例群组同步:两个独立部署的 EdgeChat 站点,经双方管理员邀请、认领和确认后绑定群组,双向同步绑定后的本站原创纯文字,展示昵称与来源实例;支持暂停、恢复、解绑及投递队列状态查看,来自其他桥的消息不会继续跨桥扩散。
  7. 通知与 PWA:前台站内通知、后台浏览器系统通知、会话免打扰及提及/回复优先提醒;支持安装为 PWA 和点击通知进入对应会话。用户还可绑定站点 Telegram Bot,在关闭网页后接收私信与群聊 @ 提醒,两类提醒可分别开关,通知不包含消息正文。
  8. 通讯录与个人设置:站内通讯录支持姓名/用户名搜索,资料卡展示个人简介并可发起私信;支持显示名、头像裁剪、个人简介、自定义背景与修改密码;私信可拉黑或解除拉黑,拉黑期间双方发送受限,历史消息保留。
  9. 管理后台:仪表盘聚合统计、用户创建与管理、注册邀请链接、密码重置、永久或按天/小时/分钟的临时封禁与提前解封;群聊及成员面板展示管理员和禁言头衔,临时封禁到期自动恢复;可管理站点名称与图标、Telegram 配置、跨实例绑定,并查看 R2 存储统计、检查部署更新、执行只读维护自检及导出脱敏诊断报告。
  10. 隐身模式与数据管理:管理员可选择收敛未登录访问入口,隐藏公开注册与未认证客户端入口,使用独立认证网关;目的在于减少未登录攻击面,不是匿名服务或规避审查工具。支持按配置定时硬删除过期消息、清理孤儿附件。
  11. 服务端静态加密:新写入消息正文与新上传附件使用 AES-256-GCM 加密,支持密钥轮换并保留旧密钥读取历史密文;管理后台不提供消息正文查看入口。这里是服务端加密,不是端到端加密,仍需信任部署方与 Cloudflare 运行环境。
  12. 多语言与多端体验:Liquid Glass 风格界面适配桌面和手机浏览器,支持简体中文、繁体中文与英文,按浏览器语言首次选择并保留手动设置;页面、编辑器与弹窗按需加载,提供基础无障碍支持。
  13. 部署与自动化扩展:前端 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 的费用取决于套餐、配置与实际用量,不代表云服务无限免费。
Lingua principale
Nessun dato sulla lingua
Stelle
1.8k
Fork
71
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di OpenGithubs/weekly

Tutte le issue di OpenGithubs/weekly

Issue simili

Altre issue su Content

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.