flare-chat-core
v2.0.0
Published
Chat 核心能力包。目标边界:框架无关 Controller + 薄 React 接入层。
Readme
flare-chat-core
Chat 核心能力包。目标边界:框架无关 Controller + 薄 React 接入层。
职责:
- 会话状态与生命周期。
- 通用输入、附件与上传状态;拖拽视觉交互归 UI。
- SSE 流式通信与事件解析。
- 消息时间线组装与 backend workflow/source/artifact 投影。
- capability availability 消费、Controller 订阅/释放与多实例隔离。
目标中不包含:
- Chat GUI 宿主层。
- 生成式 UI 渲染层。
- CSS、AntD、ReactNode、Theme/Locale、Surface Registry 和产品布局状态。
目标依赖为 flare-chat-ui / 自定义 UI → Core 公开 Contract / React boundary,禁止 Core 反向导入具体 UI。
架构边界文档
docs/SSOT-CHAT-CORE-BOUNDARY.md(SSOT)docs/SSOT-CHAT-CORE-DATAFLOW.md(引用型)docs/CHAT-CORE-BOUNDARY.md(引用型)docs/CAPABILITY-INVENTORY.md- Chat Controller consumer contract(接入、生命周期与当前交付边界)
构建
npm run build
Public entries
| Import | Purpose |
|---|---|
| flare-chat-core | Headless root: createChatController, assertChatController |
| flare-chat-core/contracts | Structural controller assertion |
| flare-chat-core/controller | React-free Controller factory |
| flare-chat-core/transport | Normalized HTTP/SSE Transport factory |
| flare-chat-core/react | ChatCoreProvider, state/actions/capabilities Hooks |
| flare-app | Official Host App and instance configuration |
Core does not export an App and has no UI, AntD, Canvas, or styling dependency. The Host owns Controller construction, lifetime and Surface selection. A UI reads snapshots through the public contract and invokes actions; it never owns the Controller's mutable state.
Build and verification
npm run build --workspace=flare-chat-core
node --test packages/flare-chat-core/config/chat-contract-entry.test.mjs \
packages/flare-chat-core/config/chat-controller-entry.test.mjs \
packages/flare-chat-core/config/chat-react-entry.test.mjsConsumer handoff
Use the Chat Controller consumer contract for API truth and the Integration guide for Host/custom UI setup, Theme/Locale ownership, and Xiaocai's two user-owned upgrade/rollback mappings. The guide describes prepared local artifacts; it is not a publication notice and does not modify Xiaocai.
