{"id":15108795,"url":"https://github.com/tangsengdaodao/tangsengdaodaoserver","last_synced_at":"2025-05-14T02:09:27.101Z","repository":{"id":180679977,"uuid":"665488952","full_name":"TangSengDaoDao/TangSengDaoDaoServer","owner":"TangSengDaoDao","description":"高颜值 IM 即时通讯,聊天","archived":false,"fork":false,"pushed_at":"2025-05-06T09:46:20.000Z","size":147370,"stargazers_count":2676,"open_issues_count":60,"forks_count":381,"subscribers_count":21,"default_branch":"main","last_synced_at":"2025-05-06T10:51:34.978Z","etag":null,"topics":["im"],"latest_commit_sha":null,"homepage":"https://tsdaodao.com","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TangSengDaoDao.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-07-12T10:11:14.000Z","updated_at":"2025-05-06T06:06:45.000Z","dependencies_parsed_at":"2024-07-18T14:12:35.512Z","dependency_job_id":"67615cf0-9e15-4d13-b353-66513b23f7dc","html_url":"https://github.com/TangSengDaoDao/TangSengDaoDaoServer","commit_stats":{"total_commits":324,"total_committers":10,"mean_commits":32.4,"dds":0.4814814814814815,"last_synced_commit":"d4e3139a2a30cea292973217a279d0ace6fd5828"},"previous_names":["tangsengdaodao/tangsengdaodaoserver"],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TangSengDaoDao%2FTangSengDaoDaoServer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TangSengDaoDao%2FTangSengDaoDaoServer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TangSengDaoDao%2FTangSengDaoDaoServer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TangSengDaoDao%2FTangSengDaoDaoServer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TangSengDaoDao","download_url":"https://codeload.github.com/TangSengDaoDao/TangSengDaoDaoServer/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254053260,"owners_count":22006717,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["im"],"created_at":"2024-09-25T22:40:35.784Z","updated_at":"2025-05-14T02:09:22.085Z","avatar_url":"https://github.com/TangSengDaoDao.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"## 唐僧叨叨\n\n\u003cp align=\"center\"\u003e\n\u003cimg align=\"center\" width=\"150px\" src=\"./docs/logo.svg\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n\u003c!-- 开源社区第二屌(🦅)的即时通讯软件 --\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n    几个老工匠，历时\u003ca href=\"#\"\u003e八年\u003c/a\u003e时间打造的\u003ca href=\"#\"\u003e运营级别\u003c/a\u003e的开源即时通讯聊天软件(\u003ca href='https://github.com/WuKongIM/WuKongIM'\u003e开源WuKongIM\u003c/a\u003e提供通讯动力)\n\u003c/p\u003e\n\u003cdiv align=center\u003e\n\n\u003c!-- [![Go](https://github.com/TangSengDaoDao/TangSengDaoDaoServer/workflows/Go/badge.svg?branch=main)](https://github.com/TangSengDaoDao/TangSengDaoDaoServer/actions) --\u003e\n![GitHub go.mod Go version (subdirectory of monorepo)](https://img.shields.io/github/go-mod/go-version/TangSengDaoDao/TangSengDaoDaoServer)\n[![Go Report Card](https://goreportcard.com/badge/github.com/TangSengDaoDao/TangSengDaoDaoServer)](https://goreportcard.com/report/github.com/TangSengDaoDao/TangSengDaoDaoServer)\n![License: Apache 2.0](https://img.shields.io/github/license/WuKongIM/WuKongIM) \n\u003ca href=\"https://join.slack.com/t/wukongim/shared_invite/zt-22o7we8on-2iKNUmgigB9ERdF9XUivmw\"\u003e\u003cimg src=\"https://img.shields.io/badge/Slack-99%2B-blueviolet?logo=slack\u0026amp;logoColor=white\"\u003e\u003c/a\u003e\n\n\u003c!-- [![Release](https://img.shields.io/github/v/release/TangSengDaoDao/TangSengDaoDaoServer.svg?style=flat-square)](https://github.com/TangSengDaoDao/TangSengDaoDaoServer) --\u003e\n\n\u003c/div\u003e\n\n`开发环境需要go \u003e=1.20`\n\n愿景\n------------\n\n让企业轻松拥有自己的即时通讯软件。\n\n\n动画演示\n------------\n\n||||\n|:---:|:---:|:--:|\n|![](./docs/screenshot/conversationlist.webp)|![](./docs/screenshot/messages.webp)|![](./docs/screenshot/robot.webp)|\n\n\n|||          |\n|:---:|:---:|:-------------------:|\n|![](./docs/screenshot/weblogin.webp)|![](./docs/screenshot/apm.webp)| ![](./docs/screenshot/others.webp) |\n\n![](./docs/screenshot/pc11.png)\n\n![](./docs/screenshot/pc22.png)\n\n![](./docs/screenshot/pc33.png)\n\n演示地址\n------------\n\n| Android扫描体验 | iOS扫描体验(商店版本 apple store 搜“唐僧叨叨”) |\n|:---:|:---:|\n|![](docs/download/android.png)|![](docs/download/iOS.png)|\n\n| Web端 | Windows端 | MAC端 | Ubuntun端 |\n|:---:|:---:|:---:|:---:|\n|[点击体验](https://web.botgate.cn)|[点击下载](https://file.githubim.com/download/TangSengDaoDao-latest.exe) |[点击下载](https://file.githubim.com/download/TangSengDaoDao-latest.dmg)||\n\n\n`app端在登录页面长按标题可以进入手机号登录`\n\n演示账号：\n\n| 账号 | 密码 |\n|:---:|:---:|\n| 15900000002 | a1234567 |\n| 15900000003 | a1234567 |\n| 15900000004 | a1234567 |\n| 15900000005 | a1234567 |\n| 15900000006 | a1234567 |\n\n\n\n架构图\n------------\n\n![架构图](./docs/architecture1.png)\n\n\n采用大道至简的设计原则，我们尽最大的努力让架构简单化，让开发者上手成本和学习成本大大降低。\n\n我们的架构设计原则：`简洁化`、`可扩展性`、`高可用`\n\n整个系统分为二层：`通讯层`(WuKongIM)、`业务层`(TangSengDaoDao)\n\n`通讯层`(WuKongIM)： 负责长连接维护，消息投递，消息高效存储等等\n\n`业务层`(TangSengDaoDao)： 负责一些业务逻辑，比如：好友关系，群组，朋友圈等等，一些IM相关的业务层的逻辑\n\n`通讯层与业务层`： WuKongIM会将一些业务层需要的聊天相关的数据通过Webhook的机制（GRPC）推送给TangSengDaoDao，TangSengDaoDao需要投递一些系统消息时，将调用WuKongIM的发送消息的API进行投递。\n\n`客户端与服务端`： 客户端通过SDK与WuKongIM建立长连接，发送消息和收消息都将通过长连接进行传输，客户端的一些业务逻辑，比如：好友关系，群组，朋友圈等等，将通过调用TangSengDaoDao的API进行处理。\n\n\n相关源码\n------------\n\n\n### 唐僧叨叨（负责业务）\n\n| 项目名 | Github地址 | Gitee地址 | 文档 | 说明 |\n| ---- | ---------- | --------- | ---- | ---- |\n|   TangSengDaoDaoServer   |   [Github](https://github.com/TangSengDaoDao/TangSengDaoDaoServer)         |     [Gitee](https://gitee.com/TangSengDaoDao/TangSengDaoDaoServer)  |  [文档](https://tsdaodao.com/dev/backend/deploy-compose.html)|    唐僧叨叨的业务端，负责一些业务逻辑，比如：好友关系，群组，朋友圈等 （通讯端使用的是 WuKongIM）  |\n|   TangSengDaoDaoAndroid   |   [Github](https://github.com/TangSengDaoDao/TangSengDaoDaoAndroid)         |     [Gitee](https://gitee.com/TangSengDaoDao/TangSengDaoDaoAndroid) | [文档](https://tsdaodao.com/dev/android/intro.html)    |    唐僧叨叨的Android端   |\n|   TangSengDaoDaoiOS   |   [Github](https://github.com/TangSengDaoDao/TangSengDaoDaoiOS)         |     [Gitee](https://gitee.com/TangSengDaoDao/TangSengDaoDaoiOS) | [文档](https://tsdaodao.com/dev/ios/intro.html)       |    唐僧叨叨的iOS端   |\n|   TangSengDaoDaoWeb   |   [Github](https://github.com/TangSengDaoDao/TangSengDaoDaoWeb)         |     [Gitee](https://gitee.com/TangSengDaoDao/TangSengDaoDaoWeb) | [文档](https://tsdaodao.com/dev/web/intro.html)       |    唐僧叨叨的Web/PC端   |\n|   TangSengDaoDaoManager   |   [Github](https://github.com/TangSengDaoDao/TangSengDaoDaoManager)         |     [Gitee](https://gitee.com/TangSengDaoDao/TangSengDaoDaoManager) | 无      |    唐僧叨叨的后台管理系统  |\n\n\n### 悟空IM（负责通讯）\n\n| 项目名 | Github地址 | Gitee地址 | 文档 | 说明 |\n| ---- | ---------- | --------- | ---- |  ---- |\n|   WuKongIM   |   [Github](https://github.com/WuKongIM/WuKongIM)         |     [Gitee](https://gitee.com/WuKongDev/WuKongIM) |  [文档](https://githubim.com/sdk/android.html)       |    悟空IM通讯端，负责长连接维护，消息投递等等 |\n|   WuKongIMAndroidSDK   |   [Github](https://github.com/WuKongIM/WuKongIMAndroidSDK)         |     [Gitee](https://gitee.com/WuKongDev/WuKongIMAndroidSDK) | [文档](https://githubim.com/sdk/android.html)    |    悟空IM的Android SDK  |\n|   WuKongIMiOSSDK   |   [Github](https://github.com/WuKongIM/WuKongIMiOSSDK)         |     [Gitee](https://gitee.com/WuKongDev/WuKongIMiOSSDK)  | [文档](https://githubim.com/sdk/ios.html)     |    悟空IM的iOS SDK  |\n|   WuKongIMUniappSDK   |   [Github](https://github.com/WuKongIM/WuKongIMUniappSDK)         |     [Gitee](https://gitee.com/WuKongDev/WuKongIMUniappSDK)  | [文档](https://githubim.com/sdk/uniapp.html)      |    悟空IM的 Uniapp SDK  |\n|   WuKongIMJSSDK   |   [Github](https://github.com/WuKongIM/WuKongIMJSSDK)         |     [Gitee](https://gitee.com/WuKongDev/WuKongIMJSSDK)   | [文档](https://githubim.com/sdk/javascript.html)     |    悟空IM的 JS SDK  |\n|   WuKongIMFlutterSDK   |    [Github](https://github.com/WuKongIM/WuKongIMFlutterSDK)        |    [Gitee](https://gitee.com/WuKongDev/WuKongIMFlutterSDK)   |[文档](https://githubim.com/sdk/flutter.html)    |    悟空IM的 Flutter SDK |\n|   WuKongIMReactNativeDemo   |   [Github](https://github.com/wengqianshan/WuKongIMReactNative)         |     无  |  无  |    悟空IM的 React Native Demo(由贡献者 [wengqianshan](https://github.com/wengqianshan) 提供)  |\n\n\n技术文档\n------------\n\n唐僧叨叨：\n\nhttps://tsdaodao.com\n\n悟空IM：\n\nhttps://githubim.com\n\n\n功能特性\n------------\n- [x] 全局特性\n    - [x] 消息永久存储\n    - [x] 消息加密传输\n    - [x] 消息多端同步(app,web,pc等)\n    - [x] 群聊人数无限制\n    - [x] 机器人\n- [x] 消息列表\n    - [x] 单聊\n    - [x] 群聊\n    - [x] 发起群聊\n    - [x] 添加朋友\n    - [x] 扫一扫\n    - [x] 列表提醒项，比如消息@提醒，待办提醒，服务器可控\n    - [x] 置顶\n    - [x] 消息免打扰\n    - [x] web登录状态显示\n    - [x] 消息搜索\n    - [x] 消息输入中\n    - [x] 消息未读数\n    - [x] 用户标识\n    - [x] 无网提示\n    - [x] 草稿提醒\n- [x] 消息详情\n    - [x] 文本消息\n    - [x] 图片消息\n    - [x] 语音消息\n    - [x] Gif消息\n    - [x] 合并转发消息\n    - [x] 正在输入消息\n    - [x] 自定义消息\n    - [x] 撤回消息\n    - [x] 群系统消息\n    - [x] 群@消息\n    - [x] 消息回复\n    - [x] 消息转发\n    - [x] 消息收藏\n    - [x] 消息删除\n- [x] 群功能\n    - [x] 添加群成员/移除群成员\n    - [x] 群成员列表\n    - [x] 群名称\n    - [x] 群二维码\n    - [x] 群公告\n    - [x] 保存到通讯录\n    - [x] 我在本群昵称\n    - [x] 群投诉    \n    - [x] 清空群聊天记录    \n- [x] 好友\n    - [x] 备注\n    - [x] 拉黑\n    - [x] 投诉\n    - [x] 添加/解除好友\n- [x] 通讯录\n    - [x] 新的朋友\n    - [x] 保存的群\n    - [x] 联系人列表\n- [x] 我的\n    - [x] 个人信息\n    - [x] 新消息通知设置\n    - [x] 安全与隐私\n    - [x] 通用设置\n    - [x] 聊天背景\n    - [x] 多语言\n    - [x] 黑暗模式\n    - [x] 设备管理\n\n\n\nStar\n------------\n\n我们团队一直致力于即时通讯的研发，需要您的鼓励，如果您觉得本项目对您有帮助，欢迎点个star，您的支持是我们最大的动力。\n\n加入群聊\n------------\n\n微信：加群请备注“唐僧叨叨”\n\n\u003cimg src=\"docs/tsddwx.png\" width=\"200px\" height=\"200px\"\u003e\n\n许可证\n------------\n\n唐僧叨叨 使用 Apache 2.0 许可证。有关详情，请参阅 LICENSE 文件。\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftangsengdaodao%2Ftangsengdaodaoserver","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftangsengdaodao%2Ftangsengdaodaoserver","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftangsengdaodao%2Ftangsengdaodaoserver/lists"}