开源矩阵与边界
结论
flare-core 只管连接与帧;flare-im-core 管 IM 领域服务;flare-im-core-sdk 管客户端 IM 语义。三者可单独使用,也可组合为完整 IM 栈。
依赖关系
flowchart TB
subgraph client["你的应用"]
App[业务 UI / 逻辑]
end
SDK[flare-im-core-sdk]
TC[flare-core Client]
Proto[flare-proto]
subgraph server["可选:自建 IM 后端"]
GW[signaling-gateway]
Orch[orchestrator]
Conv[conversation]
Store[storage]
end
FC[flare-core Server]
App --> SDK
SDK --> TC
SDK --> Proto
TC --> GW
GW --> FC
Orch --> Store
Conv --> Store
| 从 → 到 | 关系 |
|---|---|
| flare-im-core-sdk → flare-core | 传输实现 |
| flare-im-core-sdk → flare-proto | 消息/会话契约 |
| flare-im-core → flare-proto | gRPC / 事件载荷 |
| flare-im-core → flare-server-core | 发现、通用服务端基建 |
| 业务域(可选)→ flare-im-core | 无编译依赖;经 Hook / gRPC 集成 |
许可
| 组件 | 许可 | 分发注意 |
|---|---|---|
| flare-core | Apache-2.0 | 保留版权与 NOTICE |
| flare-im-core / flare-im-core-sdk | Apache-2.0 | 保留 NOTICE;建议在「开源许可」页注明 SDK |
与业务代码的边界
- 不要在 flare-im-core 内引用业务 crate。
- 业务扩展走 HookPlugin / ExtensionPlugin(见
flare-capability与config/hooks.example.toml)。 - seq / cursor 由 Core 权威维护;客户端只上报单调游标。
下一步
- 只要传输:flare-core 快速开始
- 完整栈:集成路径