KwChat自建即时通讯
Android 客户端 · v0.1.1

聊天数据
留在你自己的服务器

KwChat 是一套自建即时通讯方案:Android 客户端 + 自托管服务端 + 你自己的数据库。注册、加好友、消息同步全部由你的机器完成,不经过任何第三方。

文件大小39,741,071 字节(约 38 MB)
服务端接口ws://huaweidog.fun/ws
SHA-2563f46f1e5…dd4be2
功能

该有的都有,不该有的都没有

不采集通讯录,不上传相册,不做用户画像。消息与账号只存在于你自己的数据库里。

账号由服务端下发 ID

自行设置用户名、密码与昵称,用户 ID 由服务端随机生成 8 位数字,用于互相添加。

断线自动补齐消息

基于 pts / seq 双游标补拉,重连后自动拉回离线期间的全部更新,不漏消息。

本地数据库加密

客户端使用 SQLCipher 加密本地库,密钥由 Android Keystore 托管,不落明文。

服务端自托管

Node.js + MySQL 协议的数据库,nginx 反代,systemd 常驻,随时可以换成自己的机器。

使用教程

从装好到发出第一条消息

一共五步,正常网络环境下 3 分钟内可以完成。下面每一步都配有界面示意。

huaweidog.fun kwchat.apk
STEP 01

下载安装包

点击页面上的「下载 APK」按钮,浏览器会从本域名下载 kwchat.apk(约 38 MB)。也可以在电脑上下载后传进手机。

提示:如果手机浏览器提示「可能危害设备」,那是针对未知来源应用的统一提醒,选择「仍要下载」即可。
允许安装 安装
STEP 02

安装应用

用文件管理器打开刚下载的 kwchat.apk。系统会要求授权「安装未知应用」,允许后回到安装界面点「安装」。

  • 小米 / Redmi:安装时如提示风险,选择「继续安装」
  • 华为 / 荣耀:需先关闭「纯净模式」
  • OPPO / vivo:安装页面可能需输入锁屏密码
注册 创建账号 ID · 8 位
STEP 03

注册账号

打开 App,填写用户名、密码与昵称完成注册。注册成功后,服务端会为这个账号生成一个 8 位数字 ID,这就是别人找到你的唯一凭据。

记住自己的 ID:点会话列表右上角的头像图标,即可查看并一键复制。
加好友 83719462 查找并添加 添加
STEP 04

添加好友

把双方的 8 位 ID 互相告知。在会话列表右上角点击「加人」,输入对方的 ID,确认后双方会立刻出现在彼此的会话列表里。

说明:ID 是 8 位数字,输错会提示「未找到该用户」,不会误加陌生人。
好友 · 83719462
STEP 05

开始聊天

进入会话直接发送即可。消息会写到服务端,客户端在后台保持长连接接收推送;换设备登录同一账号后,历史消息会自动同步下来。

后台收消息:App 会在后台维持连接以接收消息。系统的省电策略可能限制后台运行,建议在系统设置里把 KwChat 的电池策略设为「不受限制」。
下载与安装

安装教程与权限说明

KwChat 目前以 debug 包形式分发,所以需要手动允许一次「未知来源安装」。以下说明适用于绝大多数 Android 手机。

google chrome
DOWNLOAD

下载 APK

手机浏览器打开 https://huaweidog.fun,点击「下载 APK」。下载完成后,通知栏会提示 kwchat.apk

  • 电脑下载再传输:把 APK 发到微信文件传输助手或数据线拷进手机即可
  • 下载校验:文件大小应为 39,741,071 字节
允许
ALLOW

允许安装未知来源应用

点击通知栏里的 APK,系统会弹窗要求授权。不同品牌入口略有差异:

  • 原生 Android / 三星:设置 → 应用 → 特殊应用权限 → 安装未知应用
  • 小米 / Redmi(MIUI):弹窗直接点「设置」→ 打开「允许来自此来源的应用」
  • 华为 / 荣耀:关闭「纯净模式」后再安装
  • OPPO / vivo:安装界面按提示验证锁屏密码
PERMISSIONS

权限说明

KwChat 只申请必要权限,全部与聊天直接相关:

  • 网络:连接你自己的服务端,收发消息
  • 通知:新消息提醒(Android 13+ 需要手动允许)
  • 存储 / 相册:仅在你主动发送图片时申请,用于挑选要发送的照片
  • 前台服务:保持后台长连接以接收消息
不上传相册:应用不会扫描或上传你的相册内容;只有你在聊天里主动选择并发出的图片才会经过服务器。
常见问题

遇到问题先看这里

安装时提示「应用未经认证」或风险警告?

这是 Android 对 debug 签名包的统一提示。确认安装包来自本域名(文件大小 39,741,071 字节)后,选择「继续安装」或「仍要安装」即可。

打开 App 显示「无法连接到服务器」?

先确认手机网络正常,并访问 https://huaweidog.fun/health 查看是否返回 {"ok":true}。如果服务正常但仍连不上,多半是系统限制了应用的后台网络或流量权限,检查是否禁用了该应用的移动数据 / Wi-Fi。

收不到新消息推送?

把 KwChat 的电池策略设为「不受限制」,并允许后台活动。部分定制系统(MIUI、EMUI、ColorOS)默认会清理后台进程,需要在「最近任务」里给应用加锁。

忘记了自己的 8 位用户 ID?

在会话列表页点击右上角的头像图标即可查看,并可复制发给好友。

换手机后聊天记录还在吗?

在。消息保存在服务端数据库中,用同一账号登录新设备后会通过增量同步自动补齐历史消息。

可以部署到自己的服务器吗?

可以。服务端是 Node.js 程序,配合 nginx 反向代理与 MySQL 协议的数据库即可运行,客户端只需改一个服务端地址再重新打包。