uiUI 组件系统
对比

工具选择与提及

Tool Picker / Mentions

在发送消息前指定工具或引用一个有身份的对象。

交互预览实时预览
本轮可用工具(示例)

启用工具不等于批准每一次执行。

勾选本轮可用工具
使用代码安装指南 ↗
app.mjs
import { mount } from '@sofish/ui/browser';

const view = mount(
  document.querySelector('#example'),
  'tool-selector'
);

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

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

什么时候用

用户需要明确选择搜索、数据源或可调用能力。

什么时候不用

工具无真实连接或权限不可用时,不要将它标为可执行。

COMPONENT API

属性与事件

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

属性默认值
label"本轮可用工具(示例)"
name"tools"
items[{"value":"search","label":"文档检索"},{"value":"calculator","label":"计算器"}]
value["search"]
disabledfalse
note"启用工具不等于批准每一次执行。"

事件

ui:change

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

INTERACTION NOTES

交互与可访问性

  • 候选支持键盘导航。
  • 已选对象有可读名称与移除方式。

和相似组件的区别

选择表达意图,不构成执行成功或敏感操作授权;提及对象也不一定是工具。

RESEARCH & ALTERNATIVES

官方实现映射

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

assistant-uiMentions
官方提供

在 composer 中选工具或自定义对象并作为 directive 发送。

OpenAI ChatKitComposerOption.tools
官方提供

在输入区显示可选工具菜单。

关键状态

未指定搜索候选已选工具不可用已移除

React / Next.js、Web Components · 来源核验

一起了解

模型与思考强度选择 ↗审批与人工接管 ↗提示输入 ↗