Repolode
tinode

tinode/chat

用 Go 编写的可自托管即时通讯服务端,配套 Android、iOS 与 Web 客户端,并提供 gRPC 接口。

可替代:WhatsAppTelegram

Star
13,555
Fork
2,092
未关闭 Issue
42
最近提交
13天前

这是什么?

Tinode 是一套全栈即时通讯系统。服务端使用纯 Go 编写,并提供 Android(Java)、iOS(Swift)和 Web(React.js)客户端,另有可脚本化的命令行客户端。客户端可通过 websocket 或长轮询使用 JSON 协议与服务端通信,也可以用 protobuf 配合 gRPC,并提供多种语言的绑定。

项目定位为类似 WhatsApp、Telegram 的开源即时通讯方案。支持一对一和群组聊天、语音与视频通话、只读订阅频道、消息编辑、回复与转发,以及多端会话同步。联邦互通目前列为计划功能,尚未实现。

存储可选 MySQL、PostgreSQL 或 MongoDB;大文件可保存在本地文件系统或 Amazon S3;还支持自定义认证后端和服务端插件。项目自述为 beta 质量软件。

核心功能

  • 01提供 Android、iOS、Web 客户端,以及可脚本化的命令行客户端。
  • 02支持一对一和群组聊天、语音与视频通话以及只读频道。
  • 03支持消息编辑、回复、转发、置顶和多设备同步。
  • 04协议可选 websocket 上的 JSON 或 protobuf 加 gRPC,并提供多语言绑定。
  • 05存储可选 MySQL、PostgreSQL 或 MongoDB,大文件可存本地磁盘或 S3。
  • 06支持自定义认证后端和用于审核或聊天机器人的服务端插件。

适用场景

  • 为团队、家庭或社区搭建私有的自托管即时通讯服务。
  • 基于有完整文档的客户端 API 开发自己的聊天产品。
  • 开发使用表单和模板回复的聊天机器人。
  • 通过 gRPC 绑定把消息功能集成到现有系统中。

快速上手

  1. 1

    阅读 INSTALL.md 中的通用安装说明

  2. 2

    或按照 docker/README.md 中的 Docker 专用说明操作

使用前须知

  • README 称其为测试版质量的软件,可能存在错误或缺失功能。
  • 服务端采用 GPL 3.0 许可证,这是一种 copyleft 许可证,可能限制某些商业用途。
  • RethinkDB 数据库支持已被弃用,计划于 2027 年移除。

收录于专题

标签

常见问题

chat 是什么?
用 Go 编写的可自托管即时通讯服务端,配套 Android、iOS 与 Web 客户端,并提供 gRPC 接口。 Tinode 是一套全栈即时通讯系统。服务端使用纯 Go 编写,并提供 Android(Java)、iOS(Swift)和 Web(React.js)客户端,另有可脚本化的命令行客户端。客户端可通过 websocket 或长轮询使用 JSON 协议与服务端通信,也可以用 protobuf 配合 gRPC,并提供多种语言的绑定。
chat 可以免费使用吗?用的什么许可证?
chat 以 GPL-3.0 许可证开源。用于商业产品前,请先确认许可证条款。
chat 还在维护吗?
活跃维护中。chat 最近一次提交是在 2026年10月25日。
chat 适合用来做什么?
为团队、家庭或社区搭建私有的自托管即时通讯服务。 基于有完整文档的客户端 API 开发自己的聊天产品。 开发使用表单和模板回复的聊天机器人。 通过 gRPC 绑定把消息功能集成到现有系统中。
chat 怎么安装和运行?
阅读 INSTALL.md 中的通用安装说明 或按照 docker/README.md 中的 Docker 专用说明操作
在哪里获取 chat?
源代码和安装说明在 GitHub 上:https://github.com/tinode/chat

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目