Guides
Open-Source Capabilities
Included components, messaging features, server APIs, and capacity notes.
What the open-source edition includes
Core components
| Component | License | Role | Description |
|---|---|---|---|
| OpenIMClientSDK | AGPL-3.0 | Client SDK | Provides client communication capabilities for messages, conversations, groups, and friends; integrate it into your own application |
| OpenIMServer | Apache-2.0 | Core IM server | Provides the core messaging path, message synchronization, REST APIs, and Webhooks |
| ChatServer | Apache-2.0 | Business extension server | Provides registration, login, and App management; integrate it as needed or omit it if you already have an account system |
| Client demos / sample UI | AGPL-3.0 | SDK integration examples | Demonstrate how to integrate OpenIMClientSDK; they are not complete commercial clients |
Extended components
| Component | License | Role | Description |
|---|---|---|---|
| Pure JS SDK | ARR (closed source) | Pure JavaScript client SDK | Commonly used for Mini Program development |
| Web client | ARR (closed source, free to use) | Complete end-user interface | Ready to use |
| Admin console frontend | ARR (closed source, free to use) | App Administrator console | You can also build your own with App Administrator APIs |
OpenIMClientSDK and OpenIMServer capabilities
Friends and relationships
- Find, request, search for, add, and delete friends
- Accept or reject friend requests
- Set friend remarks and friend-request permissions
- Synchronize friend lists and profiles in real time
Blocklist
- Add users to and remove users from the blocklist
- Synchronize the blocklist in real time
- Restrict messages and audio/video calls between blocked users
Groups
- Create and dissolve groups
- Request to join, invite users, leave groups, and remove members
- Update and synchronize group names, avatars, and profiles
- Configure join verification and transfer group ownership
- Control whether members can view other member profiles or add them as friends
- Appoint and remove administrators
- Search for members and update their in-group profiles
- Mute the entire group or specified members
- Publish group announcements
Messages
- Text, image, video, emoji, file, voice, contact card, location, custom, and group announcement messages
- Offline, roaming, multi-device, and historical messages
- Forward a single message or merge and forward multiple messages
- Delete, clear, copy, and recall messages
- Re-edit recalled messages
- Group mentions, one-to-one typing status, burn after reading, message do-not-disturb, history visibility for new members, and new-message indicators
- Local message search
Conversations
- Pin and delete conversations
- Search local conversations
- Mark conversations as read and configure do-not-disturb
Server-side open capabilities
- REST APIs for authentication, users, relationships, groups, conversations, and messages
- Webhooks for groups, messages, push, relationships, and users
Capacity and deployment
- Up to 3,000 friends
- Groups with up to 100,000 members
- Second-level synchronization
- Source-based cluster deployment
Multi-device login policies
- Do not force logout on any platform
- Allow one device per platform
- Allow one device each for PC, mobile, Pad, Web, and Mini Program
Audio and video capabilities
- The open-source edition provides basic one-to-one audio and video calls.
- Group audio/video calls and video conferencing are not open source.
- The integrator must implement business behavior such as unanswered-call timeouts and cancellation.
Choosing components
- If you only need core instant messaging, integrate OpenIMClientSDK and deploy OpenIMServer.
- If you also need registration, login, and App management, deploy ChatServer as needed.
- If you need a complete client or admin console, evaluate the available extended components or build your own based on the SDK, REST APIs, and business requirements.