---
description: 
globs: 
alwaysApply: true
---
# 处理流程

## CSV 处理流程

structurize-mcp 将自然语言描述转换为结构化的 CSV 文件。主要处理过程如下：

### 数据处理步骤

1. **接收请求**
   - 验证请求格式和参数
   - 检查 API 密钥有效性
   - 初始化处理上下文

2. **解析结构**
   - 使用 Gemini 解析列结构
   - 验证列名和数据类型
   - 处理特殊字符和格式要求

3. **生成数据**
   - 根据结构生成符合要求的数据行
   - 确保数据类型匹配
   - 处理数据关联和约束

4. **CSV 格式化**
   - 转换为标准 CSV 格式
   - 处理特殊字符转义
   - 验证 CSV 格式正确性

5. **保存文件**
   - 生成唯一文件名
   - 写入文件系统
   - 验证文件写入成功

### 错误处理流程

1. **请求验证错误**
   - 参数缺失或格式错误
   - API 密钥无效
   - 返回详细错误信息

2. **AI 分析错误**
   - Gemini API 调用失败
   - 结构解析失败
   - 数据生成失败

3. **文件系统错误**
   - 目录访问权限问题
   - 磁盘空间不足
   - 文件写入失败

## HTTP 服务器

项目提供了 HTTP 服务器，支持以下端点：

1. **生成 CSV**
   ```
   POST /generate-csv
   Content-Type: application/json
   
   {
     "description": "描述文本"
   }
   ```

2. **健康检查**
   ```
   GET /health
   
   响应：
   {
     "status": "ok",
     "version": "1.0.7"
   }
   ```

## 文件命名规则

文件名由以下部分组成：
- **标题摘要**: 从用户提供的标题中提取
- **列信息**: 包含前几个列名
- **时间戳**: 确保文件名唯一性
- **后缀**: .csv 扩展名

文件命名处理在 [src/utils.ts](mdc:structurize-mcp/src/utils.ts) 文件中实现。