海狸IM 2.0 功能详细介绍:六端能力说明书

0 阅读14分钟

海狸IM 2.0 功能详细介绍:六端能力说明书

文档性质:海狸 IM 2.0 产品能力说明,供选型、团队对齐、对外介绍使用。
版本基线:beaver-server 2.0.1 / beaver-flutter 2.0.1 / beaver-desktop 2.0.0 / beaver-manager 2.0.1 / beaver-open & beaver-oauth 2.0。
说明:✅ 表示 2.0 已具备;🔶 表示部分端或需配置;❌ 表示 2.0 未做(可能在 2.1+ 规划)。


写在前面:这篇文档解决什么问题

发版文章讲「变了什么」,技术文章讲「怎么实现」。但很多人只需要一份答案:

「海狸 IM 到底有哪些功能?能不能满足我们?」

本文按 用户能感知的能力 展开,尽量写细:每个模块下列 子功能、双端支持情况、典型用法
技术实现见 46 / 47 号文;OAuth 与群推送边界见 45 号文。


一、产品是什么:六个工程,一套 IM

海狸 IM(Beaver IM)是 可私有化部署的开源即时通讯系统,不是官方运营的 SaaS。你可以把完整链路部署在自己的服务器上。

工程版本谁用核心能力
beaver-server2.0.1运维 / 开发聊天、同步、文件、通话、OAuth、运营 RPC
beaver-flutter2.0.1终端用户移动端:聊天、通话、动态、离线
beaver-desktop2.0.0终端用户PC 端:聊天、群助手、设置中心、多窗口
beaver-manager2.0.1运营 / 管理员用户管控、审核、监控、发版、表情运营
beaver-open2.0开发者OAuth2 应用创建、密钥、Scope
beaver-oauth2.0终端用户授权确认页、扫码登录 UI

移动端主线为 Flutter(2.0 起);早期 Uniapp 版本 不再维护

产品定位(一句话):好友 + 群聊 + PC/移动双端 + 运营后台 + OAuth 开放接入;不做 企业通讯录 / 官方 SaaS / 飞书式 OA 全家桶。

PC 消息主界面

Flutter 消息主界面


二、账号、注册与登录

2.1 注册与登录方式

能力PCFlutter说明
邮箱注册验证码注册流程
手机注册短信验证码(依赖服务端短信配置)
邮箱 + 密码登录
手机 + 密码登录
邮箱验证码登录免密登录
找回 / 重置密码邮箱或手机验证

创建账号

找回密码

PC 登录

2.2 扫码登录(OAuth / PC 登录场景)

能力说明
生成登录二维码第三方 Web 或 PC 展示
移动端扫码确认海狸 App 扫二维码完成授权
二维码状态轮询待扫 / 已扫 / 已确认 / 过期

用于 OAuth2 第三方接入PC 端快捷登录,与 45 号文 OAuth 流程配合。

2.3 账号安全与设备管理

能力PCFlutter说明
修改登录密码✅ 设置中心🔶移动端 2.0 设置弱于 PC,2.1 对齐
已登录设备列表🔶展示 UA、在线状态
远程踢设备下线🔶踢掉其他端登录
退出登录

PC 关于页


三、个人资料与用户设置

3.1 资料展示与编辑

能力PCFlutter
头像
昵称
个性签名 / 简介
查看他人资料(好友 / 群成员)
编辑个人资料页

编辑个人资料

Flutter 个人信息主页

好友详情

3.2 用户设置(跨端同步)

能力PCFlutter说明
用户设置 JSON 存服务端🔶PC 快捷键等写入服务端
快捷键自定义换电脑登录可恢复
通用设置(通知、缓存等)

应用通用设置


四、好友与通讯录

4.1 好友关系

能力PCFlutter说明
好友列表通讯录 Tab
搜索用户(加好友)按用户名等搜索
发起好友申请可附验证消息
收到的好友申请列表同意 / 拒绝
发出的申请历史
好友详情资料、发消息入口
删除好友
修改好友备注

Flutter 通讯录

好友申请

收到好友申请

发出的好友申请历史

4.2 黑名单

能力PCFlutter
拉黑用户
取消拉黑
黑名单列表

拉黑后 无法互发私聊消息(服务端 IsBlocked 校验)。

4.3 数据同步

好友列表、好友申请均支持 datasync 增量同步getSyncFriendsgetSyncFriendVerifies),换设备登录后关系不丢。


