uiUI 组件系统
对比

提示输入

Prompt Input / Composer

把文本、附件和发送动作放在一个明确的输入区域。

交互预览实时预览
仅本地演示

输入内容后发送
使用代码安装指南 ↗
app.mjs
import { mount } from '@sofish/ui/browser';

const view = mount(
  document.querySelector('#example'),
  'composer',
  {
    "demo": true
  }
);

view.element.addEventListener('ui:submit', event => {
  console.log(event.detail.value);
});

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

什么时候用

用户给 Assistant 下达问题或补充上下文。

什么时候不用

固定字段的数据收集更适合表单。

COMPONENT API

属性与事件

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

属性默认值
label"演示消息"
placeholder"描述你想完成的任务…"
value""
submitLabel"发送"
disabledfalse
attachmentsfalse
demofalse

事件

ui:submit ui:files ui:error

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

INTERACTION NOTES

交互与可访问性

  • 输入框有可见标签或可读名称。
  • 中文输入法组字时不要把 Enter 当作发送。

和相似组件的区别

它管理消息草稿;上传组件只管理文件传输。

RESEARCH & ALTERNATIVES

官方实现映射

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

AI ElementsPrompt Input
需组合

组合消息输入、附件和发送按钮。

官方提供

提供文本、发送、停止与附件等控制接口。

Ant Design XSender
官方提供

消息输入与发送控件。

官方提供

聊天输入区域。

OpenAI ChatKitComposerOption
需组合

配置完整 ChatKit 的输入、附件、模型与工具选项;不是独立 composer 包。

AI Elements VuePrompt Input
官方提供

Vue 输入组件。

Svelte AI ElementsPrompt Input
官方提供

Svelte 输入、提交与工具栏。

关键状态

空草稿可发送附件处理中发送中失败保留草稿

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

一起了解

上传与附件 ↗会话与线程 ↗表单与字段 ↗