Skip to main content

Open Source Feature Details

1. What the Open Source Edition Includes

Core Components

ComponentLicensePositioningDescription
OpenIMClientSDKAGPL-3.0Client SDKResponsible for client-side communication capabilities such as messages, conversations, groups, and friends, and needs to be integrated into your own application
OpenIMServerApache-2.0IM core serverResponsible for core instant messaging links, message synchronization, REST APIs, Webhook capabilities, and more
ChatServerApache-2.0Business extension serverResponsible for business extension capabilities such as registration, login, and APP management; if you already have your own account system, you can integrate it as needed or skip deployment
Client Demo / Sample UIAGPL-3.0SDK integration exampleProvides sample code to demonstrate how to integrate OpenIMClientSDK, and does not represent a complete production-ready client

Extended Components

ComponentLicensePositioningDescription
Pure JS SDKARR (closed source)Pure JavaScript client SDKGenerally used for mini program development
Web ClientARR (closed source, free to use)Complete end-user product interfaceReady to use out of the box
Admin FrontendARR (closed source, free to use)Backend page used by APP AdministratorsIf you need management capabilities, you can also build your own frontend based on the APP Administrator APIs

2. Open Source Capabilities of OpenIMClientSDK + OpenIMServer

This section focuses on the core capabilities already provided by the open-source edition of OpenIMClientSDK and OpenIMServer.

1. Friends and Relationships

  • Supports finding, requesting, adding, and deleting friends.
  • Supports accepting and rejecting friend requests.
  • Supports friend remarks.
  • Supports settings for whether friend requests are allowed.
  • Friend lists and friend profiles support real-time synchronization.

2. Blocklist

  • Supports restricting messages and audio/video calls.
  • The blocklist synchronizes in real time.
  • Supports adding and removing blocked users.

3. Groups

  • Supports creating and dissolving groups.
  • Supports join requests, invitations, leaving groups, and removing group members.
  • Supports real-time notifications and synchronization for group names, avatars, and profile changes.
  • Supports join verification settings.
  • Supports group ownership transfer.
  • Supports settings that prevent viewing other group members' profiles or adding them as contacts.
  • Supports appointing and removing group administrators.
  • Supports searching group members and setting member-specific group profiles.
  • Supports muting everyone or muting designated group members.
  • Supports publishing group announcements.

4. Messages

  • Supports text, image, video, emoji, file, voice, contact card, location, custom, and group announcement messages.
  • Supports offline messages, roaming messages, multi-device messages, and message history.
  • Supports forwarding a single selected message and merged forwarding for multiple selected messages.
  • Supports deleting, clearing, copying, and recalling messages.
  • Supports editing messages after recall.
  • Supports group @mentions, typing indicators in one-to-one chats, burn after reading, do-not-disturb for new messages, clearing chat history, allowing new members to view group history, and new message alerts.
  • Supports local message search.

5. Conversations

  • Supports pinned conversations.
  • Supports deleting conversations.
  • Supports searching local conversations.
  • Supports conversation read state.
  • Supports conversation do-not-disturb.

6. Server-Side Open Capabilities

  • Provides REST APIs for authentication management, user management, relationship management, group management, conversation management, and message management.
  • Provides Webhook capabilities such as group callbacks, message callbacks, push callbacks, relationship callbacks, and user callbacks.

7. Capacity and Deployment

  • Supports up to 3,000 contacts.
  • Supports groups with up to 100,000 members.
  • Supports second-level synchronization.
  • Supports cluster deployment from source code.

8. Multi-Device Login Policy

  • Supports no forced logout across platforms.
  • Supports one logged-in device per platform.
  • Supports one logged-in device each on PC, mobile, tablet, web, and mini program.

9. Audio and Video Capabilities

  • Supports basic one-to-one audio/video call capabilities.
  • Group audio/video calls and video conferencing are not open source.
  • When integrating one-to-one audio/video calls, business details such as unanswered timeout and cancellation need to be implemented by developers themselves.

3. How to Understand the Open Source Scope of OpenIMSDK

  • If you only need core IM capabilities, focus on integrating OpenIMClientSDK and deploying OpenIMServer.
  • If you also need business extension capabilities such as registration, login, and APP management, deploy ChatServer as needed.
  • If you need a complete end-user product interface or an APP Administrator backend page, you need to implement it yourself based on the SDK, REST APIs, and your business requirements.