# 开发工具

## 规则（Rules）

# 工具开发 - 规则文档

## 任务目标
进行智能体工具研发，涵盖工具需求分析、功能设计、代码实现、测试验证、部署赋予与维护优化全流程。

## 输入条件
- 工具需求描述
- 目标智能体信息
- 技术栈要求

## 必须遵守的规则

### 规则1：需求分析先行
- 明确工具的功能、输入参数和输出结果
- 确认工具的使用场景和目标用户
- 评估工具实现的可行性和工作量

### 规则2：标准化目录结构
- 工具目录：`./tool/{工具名称}/`
- 主文件：index.js
- 配置文件：tool.json

### 规则3：代码规范
- 入口函数：`async function main(params)`
- 统一返回格式：`{ code, msg, data }`
- 完整的参数校验和异常处理
- 禁止硬编码敏感信息

### 规则4：全流程覆盖
- 包含需求分析、设计、编码、测试、部署、维护
- 测试验证通过后才能赋予智能体
- 维护阶段收集使用反馈持续优化

## 输出要求
- 工具脚本文件（index.js）
- 工具配置文件（tool.json）
- 已注册和赋予的工具

## 方法（Methods）

# 工具开发 - 方法文档

## 操作流程

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

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

### 步骤3：编写工具代码
- 编写index.js，实现async main(params)
- 参数校验、核心逻辑、异常处理

### 步骤4：编写工具配置
- 编写tool.json配置文件
- 定义完整的参数和返回值

### 步骤5：注册工具
- 调用工具创建功能注册到系统

### 步骤6：测试验证
- 进行功能测试
- 确认工具正常运行

### 步骤7：赋予工具
- 为目标智能体赋予工具
- 确认智能体可正常使用

### 步骤8：维护优化
- 收集使用反馈
- 持续优化工具功能

## 技巧（Tips）

# 工具开发 - 技巧文档

## 最佳实践

### 需求分析技巧
- 明确工具的输入输出边界
- 考虑异常场景和边界情况
- 与目标智能体的角色定位匹配

### 设计经验
- 工具功能保持单一职责
- 参数设计考虑扩展性
- 返回值包含足够信息

### 测试要点
- 使用真实的输入数据测试
- 覆盖正常、异常、边界场景
- 测试工具在智能体中的实际表现

### 常见问题
- **需求不明确**：先澄清再开发
- **赋予失败**：检查工具配置是否正确
- **使用异常**：检查参数传递是否正确
