uiUI 组件系统
对比

会话与线程

Conversation / Thread

把多轮问答组织成可连续阅读的上下文。

交互预览实时预览

如何让工具执行更透明?

把执行过程和最终结果分开展示。用户可以随时回看发生了什么。

查看完整对话
使用代码安装指南 ↗
app.mjs
import { mount } from '@sofish/ui/browser';

const view = mount(
  document.querySelector('#example'),
  'conversation'
);

// view.update({ ...nextProps });
// view.destroy();

什么时候用

用户需要追问、回看,或在同一任务中持续协作。

什么时候不用

一次表单提交即可完成任务时,先考虑直接操作。

COMPONENT API

属性与事件

传入业务数据,通过事件连接你的应用。

属性默认值
label"会话记录"
messages[{"role":"user","content":"如何让工具执行更透明?"},{"role":"assistant","content":"把执行过程和最终结果分开展示。用户可以随时回看发生了什么。"}]

事件

展示组件;通过 update(props) 更新内容。

安装、生命周期与完整 API ↗

INTERACTION NOTES

交互与可访问性

  • 用户回看时不要强制滚到底部。
  • 新消息提示与键盘焦点分开处理。

和相似组件的区别

线程是多轮上下文;单条消息只是其中一个回合。

RESEARCH & ALTERNATIVES

官方实现映射

以下是上游生态对同类交互的实现。上方运行的是 UI 自己的组件。

AI ElementsChat
需组合

由 Message 与 Message Scroller 组合。

CopilotKitCopilotChat
官方提供

连接 Agent 并管理消息、运行状态与建议。

assistant-uiThread
官方提供

提供线程结构、流式跟随与消息操作。

Ant Design XBubble.List
官方提供

消息列表;不同于管理历史会话的 Conversations。

Lobe UIChatList
官方提供

聊天消息列表。

ChatUIChat
官方提供

聊天容器,应用通过回调提供收发行为。

NLUXAiChat
官方提供

通过 adapter 连接流式或批量回复。

Deep Chatdeep-chat
官方提供

完整聊天 Web Component。

官方提供

React 包装渲染 openai-chatkit;连接配置仍需接入。

AI Elements VueConversation
官方提供

社区 Vue 会话容器。

Svelte AI ElementsConversation
官方提供

社区 Svelte 会话容器。

关键状态

空会话加载历史有新消息滚动离开底部

React / Next.js、Vue / Nuxt、Svelte / SvelteKit、Web Components · 来源核验

一起了解

消息与富文本 ↗提示输入 ↗历史与搜索 ↗