tools 是做什么的?
在 assistant-ui(@assistant-ui/react)中注册 LLM 工具并渲染自定义工具调用 UI。用于添加纯前端工具(使用 makeAssistantTool / useAssistantTool,处理浏览器的剪贴板、导航、localStorage、异步生成器流、AbortSignal 等操作),渲染后端 AI SDK 的 tool() 调用(使用 makeAssistantToolUI / useAssistantToolUI,处理 status.type:running/complete/incomplete/requires-action,以及通过 ToolCallMessagePartProps 获取 args、result、artifact),从工具结果构建生成式 UI,或实现人工在环和审批流程(使用 addResult、resume 配合 context.human()、respondToApproval 处理服务端 needsApproval 门控)。涵盖在 AssistantRuntimeProvider 内注册工具组件以及用于连接工具与其 UI 的区分大小写的 toolName 匹配。当工具 UI 未渲染、工具未被调用或结果未显示时,请使用此技能。
使用场景
- 添加纯前端工具(浏览器操作)
- 渲染后端 AI SDK 工具调用的 UI
- 构建生成式 UI
- 实现人工在环和审批流程
平台支持
- @assistant-ui/react
注意事项
- 确保在 AssistantRuntimeProvider 内部注册工具组件
- 使用区分大小写的 toolName 匹配工具与其 UI