Skip to main content

概述

Tools API 提供对 Shannon 工具注册表的直接访问。您可以浏览可用工具、查看参数 Schema,以及绕过完整的任务工作流直接执行工具。

功能特性

  • 工具发现 — 浏览所有可用工具,支持按类别过滤
  • JSON Schema 查看 — 获取任意工具的完整参数 Schema
  • 直接执行 — 在 Agent 工作流之外直接调用工具
  • 危险工具拦截 — 被标记为危险的工具在 Gateway 层自动隐藏和拦截
  • 用量追踪 — 每次执行记录 Token 消耗和成本
  • Session 上下文 — 可选绑定到 Session(仅保留 session_iduser_id

安全模型

Shannon 对标记为 dangerous 的工具实施严格的安全边界:
  • List 端点自动应用 exclude_dangerous=true — 危险工具永远不会暴露
  • Get 和 Execute 端点对危险工具返回 403 Forbidden
  • 工具元数据在每个 Gateway 实例中缓存 5 分钟
  • 工具执行的 HTTP 客户端超时时间为 120 秒
危险工具无法通过任何公共 API 端点访问。此限制在 Gateway 层强制执行,客户端无法绕过。

列出工具

列出所有可用工具。危险工具会自动排除。

查询参数

按类别过滤示例

响应

获取工具

获取指定工具的元数据和参数 Schema。

路径参数

响应

执行工具

使用提供的参数直接执行指定工具。

路径参数

请求体

提供 session_id 时,仅 session_iduser_id 会传递给工具。出于安全考虑,tenant_id 等其他 Session 字段会被剥离。

响应

响应字段

用量以异步方式(fire-and-forget)记录到 token_usage 表。Token 数量为合成值:max(100, int(cost_usd / 0.000002))

工具响应对象

错误响应

所有错误遵循标准格式:

危险工具错误

尝试通过 Get 或 Execute 访问危险工具时返回:

后续步骤

自定义工具

了解如何创建和注册自定义工具

智能体

配置自动使用工具的 Agent