uiUI 组件系统
对比

审批与人工接管

Approval / Human-in-the-loop

在动作执行前,把决定和后果清晰交给用户。

交互预览实时预览
允许导出这份报告?

确认操作后保留你的决定。

等待你的决定

批准或拒绝,再重置重试
使用代码安装指南 ↗
app.mjs
import { mount } from '@sofish/ui/browser';

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

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

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

什么时候用

有明确授权边界,或 Agent 需要用户补充决定。

什么时候不用

普通进度提示不应阻断用户并索要批准。

COMPONENT API

属性与事件

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

属性默认值
title"允许导出这份报告?"
description"确认操作后保留你的决定。"
approveLabel"允许导出"
rejectLabel"拒绝"
state"pending"
demofalse

事件

ui:decision

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

INTERACTION NOTES

交互与可访问性

  • 按钮写明动作和后果。
  • 决定后保留结果,避免重复提交。

和相似组件的区别

审批改变执行权限;提示框本身不构成后端授权。

RESEARCH & ALTERNATIVES

官方实现映射

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

AI ElementsConfirmation
需组合

Item 与 Button 组合;回答后变为工具记录。

需组合

钩子暂停交互工具并接收用户输入;审批 UI 自行渲染。

assistant-uiApproval card
官方提供

提供工具审批 UI;后端授权仍由应用负责。

AI Elements VueConfirmation
官方提供

Vue 工具执行审批展示。

关键状态

待决定批准拒绝已过期继续执行

React / Next.js、Vue / Nuxt · 来源核验

一起了解

工具调用与结果 ↗多选与追问 ↗模态对话框 ↗