五、群聊与群管理

5.1 群基础

能力PCFlutter说明
创建群聊选好友建群
我的群聊列表
群名称 / 头像管理员可改
群公告
群成员列表
邀请成员入群
移除群成员需权限
主动退群
解散群群主
搜索群🔶服务端 searchGroups

创建群聊

我的群聊列表

发起群聊

5.2 群角色与权限

能力说明
群主最高权限:转让群主、解散、管理成员
管理员管理成员、公告等(以群设置为准)
普通成员发言、邀请(视群设置)
修改成员角色✅ 群主可操作
转让群主

5.3 入群方式

能力PCFlutter
邀请入群
申请入群
入群申请列表(管理员审批)
同意 / 拒绝入群申请

5.4 群禁言

能力说明
全员禁言管理员开启后普通成员不可发言
单人禁言指定成员禁言
发言前校验服务端 CanSendGroupMessage,禁言用户发消息会被拒

5.5 群助手 — 通知机器人(2.0 开放能力之一)

能力PCFlutter说明
创建通知机器人✅ 群详情→群助手2.0 配置入口在 PC
机器人类型通知机器人 / 自定义机器人
设置名称、头像、描述
获取 Webhook 推送 URL带 Token
重置密钥
删除 / 停用机器人
群内展示机器人消息外部 POST 后双端可见

用法:CI、监控、定时任务向 Webhook POST,群聊里出现一条机器人通知。
边界:2.0 为 单向推送,不支持群内 @机器人 自动回复(2.1 规划)。详见 45 号文。

群聊详情与群助手

5.6 群系统通知消息

群内自动插入 通知类消息(非用户手写),例如:

类型码含义
2创建群
3成员加入群
4成员退出群
5成员被踢
6转让群主
7添加群机器人
8移除群机器人

六、会话与聊天列表

6.1 会话列表

能力PCFlutter
最近会话列表
会话预览(最后一条消息摘要)
未读数展示
删除会话(从列表移除)
隐藏会话隐藏后可再同步恢复
置顶会话
会话免打扰
按会话 ID 批量拉会话信息服务端 API 支持

聊天设置与会话管理

6.2 会话类型

类型说明2.0
私聊(单聊)一对一好友会话
群聊多人群组会话
AI 会话协议层预留 chatType=3🔶 内置 AI 未产品化

七、消息能力(核心)

7.1 支持的消息类型

服务端 Msg.type 定义(双端按类型渲染):

类型码名称PCFlutter说明
1文本plain text
2图片fileUrl,可带宽高
3视频fileUrl + 封面 thumbnailUrl
4文件Office/PDF 等,fileName、mimeType
5语音按住说话,duration
6表情系统表情 / 收藏表情 / 表情包
7通知入群、加好友等系统通知
8音频文件🔶音频附件,非按住语音
9通话音视频通话记录卡片
10撤回撤回原消息
11回复引用回复,带原消息快照
12转发逐条 / 合并转发
13Markdown富文本、代码块等
14链接卡片🔶标题、描述、预览图
15云文档卡片🔶🔶协议已定义,视部署启用

2.0 统一媒体字段 fileUrl,避免 PC 和手机各用一套 URL 字段导致展示不一致。

拍照与多媒体采集

视频预览

7.2 消息操作

操作PCFlutter说明
发送消息✅ WS 上行✅ WS 上行乐观 UI,本地先显示「发送中」
回复(引用)✅ ReplyBar✅ ReplyBar
转发逐条转发合并转发
查看合并转发详情按 recordId 拉快照列表
撤回限时撤回
编辑已发文本✅ EditBar✅ EditBar双端 UI 已接;服务端 edit 路由在版本对齐中完善
批量删除消息最多 100 条/次
@ 指定用户群聊 @ 成员,msg 带 atUserIds
消息已读 seq单聊已读状态同步
语音「未听 / 已听」独立媒体态,跨端 sync

私聊详情

聊天消息详情

7.3 消息搜索

能力PCFlutter
全局搜索(跨会话)✅ 较完整🔶 基础
指定会话内搜索
关键词高亮 / 跳转

7.4 消息同步机制(用户可感知)

场景行为
在线收消息WebSocket 通知 → 自动拉取新 seq 消息
离线后再上线datasync 摘要 → 按 seq 区间补消息
弱网本地 SQLite / Drift 可看历史,恢复网络后增量同步
换设备登录同账号拉云端 seq,本地库追平

