SuperAPI AI 工具集

tools-ui

前端与建站

查看项目

更新于 10-16 06:56

技能介绍

用途

tools-ui 是一套面向 React/Next.js 的工具生命周期 UI 组件,来自 ui.inference.sh。它用于在 AI 应用界面中展示工具调用的过程与结果,覆盖从请求发起到执行完成或失败的完整状态。

主要能力

组件支持以下工具状态:

  • pending:工具调用已请求,等待执行
  • running:工具正在执行
  • approval:执行前需要人工审批
  • success:工具执行成功
  • error:工具执行失败

提供的组件包括:

  • ToolCall:展示工具调用,接收 name、args、status 等属性
  • ToolResult:展示工具执行结果,接收 name、result、status 等属性
  • ToolApproval:展示审批界面,接收 name、args、onApprove、onDeny 等属性

工具图标会根据工具名称自动匹配:

  • search*、find* 对应 Search 图标
  • read*、get* 对应 File 图标
  • write*、create* 对应 Pencil 图标
  • delete*、remove* 对应 Trash 图标
  • send*、email* 对应 Mail 图标
  • 默认使用 Wrench 图标

可通过 className 自定义工具卡片样式,例如设置边框颜色。

使用方式

安装组件:

npx shadcn@latest add https://ui.inference.sh/r/tools.json

安装 belt CLI skill:

npx skills add belt-sh/cli

在代码中按需引入组件,例如:

import { ToolCall } from "@/registry/blocks/tools/tool-call"

<ToolCall
  name="search_web"
  args={{ query: "latest AI news" }}
  status="running"
/>

ToolResult 示例:

import { ToolResult } from "@/registry/blocks/tools/tool-result"

<ToolResult
  name="search_web"
  result={{ results: [...] }}
  status="success"
/>

ToolApproval 示例:

import { ToolApproval } from "@/registry/blocks/tools/tool-approval"

<ToolApproval
  name="send_email"
  args={{ to: "user@example.com", subject: "Hello" }}
  onApprove={() => executeTool()}
  onDeny={() => cancelTool()}
/>

完整示例中可根据 tool.status 与 tool.result 判断渲染 ToolApproval、ToolResult 或 ToolCall。

与 Agent 组件配合时,Agent 组件可自动处理工具生命周期,通过 config 中的 tools 数组配置工具,并可用 requiresApproval 开启审批流程。

相关技能安装命令:

npx skills add inference-sh/skills@agent-ui
npx skills add inference-sh/skills@chat-ui
npx skills add inference-sh/skills@widgets-ui

适用场景

适用于需要在 React/Next.js 界面中展示 AI 工具调用状态、结果以及人工审批流程的应用,例如带工具调用的智能体前端、需要人工确认敏感操作(如发送邮件)的交互界面。

限制

资料未提供关于收费、价格、平台兼容范围、性能效果等方面的信息,暂未提供。