Files
19904408334 a66a38e074 feat: 新增通用工具框架与WebSocket服务
* 新增 tools 包:统一工具定义、注册表与 Server 接口,对齐 MCP 规范
* 新增 websocket 包:泛化连接管理、心跳、并发写锁与优雅关闭
* 新增参数读取工具函数,避免类型断言静默失败
* 新增 OSS 路径识别与 JSON 扁平映射还原工具
* 修复租户 SQL 条件插入位置,正确处理 GROUP BY 与 ORDER BY 同时出现的场景
2026-08-21 09:26:35 +08:00

21 lines
1.2 KiB
Go

// Package tools 提供共享的模型工具框架:工具定义、注册表与结构化返回。
//
// 数据模型对齐 MCP 的 Tool 定义(name + description + inputSchema)。
// 工具是**给模型 function calling 用**的通用能力:模型在推理中动态决定是否调用,
// 消费方依赖 Server 接口(List/Call)而非注册表本身,未来可无缝替换为远程 MCP Server 客户端。
//
// # 分层
//
// - tools(本包):Tool 定义 + 全局注册表 Register + Server 接口,纯框架,不依赖任何业务包
// - 业务侧:各服务在自身代码中定义**通用**工具(含执行实现 Func),通过 init() 注册进共享注册表;
// 工具的"使用"(如 ReAct 执行循环)也由业务服务基于 Server.Call 自行编排
//
// 非通用、绑定到固定业务场景的处理逻辑(如工作流节点的前后置钩子)**不属于工具**,
// 应由各业务在自己的编排层维护,不进入本注册表。
//
// # 消费路径
//
// 注册表内工具由各业务服务的模型调用方消费:模型 function calling 模式下
// 经 Server.List 获取全部工具定义交给模型,按返回的 ToolCall 经 Server.Call 执行。
package tools