光线与消息在此交错

基于 Supabase Realtime 的极速聊天应用 · 支持多媒体、匿名、在线状态 · 全平台 Web 即开即用

🌐 Web 版 💻 Windows 版 📱 Android 版
Web 版 · 即时可用,无需安装 · 支持所有现代浏览器
Windows 版 v0.0.1 · 31.4 MB · 支持 Windows 10/11
Android 版 v2.1.0 · 10.8 MB · 支持 Android 9+
消息实时同步,低延迟架构,支持图片/视频/音频,匿名与登录共存

📊 棱镜·数据看板

总消息数
今日消息
总用户数
近30日日均活跃

💬 用户心声

加载评价...
📝 留下你的评价
点击星星打分(1–5星),写下你的感受
当前:0

📨 最新公共消息

加载最新消息...

✨ 核心特性

实时消息

基于 Supabase Realtime + WebSocket,消息推送延迟低于 50ms,无刷新自动更新,体验流畅。

🖼️

多媒体分享

支持上传图片、视频、音频,也支持麦克风录音,文件大小上限 50MB,自动生成预览。

👤

匿名与登录

未登录可匿名发言,登录后拥有专属身份,消息记录云端同步,灵活切换。

🛡️

权限控制

支持消息编辑与删除,权限细化管理,不同角色拥有不同操作权限,保障内容健康。

🟢

在线状态

实时显示在线人数,新用户加入/离开有动态提示,社交感更强。

🎨

玻璃质感 UI

毛玻璃 + 渐变光效,支持简约模式切换,视觉舒适,适配深色/浅色。

📱

全平台 Web

浏览器直接访问,无需安装,手机、平板、电脑均可使用,消息同步。

🔐

行级安全 (RLS)

数据表启用 PostgreSQL RLS,匿名与登录用户权限分离,确保数据安全。

📷

原画质上传

所有媒体直接上传,完整保留每一处细节。单个文件最大支持 50MB,素材高品质。支持 HEIC/WebP 等现代格式。

🎤

语音录制

内置录音功能,一键录制并发送音频消息,沟通更便捷。

📥

滚动加载更多

消息列表支持无限滚动,历史消息自动加载,浏览更轻松。

🧩

简约模式

一键切换至纯色背景、无毛玻璃效果,适合低性能设备或偏好简洁的用户。

🚀 快速部署

1️⃣ 注册并获取配置

📌 创建项目
访问 Supabase 官网,创建新项目。妥善保存 Database Password。

📌 获取 Project URL 和 anon public 密钥
Settings → API 中复制 Project URLanon public 密钥(非 service_role)。

2️⃣ 生成专属应用链接

填入 Project URL 和 anon public 密钥,生成可直接访问的应用链接。

复制此链接,在浏览器中打开即可使用

3️⃣ 执行数据库初始化 SQL

在 Supabase SQL Editor 中执行以下脚本(创建表、RLS、存储桶)。

4️⃣ 部署应用
  • 方式一:直接使用生成的链接 — 即步骤2生成的链接,打开即可使用。
  • 方式二:部署到静态托管平台 — 下载 index.html,部署到 Cloudflare Pages / Netlify / Vercel。

提示:如需手动修改配置,替换 SUPABASE_URLSUPABASE_ANON_KEY

5️⃣ 校验部署
  • 注册与登录、发送消息、发送媒体、实时同步、在线状态、管理员权限。
  • 如遇问题,参考下方常见问题。
