7.9 KiB
7.9 KiB
Agent使用说明
📋 概述
Agent部署后,状态变为"已发布"(published)或"运行中"(running),就可以被使用了。本文档介绍如何使用已发布的Agent。
🎯 使用方式
方式1:通过前端界面使用(推荐)
步骤1:进入Agent设计器
- 在Agent管理页面,找到已发布的Agent
- 点击 "使用" 按钮(只有已发布或运行中的Agent才显示此按钮)
- 系统会跳转到Agent设计器页面
步骤2:在聊天界面使用
- Agent设计器页面右侧有一个聊天预览面板(AgentChatPreview)
- 在输入框中输入您的问题或需求
- 点击发送按钮或按 Enter 键发送
- Agent会执行工作流并返回结果
功能特性:
- ✅ 实时对话:支持多轮对话
- ✅ 执行动画:左侧工作流会显示节点执行动画
- ✅ 自动滚动:新消息自动滚动到底部
- ✅ 清空对话:可以随时清空对话历史
方式2:通过API调用
API端点
POST /api/v1/executions
请求格式
{
"agent_id": "agent-id",
"input_data": {
"query": "用户输入的问题",
"USER_INPUT": "用户输入的问题"
}
}
响应格式
{
"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:
# 通过Agent名称和用户输入测试
python3 test_workflow_tool.py -a "Agent名称" -i "用户输入内容"
# 交互式输入
python3 test_workflow_tool.py
📝 使用示例
示例1:前端界面使用
-
打开Agent管理页面
- 访问
/agents路径 - 找到状态为"已发布"的Agent
- 访问
-
点击"使用"按钮
- 系统跳转到Agent设计器页面
- 右侧显示聊天界面
-
发送消息
- 在输入框输入:"生成一个导出androidlog的脚本"
- 点击发送或按Enter键
-
查看结果
- 左侧工作流显示执行动画
- 右侧聊天界面显示Agent的回复
示例2:API调用
# 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>"
示例3: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的使用权限
- 所有者:可以随时使用自己的Agent
- 其他用户:只有已发布(published)或运行中(running)状态的Agent才能被其他用户使用
- 草稿状态:只有所有者可以测试,其他用户无法使用
API权限检查
从代码中可以看到:
# 只有已发布的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聊天预览 │
│ (左侧) │ (右侧) │
│ │ │
│ - 节点可视化 │ - 对话界面 │
│ - 执行动画 │ - 消息历史 │
│ - 节点配置 │ - 输入框 │
│ │ - 实时响应 │
│ │ │
└──────────────────────┴──────────────────────────┘
聊天界面功能
-
消息显示
- 用户消息:右侧显示,蓝色背景
- Agent回复:左侧显示,白色背景
- 时间戳:每条消息显示发送时间
-
输入功能
- 文本输入:支持多行文本
- Enter发送:按Enter键发送消息
- Shift+Enter:换行
- 发送按钮:点击发送
-
其他功能
- 清空对话:清除所有消息历史
- 加载状态:显示"正在思考..."
- 执行动画:左侧工作流实时显示节点执行状态
🔧 常见问题
Q1: 为什么看不到"使用"按钮?
A: "使用"按钮只对状态为"已发布"(published)或"运行中"(running)的Agent显示。如果Agent是"草稿"(draft)状态,需要先点击"部署"按钮发布。
Q2: 如何知道Agent是否可用?
A: 查看Agent列表中的"状态"列:
- ✅ 已发布(published):可以使用
- ✅ 运行中(running):可以使用
- ⚠️ 草稿(draft):只有所有者可以测试
- ⚠️ 已停止(stopped):需要重新部署
Q3: Agent执行失败怎么办?
A:
- 检查Agent的工作流配置是否正确
- 查看执行记录中的错误信息
- 检查LLM节点的API密钥是否配置
- 查看后端日志获取详细错误信息
Q4: 如何查看Agent的执行历史?
A:
- 访问"执行管理"页面(
/executions) - 筛选Agent相关的执行记录
- 点击执行记录查看详细信息
Q5: 可以同时使用多个Agent吗?
A: 可以。每个Agent都是独立的,可以同时打开多个Agent设计器页面使用不同的Agent。
📚 相关文档
🎯 快速开始
-
确保Agent已发布
- 在Agent列表中,找到要使用的Agent
- 确认状态为"已发布"或"运行中"
-
点击"使用"按钮
- 跳转到Agent设计器页面
-
开始对话
- 在右侧聊天界面输入问题
- 点击发送或按Enter键
- 等待Agent执行并返回结果
-
查看结果
- 在聊天界面查看Agent的回复
- 在左侧工作流查看执行过程
最后更新:2026-01-19
适用版本:v1.0+