Flutter 数据库与同步状态


八、表情系统

8.1 客户端

能力PCFlutter
系统默认表情
表情面板
收藏单个表情
收藏整套表情包
表情商店(浏览 / 添加)
发送表情消息
分享表情包🔶

系统默认表情

收藏表情

表情商店

PC 表情收藏列表

8.2 运营侧(beaver-manager)

能力说明
表情 CRUD上传、编辑、删除单个表情
表情包 CRUD创建包、往包里加表情
用户收藏数据查看运营统计

九、动态(Moment)— 轻社交

能力PCFlutter
发布图文动态
动态列表(好友流)
动态详情
点赞
点赞列表
评论
评论列表
删除自己的动态
动态相关通知接入通知中心

十、通知中心

能力PCFlutter说明
通知事件 inbox好友、群、动态等
按事件已读
按分类已读
未读摘要
删除通知
推送 Token 注册🔶🔶服务端 API 已有,Flutter 离线推送在 2.1 完善

datasync 支持:getSyncNotificationEventsgetSyncNotificationInboxesgetSyncNotificationReadCursors


十一、音视频通话(LiveKit)

能力PCFlutter
发起语音通话
发起视频通话
私聊通话
群聊通话 / 邀人入会
获取 LiveKit Token
挂断
来电横幅 IncomingCallBanner
通话时长记录以 CallMsg 形式进聊天记录
屏幕共享🔶PC UI 占位,未完全启用

视频预览


十二、文件与媒体

12.1 上传与存储

能力说明
图片上传聊天发图、头像等
语音上传语音消息
视频上传视频消息、动态
文件上传文档附件
存储后端MinIO / 本地 / 七牛等(按部署配置)
文件预览管理后台与 API 支持 preview

12.2 客户端体验

能力PCFlutter
聊天内发图 / 视频 / 文件
拍照发送
相册选择
图片预览 / 视频播放
文件下载

十三、PC 端(beaver-desktop)专有能力

能力说明
独立设置中心账号、快捷键、关于、更新
系统托盘最小化到托盘、消息提醒
多窗口搜索、图片、视频等独立窗口
群助手配置创建 Webhook 通知机器人
全局搜索窗口独立搜索 UI
快捷键云端同步写入服务端 user settings
应用自动更新关于页检查更新

升级页面

PC 登录


十四、移动端(beaver-flutter)专有能力

能力说明
Drift 本地库离线看历史、增量 sync
来电横幅音视频来电全屏/横幅
多媒体采集拍照、录像
意见与反馈应用内提交反馈到 platform 服务
数据库状态页开发 / 调试向同步状态展示

意见与反馈

好友详细资料


十五、开放能力(OAuth2 + 群 Webhook)

15.1 OAuth2 第三方登录 — ✅ 2.0 已支持

能力说明
开发者门户 beaver-open创建 OAuth2 应用
AppId / AppSecret应用凭证
redirect_uri 配置回调白名单
Scope 权限范围限制可读用户信息
Secret 轮换 / Token 吊销门户管理
授权页 beaver-oauth用户确认授权 UI
扫码登录PC 展示码,App 扫
Authorization Code标准 Web 后端接入
H5 授权码移动浏览器
OAuth Code 登录2.0.1 服务端补充

入口:beaver-open + beaver-oauth + beaver-server open/auth 模块。
不是:在 open 门户里配 IM 事件 Webhook(2.1 规划)。

15.2 群推送机器人 — ✅ 2.0 已支持

第五章 5.5。配置在 PC 群助手,不在 open 门户。

15.3 2.0 尚未产品化的开放能力

能力状态
开放平台 @ 智能机器人❌ → 2.1
门户订阅 IM 事件 Webhook❌ → 2.1
开发者 Robot 双向对话❌ → 2.1
Robot 流式回复(SSE)🔶 文档与 scaffold 有,产品化 2.1

十六、运营后台(beaver-manager)

面向管理员,普通用户不登录

16.1 总览与监控

能力说明
仪表盘概览核心指标大盘
趋势图用户 / 活跃趋势
待办 inbox审核待办汇总
在线统计当前在线人数
在线用户列表谁在线
用户在线设备详情UA、连接信息

16.2 用户管理

能力说明
用户列表 / 搜索
用户 360 视图基本信息、好友、群、会话、操作记录
创建用户运营代建账号
编辑用户资料
删除用户
批量删除
批量改状态(启用 / 禁用)
重置用户密码

