SuperAPI AI 工具集

iblai-tools-tab

智能体与模型

查看项目

更新于 10-16 07:05

技能介绍

用途

iblai-tools-tab 用于在 Next.js 应用中添加智能体的「工具(Tools)」标签页。该标签页提供一个可切换的工具列表,每个工具显示名称、在悬浮提示(tooltip)中显示描述,并配有开关用于启用或禁用对应的工具。

它是更广泛的 agent-settings 标签家族中的一个标签,家族中所有标签共享同一个 AgentSettingsProvider 包裹组件。

主要能力

  • AgentToolsTab 组件:渲染工具开关列表,支持启用/禁用每个工具。
  • labels 属性:类型为 DeepPartial<ToolsTabLabels>,非必填,用于覆盖用户可见字符串(例如自定义标题)。
  • 相关导出:AGENT_TOOLS_TAB_LABELS(默认的面向智能体的标签包)与 ToolsTabLabels(完整标签包类型)。
  • 组件从 @iblai/iblai-js/web-containers/next 导入。

使用方式

前置条件

  • 必须先完成鉴权配置(/iblai-auth)。
  • 必须完成 MCP 与技能设置:iblai add mcp。
  • 路由必须由 AgentSettingsProvider 包裹(见 /iblai-settings-tab Step 2)。
  • 需要向用户询问真实的 mentorId(智能体 UUID),不要自行编造。

Step 0:检查 CLI 更新

运行 iblai 命令前先确认 CLI 为最新版本。运行 iblai --version 检查当前版本,然后升级:

  • pip: pip install --upgrade iblai-app-cli
  • npm: npm install -g @iblai/cli@latest

即使已是最新版本,运行该命令也是安全的。

Step 1:检查环境

检查项目根目录下的 iblai.env,确认其中包含 PLATFORM、DOMAIN、TOKEN 变量。若文件不存在或缺少这些变量,需告知用户下载模板并填写:

curl -o iblai.env https://raw.githubusercontent.com/iblai/vibe/refs/heads/main/iblai.env

注意:iblai.env 不是 .env.local 的替代品,它只保存这 3 个简写变量(DOMAIN、PLATFORM、TOKEN)。Next.js 仍从 .env.local 读取运行时环境变量。

Step 2:挂载 AgentToolsTab

在 app/(app)/agents/[mentorId]/tools/page.tsx 中:

"use client";

import { AgentToolsTab } from "@iblai/iblai-js/web-containers/next";

export default function AgentToolsPage() { return ( <div className="flex h-full flex-col bg-white"> <AgentToolsTab /> </div> ); }

Step 3:自定义标签(可选)

import { AgentToolsTab } from "@iblai/iblai-js/web-containers/next";

<AgentToolsTab labels={{ header: { title: "Mentor tools" }, }} />;

Step 4:使用 MCP 工具进行自定义

get_component_info("AgentToolsTab") get_component_info("AgentSettingsProvider")

Step 5:验证

在告知用户工作完成前运行 /iblai-test:

  • pnpm build 必须零错误通过。
  • pnpm test(vitest)必须通过。
  • 启动开发服务器并进行触摸测试:

pnpm dev & npx playwright screenshot http://localhost:3000/agents/<id>/tools /tmp/tools-tab.png

工作全部完成后,启动开发服务器(pnpm dev),使用户可在 http://localhost:3000 查看结果。

组件与样式约定

  • 不要为 ibl.ai SDK 组件添加自定义样式、颜色或 CSS 覆盖,它们自带样式,保持原样。
  • 除非用户明确要求,不要实现深色模式。
  • 围绕 SDK 组件构建自定义 UI 时使用 ibl.ai 品牌:
    • Primary: #0058cc,Gradient: linear-gradient(135deg, #00b0ef, #0058cc)
    • Button: bg-gradient-to-r from-[#2563EB] to-[#93C5FD] text-white
    • Font: System sans-serif stack,Style: shadcn/ui new-york variant
  • 遵循组件层级:优先使用 ibl.ai SDK 组件(@iblai/iblai-js),其次使用 shadcn/ui(npx shadcn@latest add <component>)。当 ibl.ai 或 shadcn 存在等价组件时,不要自己编写自定义组件。两者共享同一 Tailwind 主题,会自动以 ibl.ai 品牌色渲染。
  • 遵循 BRAND.md 中的颜色、字体、间距和组件样式。
  • 默认包管理器为 pnpm,若未安装 pnpm 则回退到 npm。

注意事项

  • Redux store 必须包含 mentorReducer 和 mentorMiddleware。
  • initializeDataLayer() 需 5 个参数(v1.2+)。
  • @reduxjs/toolkit 通过 next.config.ts 中的 webpack 别名去重。
  • 对等依赖:需安装 sonner 和 @iblai/iblai-web-mentor(pnpm add sonner @iblai/iblai-web-mentor)。
  • 共享 provider:AgentSettingsProvider 必须在 layout 层级包裹路由(完整代码片段见 /iblai-settings-tab Step 2)。

适用场景

适用于希望在 Next.js 构建的智能体管理界面中,为智能体提供工具启用/禁用配置入口的开发者。需要具备鉴权、MCP 与技能前置配置,并提供真实 mentorId。

限制

关于收费、价格、平台支持和具体效果,资料中暂未提供。