部署与数据

本站是一个静态站点,打开即用,不需要安装任何依赖。 下面只说明「数据存在哪里」和「怎么备份」。

一、数据存在哪里

内容存在哪换设备还能看到吗
账号、消息、房间服务器能
贴吧帖子服务器能
图片、视频、语音本机,上传后同步到服务器通常能
服务器连不上时会退回本机模式,页面顶部会明确提示。

【注意】 这里原来写的是「等恢复后不再可见于其他设备」——和代码不符,已改。 实际上文字消息会进「待发送队列」,联网后自动补发出去,对方能看到。 图片 / 视频 / 语音同样会补发(先传本体再发消息)。 这条旧说明的危害是双向的: 一方面让人以为离线时发什么都没用而不敢发; 另一方面真有人照着"反正发不出去"的心态, 在队列满或媒体存不下时忽略了界面上的失败提示。

队列有上限(200 条 / 2 MB / 7 天)。存不下时会明确提示, 不会假装成功——看到「没能加入队列」就是真的没进去, 这条内容恢复联网后不会自动补发,需要重发一次。

重要:重新上传代码或回滚版本,清不掉各人浏览器里的数据。 数据按域名存储,不按路径,所以把聊天室从 /Chat/ 搬到 /Chat/chat/ 不会丢数据。要清空只能本人清浏览器站点数据,或站长用「管理面板 → 站点 → 重置站点」。

二、跨设备搬运聊天数据

管理面板 → 站点 → 导出 JSON,在另一台设备上 导入 JSON。 导入走的是与同步完全相同的合并逻辑(按 id 去重、按时间取新、删除不可逆), 本地与上线版操作一致。

三、本地运行

# 方式 1:直接双击(最快,但部分浏览器会限制 IndexedDB 与录音)
双击 chat/index.html

# 方式 2:起本地服务(推荐,功能完整)
python3 chat/server.py --port 8000
# 浏览器打开 http://localhost:8000/

server.py 只用 Python 标准库,只是把静态文件以 http 方式送出去, 不存数据、不做同步。

四、桌面版与网页版怎么互通

它们读的是同一个服务端,所以消息本来就互通—— 在桌面版发的,网页上看得到,反之亦然。不需要你做任何同步。

唯一额外的一点是:桌面版在这台电脑上登录着的时候, 网页版登录页会多出一行「检测到这台电脑上已登录 XXX」, 点一下就能免输账号密码直接进(保护密码仍需单独输入)。 详见 客户端下载 第五节。

五、浏览器要求

Chrome / Edge / Firefox / Safari 近两年版本均可。 file:// 直接打开时部分浏览器会限制 IndexedDB 与录音, 此时媒体存内存、WASM 自动跳过,聊天功能照常。

手机浏览器同样支持。iPhone / iPad 可以用 Safari 的 「添加到主屏幕」把它装成独立图标、全屏运行, 不需要经过 App Store。

使用手册 · 返回首页 · 隐私声明 · 使用须知