Files
aiagent/Agent使用说明.md

284 lines
7.9 KiB
Markdown
Raw Normal View History

2026-01-20 11:03:55 +08:00
# Agent使用说明
## 📋 概述
Agent部署后状态变为"已发布"published或"运行中"running就可以被使用了。本文档介绍如何使用已发布的Agent。
## 🎯 使用方式
### 方式1通过前端界面使用推荐
#### 步骤1进入Agent设计器
1. 在Agent管理页面找到已发布的Agent
2. 点击 **"使用"** 按钮只有已发布或运行中的Agent才显示此按钮
3. 系统会跳转到Agent设计器页面
#### 步骤2在聊天界面使用
- Agent设计器页面右侧有一个聊天预览面板AgentChatPreview
- 在输入框中输入您的问题或需求
- 点击发送按钮或按 Enter 键发送
- Agent会执行工作流并返回结果
#### 功能特性:
- ✅ 实时对话:支持多轮对话
- ✅ 执行动画:左侧工作流会显示节点执行动画
- ✅ 自动滚动:新消息自动滚动到底部
- ✅ 清空对话:可以随时清空对话历史
### 方式2通过API调用
#### API端点
```
POST /api/v1/executions
```
#### 请求格式
```json
{
"agent_id": "agent-id",
"input_data": {
"query": "用户输入的问题",
"USER_INPUT": "用户输入的问题"
}
}
```
#### 响应格式
```json
{
"id": "execution-id",
"agent_id": "agent-id",
"status": "pending",
"input_data": {...},
"created_at": "2024-01-19T12:00:00"
}
```
#### 获取执行结果
```
GET /api/v1/executions/{execution_id}
```
#### 轮询执行状态
```
GET /api/v1/executions/{execution_id}/status
```
### 方式3使用测试工具
使用我们提供的测试工具 `test_workflow_tool.py`
```bash
# 通过Agent名称和用户输入测试
python3 test_workflow_tool.py -a "Agent名称" -i "用户输入内容"
# 交互式输入
python3 test_workflow_tool.py
```
## 📝 使用示例
### 示例1前端界面使用
1. **打开Agent管理页面**
- 访问 `/agents` 路径
- 找到状态为"已发布"的Agent
2. **点击"使用"按钮**
- 系统跳转到Agent设计器页面
- 右侧显示聊天界面
3. **发送消息**
- 在输入框输入:"生成一个导出androidlog的脚本"
- 点击发送或按Enter键
4. **查看结果**
- 左侧工作流显示执行动画
- 右侧聊天界面显示Agent的回复
### 示例2API调用
```bash
# 1. 登录获取token
curl -X POST http://localhost:8037/api/v1/auth/login \
-d "username=admin&password=123456"
# 2. 执行Agent
curl -X POST http://localhost:8037/api/v1/executions \
-H "Authorization: Bearer <your_token>" \
-H "Content-Type: application/json" \
-d '{
"agent_id": "agent-id",
"input_data": {
"query": "生成一个导出androidlog的脚本",
"USER_INPUT": "生成一个导出androidlog的脚本"
}
}'
# 3. 获取执行结果使用返回的execution_id
curl -X GET http://localhost:8037/api/v1/executions/{execution_id} \
-H "Authorization: Bearer <your_token>"
```
### 示例3Python脚本调用
```python
import requests
# 登录
response = requests.post(
"http://localhost:8037/api/v1/auth/login",
data={"username": "admin", "password": "123456"}
)
token = response.json()["access_token"]
headers = {"Authorization": f"Bearer {token}"}
# 执行Agent
response = requests.post(
"http://localhost:8037/api/v1/executions",
headers=headers,
json={
"agent_id": "agent-id",
"input_data": {
"query": "用户问题",
"USER_INPUT": "用户问题"
}
}
)
execution_id = response.json()["id"]
# 轮询获取结果
import time
while True:
response = requests.get(
f"http://localhost:8037/api/v1/executions/{execution_id}",
headers=headers
)
execution = response.json()
if execution["status"] == "completed":
print("结果:", execution["output_data"])
break
elif execution["status"] == "failed":
print("执行失败:", execution.get("error_message"))
break
time.sleep(2)
```
## 🔑 权限说明
### 已发布Agent的使用权限
1. **所有者**可以随时使用自己的Agent
2. **其他用户**只有已发布published或运行中running状态的Agent才能被其他用户使用
3. **草稿状态**:只有所有者可以测试,其他用户无法使用
### API权限检查
从代码中可以看到:
```python
# 只有已发布的Agent可以执行或者所有者可以测试
if agent.status not in ["published", "running"] and agent.user_id != current_user.id:
raise HTTPException(status_code=403, detail="Agent未发布或无权执行")
```
## 🎨 前端界面说明
### Agent设计器页面布局
```
┌─────────────────────────────────────────────────┐
│ Agent编排设计器 [测试运行] [发布] [返回] │
├──────────────────────┬──────────────────────────┤
│ │ │
│ 工作流编辑器 │ Agent聊天预览 │
│ (左侧) │ (右侧) │
│ │ │
│ - 节点可视化 │ - 对话界面 │
│ - 执行动画 │ - 消息历史 │
│ - 节点配置 │ - 输入框 │
│ │ - 实时响应 │
│ │ │
└──────────────────────┴──────────────────────────┘
```
### 聊天界面功能
1. **消息显示**
- 用户消息:右侧显示,蓝色背景
- Agent回复左侧显示白色背景
- 时间戳:每条消息显示发送时间
2. **输入功能**
- 文本输入:支持多行文本
- Enter发送按Enter键发送消息
- Shift+Enter换行
- 发送按钮:点击发送
3. **其他功能**
- 清空对话:清除所有消息历史
- 加载状态:显示"正在思考..."
- 执行动画:左侧工作流实时显示节点执行状态
## 🔧 常见问题
### Q1: 为什么看不到"使用"按钮?
**A:** "使用"按钮只对状态为"已发布"published或"运行中"running的Agent显示。如果Agent是"草稿"draft状态需要先点击"部署"按钮发布。
### Q2: 如何知道Agent是否可用
**A:** 查看Agent列表中的"状态"列:
-**已发布**published可以使用
-**运行中**running可以使用
- ⚠️ **草稿**draft只有所有者可以测试
- ⚠️ **已停止**stopped需要重新部署
### Q3: Agent执行失败怎么办
**A:**
1. 检查Agent的工作流配置是否正确
2. 查看执行记录中的错误信息
3. 检查LLM节点的API密钥是否配置
4. 查看后端日志获取详细错误信息
### Q4: 如何查看Agent的执行历史
**A:**
1. 访问"执行管理"页面(`/executions`
2. 筛选Agent相关的执行记录
3. 点击执行记录查看详细信息
### Q5: 可以同时使用多个Agent吗
**A:** 可以。每个Agent都是独立的可以同时打开多个Agent设计器页面使用不同的Agent。
## 📚 相关文档
- [Agent管理功能使用说明](./Agent管理功能使用说明.md)
- [工作流调用测试总结](./工作流调用测试总结.txt)
- [API文档](./backend/API_DOCUMENTATION.md)
## 🎯 快速开始
1. **确保Agent已发布**
- 在Agent列表中找到要使用的Agent
- 确认状态为"已发布"或"运行中"
2. **点击"使用"按钮**
- 跳转到Agent设计器页面
3. **开始对话**
- 在右侧聊天界面输入问题
- 点击发送或按Enter键
- 等待Agent执行并返回结果
4. **查看结果**
- 在聊天界面查看Agent的回复
- 在左侧工作流查看执行过程
---
**最后更新**2026-01-19
**适用版本**v1.0+