❓ 部署常见问题
🔐 登录失败:Email not confirmed
原因:Supabase 默认开启了邮箱确认。解决方案:在 Supabase 仪表盘中,进入 Authentication → Settings,将 Confirm email 开关关闭(或开启 “Allow unconfirmed users to sign in”)。保存后重新注册即可。
📊 加载消息失败:Could not find the table 'public.messages' in the schema cache
原因:SQL 脚本未正确执行或表未被创建。解决方案:回到 SQL Editor,重新执行完整的 SQL 脚本(步骤3),确保没有报错。执行后刷新应用。
📎 上传文件失败:Permission denied or Bucket not found
检查存储桶 media 是否已创建,以及 RLS 策略是否已应用。确认 SQL 脚本中包含存储桶创建语句,并已在 SQL Editor 中执行。
🔄 消息不能实时更新
检查浏览器控制台是否有 WebSocket 连接错误。可能原因:Supabase 项目 URL 填写错误,或网络环境阻止了 Realtime 连接。确认 SUPABASE_URL 无误,并检查防火墙设置。
🔑 如何将普通用户升为管理员?
在 Supabase 仪表盘的 Table Editor 中打开 profiles 表,找到目标用户记录,将其 is_admin 字段值由 false 改为 true,点击保存。刷新应用后,该用户即可看到消息的“编辑”和“删除”按钮。
📦 媒体文件存储在哪里?
所有图片、视频、音频均存储在 Supabase Storage 的 media 桶中,文件公开可读,仅管理员可删除(由存储桶策略控制)。
🛡️ RLS 策略是否足够安全?
是的,所有查询都经过行级安全策略限制,匿名用户无法修改任何数据,认证用户只能插入消息(无法更新/删除),仅管理员拥有完整增删改权限。建议定期审查策略以确保符合你的业务需求。
📱 移动端适配如何?
Web 版已完全适配移动端浏览器,适用了所有现代浏览器。
🔧 如果遇到其他错误怎么办?
请按顺序检查:① Supabase 项目是否正常运行;② URL 和 anon key 是否填写正确(无多余空格);③ 是否已执行完整的 SQL 脚本;④ 浏览器控制台(F12)有无报错。也可使用电话直接联系开发者。
📝 应用名称和图标可以修改吗?
可以。下载源码后,修改 <title> 标签和导航栏中的文字,替换 <link rel="icon"> 即可。
📌 如何升级到最新版本?
重新下载最新源码,替换原有 index.html 文件(注意备份配置)。若使用生成的链接,则始终指向最新在线版本,无需手动升级。

❓ 常见问题

🔐 我的数据安全吗?
所有请求通过 HTTPS 加密,数据库 RLS 策略严格限定访问范围,匿名用户仅能读取消息,无法修改或删除。密码通过 Supabase Auth 安全存储。
📱 原生移动端支持如何?
目前 Web 版已适配移动端浏览器,可在手机上直接使用。同时 Windows 版已提供下载,Android 原生客户端测试中,后续将提供更加流畅的原生体验。
📨 离线消息能收到吗?
Web 版需保持页面打开,离线期间的消息将在重新连接后通过 Realtime 自动拉取,不会丢失。
👥 群组最多支持多少人?
当前为公开聊天室,无群组概念,所有在线用户共同参与,未来可能拓展频道功能。
🎤 录音功能如何工作?
使用浏览器 MediaRecorder API 录制麦克风,生成 WebM 音频文件,上传后作为消息媒体发送,支持最长 5 分钟录制。
🧹 如何清除我的消息?
普通用户目前无法自主删除,具备权限的角色可代为删除。未来将开放用户自删功能。

📋 更新日志

v2.1.02026-07-10
  • 新增 语音录制功能
  • 优化 滚动加载更多
  • 修复 媒体上传进度显示异常
v2.0.52026-03-06
  • 新增 简约模式切换
  • 新增 消息编辑/删除权限控制
  • 优化 在线状态显示更实时
v2.0.02026-04-12
  • 重大 全新玻璃质感 UI 上线
  • 新增 多媒体上传
  • 新增 匿名与登录双模式

🔍 深入技术原理

⚡ 实时消息如何实现?
前端通过 Supabase Realtime 订阅 `messages` 表的 INSERT/UPDATE/DELETE 事件,服务端通过 PostgreSQL 触发器推送变更,WebSocket 长连接保证低延迟推送,无需轮询。
🔒 匿名与登录的数据隔离?
`messages` 表中 `user_id` 允许为 NULL(匿名),行级安全策略 (RLS) 控制读取权限:所有用户可读,但只有登录用户可插入带 user_id 的消息,匿名插入则 user_id 为 NULL。
📦 媒体文件存储与分发?
使用 Supabase Storage,通过 Token 认证上传,文件存储于 `media` bucket,生成公开 URL 供访问,支持断点续传,CDN 加速。
🟢 在线状态如何追踪?
使用 Supabase Realtime Presence API,每个客户端订阅 `online-users` 频道,自动追踪用户在线状态,实时更新人数和加入/离开事件。
🎨 简约模式原理?
通过 CSS 类 `simple-mode` 覆盖样式,移除 `backdrop-filter`、`blur`、`box-shadow` 等复杂效果,降低 GPU 负担,提升老旧设备流畅度。
🛡️ 权限控制如何实现?
`profiles` 表有 `is_admin` 字段用于标识特殊权限,前端根据该字段显示编辑/删除按钮,后端 RLS 策略限制仅特定角色可 UPDATE/DELETE 消息,实现细粒度权限管理。
✉️

联系我们

Liyueharbor@126.com

如有任何问题或建议,欢迎发送邮件。
我们将在工作日内及时回复。

📧 发送邮件

管理员模式

⏳ 待审核评价
✅ 已审核评价