# 节点测试功能使用说明

## ✅ 已修复的问题

1. **输出为 null 的问题**：
   - 修复了后端未正确处理节点执行失败的情况
   - 现在会正确显示错误信息，而不是只显示 `null`

2. **错误信息显示**：
   - 改进了错误信息的传递和显示
   - 前端会清晰显示具体的错误原因

## 🔧 配置检查

### DeepSeek API 配置

已在 `docker-compose.dev.yml` 中配置：
```yaml
environment:
  - DEEPSEEK_API_KEY=sk-fdf7cc1c73504e628ec0119b7e11b8cc
  - DEEPSEEK_BASE_URL=https://api.deepseek.com
```

### 验证配置是否生效

1. **检查后端服务状态**：
   ```bash
   docker-compose -f docker-compose.dev.yml ps
   ```

2. **验证 API Key 是否加载**：
   ```bash
   docker-compose -f docker-compose.dev.yml exec backend python -c "from app.core.config import settings; print('DeepSeek API Key:', '已配置' if settings.DEEPSEEK_API_KEY else '❌ 未配置')"
   ```

3. **查看后端日志**：
   ```bash
   docker-compose -f docker-compose.dev.yml logs --tail=50 backend
   ```

## 📝 使用步骤

### 1. 打开 Agent 设计器

1. 登录系统
2. 点击导航栏的"Agent管理"
3. 选择一个 Agent，点击"设计"按钮

### 2. 配置 LLM 节点

1. 点击画布上的 LLM 节点（或添加新节点）
2. 在右侧配置面板中设置：
   - **提供商**: 选择 "DeepSeek"
   - **模型**: 选择 "DeepSeek Chat" 或 "DeepSeek Coder"
   - **提示词**: 输入提示词，例如：`请处理用户请求：{input}`
   - **温度**: 0.5-0.7（推荐）
   - **最大Token数**: 1500（根据需要调整）

3. 点击"保存配置"按钮

### 3. 测试节点

1. 在"节点测试"区域：
   - **测试输入**: 编辑 JSON 格式的测试数据
   - 默认输入示例：
     ```json
     {
       "input": "你好",
       "query": "你好"
     }
     ```

2. 点击"运行测试"按钮

3. 查看测试结果：
   - **测试输出**: 显示 LLM 返回的内容
   - **状态**: 显示成功/失败状态
   - **执行时间**: 显示耗时（毫秒）
   - **错误信息**: 如果失败，会显示具体错误

## 🎯 测试示例

### 示例 1：简单对话

**节点配置**：
- 提供商: DeepSeek
- 模型: DeepSeek Chat
- 提示词: `请回答用户的问题：{input}`

**测试输入**：
```json
{
  "input": "你好，介绍一下你自己"
}
```

**预期输出**：
DeepSeek 的回复内容

### 示例 2：文本处理

**节点配置**：
- 提供商: DeepSeek
- 模型: DeepSeek Chat
- 提示词: `请将以下文本翻译成英文：{input}`

**测试输入**：
```json
{
  "input": "你好，世界"
}
```

**预期输出**：
"Hello, World"

## ⚠️ 常见问题

### 1. 输出为 null

**可能原因**：
- API Key 未配置或配置错误
- 模型名称不匹配
- 网络连接问题
- API 返回空内容

**解决方法**：
1. 检查 `docker-compose.dev.yml` 中的 `DEEPSEEK_API_KEY` 配置
2. 确认模型名称是 `deepseek-chat` 或 `deepseek-coder`
3. 查看后端日志获取详细错误信息
4. 重启后端服务：
   ```bash
   docker-compose -f docker-compose.dev.yml restart backend
   ```

### 2. 显示错误信息

现在如果测试失败，会显示具体的错误信息，例如：
- `DeepSeek API Key未配置，请在环境变量中设置DEEPSEEK_API_KEY`
- `DeepSeek API调用失败: ...`
- `DeepSeek API返回的内容为空，请检查API配置和模型名称`

根据错误信息进行相应的修复。

### 3. 测试超时

如果测试时间过长：
1. 检查网络连接
2. 减少 `max_tokens` 的值
3. 检查 API 服务状态

## 🔄 重启服务

如果修改了配置，需要重启后端服务：

```bash
docker-compose -f docker-compose.dev.yml restart backend
```

## 📊 功能特点

1. **实时测试**：边编排边测试，无需保存即可验证节点功能
2. **输入编辑**：支持自定义 JSON 格式的测试输入
3. **输出查看**：实时查看节点输出结果
4. **错误提示**：清晰的错误信息，便于调试
5. **执行时间**：显示节点执行耗时

## 🎨 界面说明

- **左侧面板**：节点配置和测试区域
  - 节点配置表单
  - 测试输入编辑框
  - 运行测试按钮
  - 测试输出显示框

- **右侧面板**：Agent 预览和测试结果
  - Agent 信息展示
  - 节点测试结果（输入/输出）
  - 实时对话预览

## 💡 提示

1. **测试前保存配置**：建议先点击"保存配置"再测试
2. **输入格式**：确保测试输入是有效的 JSON 格式
3. **多次测试**：可以修改输入数据，多次测试验证不同场景
4. **查看日志**：如果遇到问题，查看后端日志获取详细信息
