会话与线程
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) 更新内容。
INTERACTION NOTES
交互与可访问性
- 用户回看时不要强制滚到底部。
- 新消息提示与键盘焦点分开处理。
和相似组件的区别
线程是多轮上下文;单条消息只是其中一个回合。
RESEARCH & ALTERNATIVES
官方实现映射
以下是上游生态对同类交互的实现。上方运行的是 UI 自己的组件。
关键状态
React / Next.js、Vue / Nuxt、Svelte / SvelteKit、Web Components · 来源核验