# build工具

## 规则（Rules）

# 工具构建 - 规则文档

## 任务目标
根据需求设计并实现工具代码，包括工具的逻辑、参数、返回值等，确保工具功能正确、结构清晰。

## 输入条件
- 工具需求（功能、输入、输出）
- 工具命名规范参考
- 目标智能体已明确

## 必须遵守的规则

### 规则1：工具命名规范
- 工具名称（name）：小写蛇形，如 `user_query`、`data_export`
- 工具标题（title）：中文名称，如 "用户查询工具"
- 功能描述（description）：清晰描述，50字以内

### 规则2：工具参数定义
- 每个参数必须定义类型、是否必填、默认值、描述
- 参数类型支持：string、number、boolean、array、object
- 必填参数必须有非空校验

### 规则3：返回值规范
- 成功返回：`{ code: 0, msg: '成功', data: {...} }`
- 参数错误返回：`{ code: 400, msg: '错误描述' }`
- 执行异常返回：`{ code: 500, msg: error.message }`

### 规则4：工具配置规范
- 必须编写tool.json配置文件
- 配置包含：name、title、description、version、params、returns、group、main、func_name

## 输出要求
- 工具脚本文件（index.js）
- 工具配置文件（tool.json）
- 已注册到系统的工具实体

## 方法（Methods）

# 工具构建 - 方法文档

## 操作流程

### 步骤1：分析工具需求
- 明确工具的核心功能
- 定义输入参数和输出结果
- 确定使用场景

### 步骤2：创建工具目录
- 创建 `./tool/{工具名称}/` 目录

### 步骤3：编写工具代码
- 编写index.js，包含async main(params)入口函数
- 实现参数校验和核心逻辑
- 统一返回格式

### 步骤4：编写工具配置文件
- 编写tool.json
- 配置name、title、description、params、returns等

### 步骤5：注册工具
- 调用工具创建功能注册到系统
- 传入完整参数

### 步骤6：自检确认
- 逐项核对工具配置
- 验证参数定义完整性
- 确认返回值格式正确

## 技巧（Tips）

# 工具构建 - 技巧文档

## 最佳实践

### 设计技巧
- 工具功能单一职责，一个工具只做一件事
- 参数设计考虑未来扩展性
- 返回值包含足够的信息便于调用方处理

### 编码技巧
- 使用JSDoc完整注释每个参数
- 参数校验放在最前面，快速失败
- 错误信息要清晰指明问题

### 配置要点
- tool.json的params和returns与代码保持一致
- group字段选择合适的分组便于管理
- version从1.0.0开始

### 常见问题
- **参数遗漏**：列出所有参数逐一核对
- **返回值不一致**：统一使用{code, msg, data}格式
- **注册失败**：检查tool.json格式是否正确