16.3 聊天与内容管理

能力说明
会话列表查询运营审计
消息列表查询
消息详情
删除消息
批量删除消息
恢复已删消息
清空会话
按类型删除消息

16.4 内容与安全(Moderation)

能力说明
用户举报列表
举报升级 / 驳回
审核案件(Case)创建、处理、详情
案件上下文查看关联消息等内容
用户管控执行封禁等
操作日志
敏感词库增删改查

16.5 开放应用审核

能力说明
开发者入驻审核
开放应用审核通过 / 拒绝
应用列表

16.6 表情运营

见第八章运营侧。

16.7 文件管理

能力说明
文件列表
文件详情 / 预览
删除 / 批量删除
本地上传 / 七牛上传

16.8 客户端发版管理

能力说明
应用管理(desktop / flutter 等)
架构管理(win / mac / android…)
版本发布版本号、下载地址
发版策略强制更新、灰度等
客户端上报版本公共 API

16.9 其他

能力说明
用户反馈处理移动端提交的意见反馈
动态管理运营侧 moment 管理
群组 / 好友关系查询运营排查

十七、服务端基础能力(beaver-server 2.0.1)

用户不直接感知,但选型时常问:

类别能力
架构go-zero 微服务、API + RPC、gRPC 内部调用
网关统一 REST 入口、JWT 鉴权
实时WebSocket;RocketMQ 解耦推送
同步datasync 全模块增量摘要(见下表)
消息seq 递增、tableUpdates 推送、chatSync 区间拉
鉴权锁authlock 多实例并发安全
日志统一日志模块
API 规范REST v1 路径

datasync 已覆盖的同步模块

接口同步对象
getSyncChatMessages各会话消息 seq 摘要
getSyncDeletedMessages已删消息
getSyncMessageMedias语音未听等媒体态
getSyncChatConversations会话信息
getSyncChatUserConversations用户-会话关系(置顶、免打扰等)
getSyncFriends好友
getSyncFriendVerifies好友申请
getSyncAllUsers用户资料变更
getSyncGroupInfo群资料
getSyncGroupMembers群成员
getSyncGroupRequests入群申请
getSyncEmojis / getSyncEmojiCollects表情
getSyncNotification*通知中心

十八、双端差异一览(选型用)

维度PC 更强Flutter 更强
群 Webhook 机器人 配置仅接收
设置中心(改密、设备、快捷键)2.1 对齐中
全局搜索基础
来电横幅
离线本地库✅ Drift
意见反馈
系统托盘 / 多窗口

同一账号、同一套 seq 与 fileUrl 协议,是 一个 IM 的两个端,不是两个产品拼盘。


十九、2.0 明确不做 / 未做(避免误判)

说明
企业通讯录 / 组织架构树❌ 不做
官方 SaaS 公共服务器❌ 不做,仅私有化
工作台 H5 应用宫格❌ 2.1 规划
App 内置 AI 助手 Tab❌ 后续版本
小程序运行时❌ 不做
飞书 / 钉钉级 OA(文档、日历、审批)❌ 不对标
群内 @ 智能机器人自动回复❌ 2.1
正在输入 typing UI🔶 服务端有,双端 UI 完善中

二十、和 1.x 比:2.0 用户能感知的主升级

  1. 六端工程拆分:聊天、运营、OAuth 独立仓库,版本清晰
  2. Flutter 替代 Uniapp:性能、离线、通话体验提升
  3. 消息能力补全:回复、转发(含合并)、撤回、Markdown、语音、多媒体统一 fileUrl
  4. PC 独立设置中心:设备管理、快捷键云端同步
  5. OAuth2 可接入:自有系统「海狸账号登录」
  6. 群 Webhook 机器人:告警 / CI 进群
  7. 运营后台增强:360 视图、Moderation、在线监控、发版策略
  8. 语音未听跨端同步消息媒体态 独立同步

二一、小结

本文是海狸 IM 2.0 功能说明书:从账号、好友、群、消息类型、会话、表情、动态、通话、双端差异、开放能力到运营后台,按 「有什么、谁能用、用到哪」 展开。

若你正在对比开源 IM 或向团队介绍海狸,建议 收藏本篇作能力索引;具体接口与部署以在线文档为准,2.1 的智能机器人、工作台等以 PRD / CHANGELOG 更新为准。


相关链接

项目源码:

学习资源:

核心教学视频: