MCPcopy
hub / github.com/openimsdk/open-im-server

github.com/openimsdk/open-im-server @v3.8.3-patch.16 sqlite

repository ↗ · DeepWiki ↗ · release v3.8.3-patch.16 ↗
3,181 symbols 8,616 edges 408 files 375 documented · 12%
README
<a href="https://openim.io">
    <img src="https://github.com/openimsdk/open-im-server/raw/v3.8.3-patch.16/assets/logo-gif/openim-logo.gif" width="60%" height="30%"/>
</a>

Stars Forks Codecov Go Report Card Go Reference License Slack Best Practices Good First Issues Language

English · 中文 · Українська · Česky · Magyar · Español · فارسی · Français · Deutsch · Polski · Indonesian · Suomi · മലയാളം · 日本語 · Nederlands · Italiano · Русский · Português (Brasil) · Esperanto · 한국어 · العربي · Tiếng Việt · Dansk · Ελληνικά · Türkçe

:busts_in_silhouette: 加入我们的社区

Ⓜ️ 关于 OpenIM

与Telegram、Signal、Rocket.Chat等独立聊天应用不同,OpenIM提供了专为开发者设计的开源即时通讯解决方案,而不是直接安装使用的独立聊天应用。OpenIM由OpenIM SDK和OpenIM Server两大部分组成,为开发者提供了一整套集成即时通讯功能的工具和服务,包括消息发送接收、用户管理和群组管理等。总体来说,OpenIM旨在为开发者提供必要的工具和框架,帮助他们在自己的应用中实现高效的即时通讯解决方案。

App-OpenIM 关系

🚀 OpenIMSDK 介绍

OpenIMSDK 是为 OpenIMServer 设计的IM SDK,专为集成到客户端应用而生。它支持多种功能和模块:

  • 🌟 主要功能:
  • 📦 本地存储
  • 🔔 监听器回调
  • 🛡️ API封装
  • 🌐 连接管理

  • 📚 主要模块:

  • 🚀 初始化及登录
  • 👤 用户管理
  • 👫 好友管理
  • 🤖 群组功能
  • 💬 会话处理

它使用 Golang 构建,并支持跨平台部署,确保在所有平台上提供一致的接入体验。

👉 探索 GO SDK

🌐 OpenIMServer 介绍

  • OpenIMServer 的特点包括:
  • 🌐 微服务架构:支持集群模式,包括网关(gateway)和多个rpc服务。
  • 🚀 多样的部署方式:支持源代码、Kubernetes或Docker部署。
  • 海量用户支持:支持十万级超大群组,千万级用户和百亿级消息。

增强的业务功能:

  • REST API:为业务系统提供REST API,增加群组创建、消息推送等后台接口功能。

  • Webhooks:通过事件前后的回调,向业务服务器发送请求,扩展更多的业务形态。

整体架构

:rocket: 快速入门

在线体验iOS/Android/H5/PC/Web:

👉 OpenIM在线演示

为了便于用户体验,我们提供了多种部署解决方案,您可以根据以下列表选择适合您的部署方式:

系统支持

支持 Linux、Windows、Mac 系统以及 ARM 和 AMD CPU 架构。

:link: 相关链接

:writing_hand: 如何贡献

我们欢迎任何形式的贡献!在提交 Pull Request 之前,请确保阅读我们的贡献者文档

感谢您的贡献,一起来打造强大的即时通讯解决方案!

:closed_book: 许可证

OpenIMSDK 在 Apache License 2.0 许可下可用。查看LICENSE 文件了解更多信息。

🔮 Thanks to our contributors!

Extension points exported contracts — how you extend this code

OfflinePusher (Interface)
OfflinePusher Offline Pusher. [5 implementers]
internal/push/offlinepush/offlinepusher.go
FriendCache (Interface)
FriendCache is an interface for caching friend-related data. [1 implementers]
pkg/common/storage/cache/friend.go
ReadSeekSizeCloser (Interface)
(no doc) [2 implementers]
tools/url2im/pkg/buffer.go
Target (Interface)
(no doc) [2 implementers]
pkg/localcache/lru/lru.go
CallbackReq (Interface)
(no doc) [2 implementers]
pkg/callbackstruct/common.go
Encoder (Interface)
(no doc) [2 implementers]
internal/msggateway/encoder.go
CommonUser (Interface)
(no doc) [1 implementers]
pkg/notification/common_user/common.go
Option (FuncType)
(no doc)
pkg/tools/batcher/batcher.go

Core symbols most depended-on inside this repo

Find
called by 67
pkg/common/storage/database/user.go
Add
called by 64
pkg/common/servererrs/relation.go
Unmarshal
called by 53
pkg/rpccache/common.go
GetCallbackCommand
called by 47
pkg/callbackstruct/common.go
Marshal
called by 44
pkg/rpccache/common.go
Close
called by 41
internal/msggateway/client_conn.go
CheckAccessV3
called by 39
pkg/authverify/token.go
Notification
called by 38
pkg/notification/msg.go

Shape

Method 2,103
Function 559
Struct 441
Interface 61
FuncType 11
TypeAlias 6

Languages

Go100%

Modules by API surface

pkg/common/storage/controller/group.go93 symbols
pkg/common/storage/controller/msg.go78 symbols
pkg/common/config/config.go72 symbols
pkg/common/storage/controller/conversation.go48 symbols
pkg/common/storage/controller/user.go45 symbols
pkg/common/storage/cache/redis/group.go44 symbols
pkg/common/storage/controller/friend.go43 symbols
internal/rpc/group/group.go43 symbols
internal/rpc/group/notification.go37 symbols
pkg/common/storage/cache/redis/conversation.go36 symbols
pkg/callbackstruct/group.go36 symbols
internal/api/group.go35 symbols

Dependencies from manifests, versioned

cloud.google.com/gov0.112.1 · 1×
cloud.google.com/go/compute/metadatav0.6.0 · 1×
cloud.google.com/go/firestorev1.15.0 · 1×
cloud.google.com/go/longrunningv0.5.5 · 1×
cloud.google.com/go/storagev1.40.0 · 1×
firebase.google.com/go/v4v4.14.1 · 1×
github.com/IBM/saramav1.43.0 · 1×
github.com/MicahParks/keyfuncv1.9.0 · 1×
github.com/aliyun/aliyun-oss-go-sdkv3.0.2+incompatible · 1×
github.com/aws/aws-sdk-go-v2v1.32.5 · 1×
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstreamv1.5.1 · 1×

Datastores touched

msg3Collection · 1 repos
userCommandsCollection · 1 repos
version_testCollection · 1 repos
(mongodb)Database · 1 repos
openim_v3Database · 1 repos
dbnameDatabase · 1 repos

For agents

$ claude mcp add open-im-server \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact