Files
aiagent/节点测试按钮无法点击问题排查.md
2026-03-06 22:31:41 +08:00

246 lines
5.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 节点测试"运行测试"按钮无法点击问题排查
## 🔍 问题原因
"运行测试"按钮的禁用条件是:
```vue
:disabled="!selectedNode || testInputError"
```
按钮无法点击的可能原因:
1. **没有选中节点** (`!selectedNode`)
2. **测试输入JSON格式错误** (`testInputError`)
---
## ✅ 解决方案
### 方案1: 检查节点是否选中
1. **确认节点已选中**
- 节点应该显示为选中状态(有蓝色边框或高亮)
- 右侧配置面板应该显示该节点的配置信息
2. **如果节点未选中**
- 点击节点使其选中
- 或者从节点列表中选择节点
### 方案2: 检查JSON格式
1. **验证JSON格式**
- 点击"格式化"按钮如果JSON格式正确会格式化成功
- 如果JSON格式错误会显示错误信息
2. **常见JSON格式错误**
- 缺少引号:`{input: "获取最近日志"}`
- 多余的逗号:`{"input": "获取最近日志",}`
- 单引号:`{'input': '获取最近日志'}`
- 正确的格式:`{"input": "获取最近日志"}`
3. **修复JSON格式**
- 点击"格式化"按钮自动修复
- 或手动修正JSON格式
### 方案3: 使用快速模板
1. **选择快速模板**
- 在"快速模板"下拉菜单中选择合适的模板
- 对于LLM节点可以选择"LLM输入"模板
2. **模板会自动填充正确的格式**
---
## 📝 正确的测试输入格式
### 对于"执行ADB命令"节点LLM工具调用节点
**推荐输入格式**
```json
{
"input": "获取最近日志"
}
```
或者更详细的格式:
```json
{
"input": "请使用adb_log工具获取最近的100行日志",
"context": "用户想要查看Android设备的最近日志"
}
```
### 如果节点有上游节点
如果"执行ADB命令"节点有上游节点如JSON解析节点输入应该模拟上游节点的输出
```json
{
"command": "logcat",
"max_lines": 100,
"level": null,
"filter_tag": null
}
```
---
## 🔧 操作步骤
### 步骤1: 确认节点选中
1. 点击"执行ADB命令"节点
2. 确认节点显示为选中状态
3. 确认右侧配置面板显示该节点的信息
### 步骤2: 检查测试输入
1. 点击"测试"标签页
2. 检查测试输入框中的JSON格式
3. 如果有错误提示,查看错误信息
### 步骤3: 修复JSON格式
**方法1: 使用格式化按钮**
- 点击"格式化"按钮
- 如果格式正确,会自动格式化
- 如果格式错误,会显示错误信息
**方法2: 使用快速模板**
- 在"快速模板"下拉菜单中选择"LLM输入"
- 会自动填充正确的格式
- 然后修改内容为你的测试数据
**方法3: 手动修正**
- 确保使用双引号
- 确保没有多余的逗号
- 确保JSON结构正确
### 步骤4: 验证输入
1. 检查输入框下方是否有错误提示
2. 如果没有错误提示,按钮应该可以点击
3. 点击"运行测试"按钮
---
## 💡 快速检查清单
- [ ] 节点已选中(有蓝色边框或高亮)
- [ ] 测试输入框中有内容
- [ ] JSON格式正确使用双引号没有语法错误
- [ ] 输入框下方没有错误提示
- [ ] "运行测试"按钮不是灰色(禁用状态)
---
## 🎯 示例:正确的测试输入
### 示例1: 简单输入
```json
{
"input": "获取最近日志"
}
```
### 示例2: 详细输入
```json
{
"input": "请使用adb_log工具执行logcat命令获取最近的100行日志",
"query": "获取最近日志"
}
```
### 示例3: 模拟上游节点输出
如果"执行ADB命令"节点接收来自JSON解析节点的输出
```json
{
"command": "logcat",
"max_lines": 100,
"level": null,
"filter_tag": null
}
```
---
## ⚠️ 常见问题
### Q1: 按钮一直是灰色的
**A**: 检查:
1. 节点是否已选中
2. JSON格式是否正确
3. 查看输入框下方的错误提示
### Q2: 点击"格式化"后显示错误
**A**: JSON格式有错误需要手动修正
- 检查是否使用了单引号(应该用双引号)
- 检查是否有多余的逗号
- 检查括号是否匹配
### Q3: 使用模板后还是无法点击
**A**:
1. 检查节点是否已选中
2. 尝试清空后重新输入
3. 刷新页面后重试
---
## 🔍 调试技巧
### 1. 查看浏览器控制台
打开浏览器开发者工具F12查看Console标签
- 如果有JavaScript错误会显示在控制台
- 查看是否有相关的错误信息
### 2. 检查网络请求
在Network标签中
- 查看是否有失败的API请求
- 检查节点测试API的请求和响应
### 3. 检查Vue组件状态
在Vue DevTools中
- 查看`selectedNode`的值
- 查看`testInputError`的值
- 查看`nodeTestInput`的值
---
## 📞 如果问题仍然存在
如果按照以上步骤操作后,按钮仍然无法点击:
1. **刷新页面**
- 按F5刷新页面
- 重新选择节点和配置测试输入
2. **检查浏览器兼容性**
- 使用Chrome或Edge浏览器
- 确保浏览器版本是最新的
3. **清除浏览器缓存**
- 清除浏览器缓存和Cookie
- 重新登录系统
4. **查看后端日志**
```bash
docker-compose -f docker-compose.dev.yml logs backend | tail -50
```
---
**最后更新**: 2026-01-23
**状态**: 问题排查指南