testFlow/cfg/tool_node_definations.json
Wyle.Gong-巩文昕 67b0ad2723 init
2025-04-22 16:42:48 +08:00

707 lines
19 KiB
JSON

{
"demand": {
"name": "需求节点",
"category": "demand",
"color": "#1890ff",
"icon": "demand-icon",
"icon_path": "/assets/icons/demand.svg",
"shape": "rect",
"width": 180,
"height": 50,
"ports": [
"top",
"right",
"bottom",
"left"
],
"metaFields": [
{
"name": "description",
"type": "string",
"label": "描述"
},
{
"name": "priority",
"type": "select",
"label": "优先级",
"options": [
"高",
"中",
"低"
]
}
]
},
"start": {
"name": "开始",
"category": "logic",
"color": "#722ed1",
"icon": "play-circle",
"shape": "circle",
"width": 60,
"height": 60,
"ports": [
"right",
"bottom",
"top",
"left"
],
"metaFields": [
{
"name": "description",
"type": "string",
"label": "描述"
}
]
},
"end": {
"name": "结束",
"category": "logic",
"color": "#722ed1",
"icon": "stop-circle",
"shape": "circle",
"width": 60,
"height": 60,
"ports": [
"left",
"top",
"right",
"bottom"
],
"metaFields": [
{
"name": "description",
"type": "string",
"label": "描述"
}
]
},
"condition": {
"name": "条件",
"category": "logic",
"color": "#fa8c16",
"icon": "question-circle",
"shape": "diamond",
"width": 80,
"height": 80,
"ports": [
"top",
"right",
"bottom",
"left"
],
"metaFields": [
{
"name": "condition",
"type": "code",
"label": "条件表达式"
}
]
},
"and": {
"name": "AND",
"category": "logic",
"color": "#722ed1",
"icon": "and-icon",
"shape": "diamond",
"width": 80,
"height": 80,
"ports": [
"top",
"right",
"bottom",
"left"
],
"metaFields": [
{
"name": "operation",
"type": "hidden",
"defaultValue": "AND"
}
]
},
"or": {
"name": "OR",
"category": "logic",
"color": "#eb2f96",
"icon": "or-icon",
"shape": "diamond",
"width": 80,
"height": 80,
"ports": [
"top",
"right",
"bottom",
"left"
],
"metaFields": [
{
"name": "operation",
"type": "hidden",
"defaultValue": "OR"
}
]
},
"httpRequest": {
"name": "HTTP验证",
"category": "request",
"color": "#52c41a",
"icon": "api",
"icon_path": "/assets/icons/httpFlow.svg",
"shape": "rect",
"width": 150,
"height": 50,
"ports": [
"top",
"right",
"bottom",
"left"
],
"metaFields": [
{
"name": "method",
"type": "select",
"label": "请求方法",
"options": [
"GET",
"POST",
"PUT",
"DELETE",
"PATCH"
]
},
{
"name": "path",
"type": "string",
"label": "请求路径"
},
{
"name": "params",
"type": "json",
"label": "查询参数",
"defaultValue": "{}"
},
{
"name": "headers",
"type": "json",
"label": "请求头",
"defaultValue": "{\"Content-Type\": \"application/json\"}"
},
{
"name": "body",
"type": "json",
"label": "请求体",
"defaultValue": "{\"type\": \"json\", \"content\": \"{}\"}"
},
{
"name": "response",
"type": "hidden",
"defaultValue": null
},
{
"name": "endpointId",
"type": "hidden",
"defaultValue": ""
}
]
},
"loadTestHttpRequest": {
"name": "HTTP 负载测试",
"category": "perform",
"color": "#722ed1",
"icon_path": "/assets/icons/load-test.svg",
"shape": "rect",
"width": 180,
"height": 50,
"ports": [
"top",
"right",
"bottom",
"left"
],
"metaFields": [
{
"name": "endpointId",
"type": "hidden",
"defaultValue": ""
},
{
"name": "method",
"type": "select",
"label": "请求方法",
"options": [
"GET",
"POST",
"PUT",
"DELETE",
"PATCH"
],
"defaultValue": "GET"
},
{
"name": "path",
"type": "string",
"label": "请求路径"
},
{
"name": "params",
"type": "json",
"label": "查询参数",
"defaultValue": "{}"
},
{
"name": "headers",
"type": "json",
"label": "请求头",
"defaultValue": "{\"Content-Type\": \"application/json\"}"
},
{
"name": "body",
"type": "json",
"label": "请求体",
"defaultValue": "{\"type\": \"json\", \"content\": \"{}\"}"
},
{
"name": "concurrentUsers",
"type": "number",
"label": "并发用户数",
"defaultValue": 10
},
{
"name": "testDurationSec",
"type": "number",
"label": "测试时长(秒)",
"defaultValue": 30
},
{
"name": "rampUpTimeSec",
"type": "number",
"label": "启动时长(秒)",
"defaultValue": 0,
"optional": true
},
{
"name": "resultsSummary",
"type": "textarea",
"label": "测试结果摘要",
"readonly": true,
"rows": 4
},
{
"name": "detailedResults",
"type": "hidden",
"defaultValue": null
}
]
},
"httpLatencyTest": {
"name": "HTTP 延迟测试",
"category": "perform",
"color": "#b37feb",
"icon_path": "/assets/icons/latency.svg",
"shape": "rect",
"width": 180,
"height": 50,
"ports": [
"top",
"right",
"bottom",
"left"
],
"metaFields": [
{
"name": "endpointId",
"type": "hidden",
"defaultValue": ""
},
{
"name": "method",
"type": "select",
"label": "请求方法",
"options": [
"GET",
"POST",
"PUT",
"DELETE",
"PATCH"
],
"defaultValue": "GET"
},
{
"name": "path",
"type": "string",
"label": "请求路径"
},
{
"name": "params",
"type": "json",
"label": "查询参数",
"defaultValue": "{}"
},
{
"name": "headers",
"type": "json",
"label": "请求头",
"defaultValue": "{\"Content-Type\": \"application/json\"}"
},
{
"name": "body",
"type": "json",
"label": "请求体",
"defaultValue": "{\"type\": \"json\", \"content\": \"{}\"}"
},
{
"name": "iterations",
"type": "number",
"label": "迭代次数",
"defaultValue": 10,
"description": "连续发送请求的次数"
},
{
"name": "delayBetweenMs",
"type": "number",
"label": "迭代间隔(ms)",
"defaultValue": 0,
"optional": true,
"description": "每次请求之间的等待时间"
},
{
"name": "latencyStats",
"type": "textarea",
"label": "延迟统计",
"readonly": true,
"rows": 4,
"description": "例如: Min, Max, Avg, P95, P99, Errors"
},
{
"name": "detailedLatencies",
"type": "hidden",
"defaultValue": null
}
]
},
"securityScanTrigger": {
"name": "安全扫描",
"category": "safety",
"color": "#f5222d",
"icon_path": "/assets/icons/safety.svg",
"shape": "rect",
"width": 180,
"height": 50,
"ports": [
"top",
"right",
"bottom",
"left"
],
"metaFields": [
{
"name": "scanTarget",
"type": "string",
"label": "扫描目标",
"description": "例如 URL, IP, 服务名"
},
{
"name": "scanProfile",
"type": "select",
"label": "扫描配置/策略",
"options": [
"快速扫描",
"全面扫描",
"OWASP Top10"
],
"defaultValue": "快速扫描"
},
{
"name": "apiKeyRef",
"type": "string",
"label": "扫描工具API密钥引用",
"optional": true,
"description": "引用环境变量或配置"
},
{
"name": "waitForResult",
"type": "boolean",
"label": "等待扫描结果",
"defaultValue": false
},
{
"name": "scanId",
"type": "string",
"label": "扫描任务ID",
"readonly": true
},
{
"name": "scanStatus",
"type": "string",
"label": "扫描状态",
"readonly": true
},
{
"name": "scanResultSummary",
"type": "textarea",
"label": "扫描结果摘要",
"readonly": true,
"rows": 3
},
{
"name": "detailedScanResult",
"type": "hidden"
}
]
},
"authCheck": {
"name": "认证授权检查",
"category": "safety",
"color": "#faad14",
"icon_path": "/assets/icons/auth-check.svg",
"shape": "rect",
"width": 170,
"height": 50,
"ports": [
"top",
"right",
"bottom",
"left"
],
"metaFields": [
{
"name": "endpointInfo",
"type": "json",
"label": "目标接口信息",
"defaultValue": "{\"method\":\"GET\", \"path\":\"/api/resource\"}"
},
{
"name": "credentials",
"type": "json",
"label": "使用的凭证",
"defaultValue": "{\"type\":\"token\", \"value\":\"{input.token}\"}",
"description": "支持从输入引用值"
},
{
"name": "expectedStatus",
"type": "select",
"label": "预期HTTP状态",
"options": [
"2xx (成功)",
"401 (未授权)",
"403 (禁止访问)",
"其他"
],
"defaultValue": "2xx (成功)"
},
{
"name": "customExpectedStatus",
"type": "number",
"label": "预期状态码(其他)",
"optional": true
},
{
"name": "checkResult",
"type": "string",
"label": "检查结果",
"readonly": true
},
{
"name": "responseDetails",
"type": "hidden"
}
]
},
"dataMaskingCheck": {
"name": "数据脱敏检查",
"category": "compliance",
"color": "#595959",
"icon_path": "/assets/icons/masking-check.svg",
"shape": "rect",
"width": 160,
"height": 50,
"ports": [
"top",
"right",
"bottom",
"left"
],
"metaFields": [
{
"name": "dataFieldPath",
"type": "string",
"label": "检查字段路径",
"defaultValue": "body.creditCard",
"description": "使用点标记法指定字段"
},
{
"name": "expectedFormat",
"type": "string",
"label": "预期脱敏格式",
"defaultValue": "**** **** **** 1234",
"description": "用*表示脱敏位"
},
{
"name": "checkResult",
"type": "string",
"label": "检查结果",
"readonly": true
},
{
"name": "actualValue",
"type": "hidden"
}
]
},
"failureInjection": {
"name": "故障注入",
"category": "reliability",
"color": "#cf1322",
"icon_path": "/assets/icons/chaos.svg",
"shape": "rect",
"width": 160,
"height": 50,
"ports": [
"top",
"right",
"bottom",
"left"
],
"metaFields": [
{
"name": "targetResource",
"type": "string",
"label": "注入目标资源",
"description": "e.g., service:my-app, pod:app-*, db:orders"
},
{
"name": "failureType",
"type": "select",
"label": "故障类型",
"options": [
"latency",
"error",
"crash",
"network_loss",
"resource_limit"
]
},
{
"name": "magnitude",
"type": "string",
"label": "故障程度",
"description": "e.g., latency: 500ms, error: 503, network_loss: 80%"
},
{
"name": "durationSec",
"type": "number",
"label": "持续时间(秒)",
"defaultValue": 60
},
{
"name": "injectionStatus",
"type": "string",
"label": "注入状态",
"readonly": true
},
{
"name": "details",
"type": "hidden"
}
]
},
"agentBrowserTask": {
"name": "Agent UI任务",
"category": "ui",
"color": "#08979c",
"icon_path": "/assets/icons/agent.svg",
"shape": "rect",
"width": 180,
"height": 60,
"ports": [
"top",
"right",
"bottom",
"left"
],
"metaFields": [
{
"name": "targetUrl",
"type": "string",
"label": "目标页面URL"
},
{
"name": "taskPrompt",
"type": "textarea",
"label": "任务指令 (Prompt)",
"rows": 5,
"description": "给 Agent 的详细操作指令"
},
{
"name": "agentModel",
"type": "string",
"label": "Agent模型/配置",
"optional": true,
"defaultValue": "default_browser_agent"
},
{
"name": "inputDataUsage",
"type": "json",
"label": "输入数据使用方式",
"optional": true,
"defaultValue": "{\"map\": [{\"from\": \"input.username\", \"to\": \"form.user\"}, {\"from\": \"input.password\", \"to\": \"form.pass\"}]}",
"description": "定义如何将输入映射到表单或Prompt"
},
{
"name": "validationCriteria",
"type": "textarea",
"label": "成功/失败标准",
"optional": true,
"description": "如何判断 Agent 执行结果是否符合预期"
},
{
"name": "executionResult",
"type": "string",
"label": "执行结果",
"readonly": true
},
{
"name": "agentLog",
"type": "textarea",
"label": "Agent 执行日志",
"readonly": true,
"rows": 4
},
{
"name": "screenshotUrl",
"type": "string",
"label": "截图链接",
"readonly": true,
"optional": true
},
{
"name": "extractedData",
"type": "hidden"
}
]
},
"delayNode": {
"name": "延迟等待",
"category": "logic",
"color": "#bfbfbf",
"icon_path": "/assets/icons/delay.svg",
"shape": "circle",
"width": 60,
"height": 60,
"ports": [
"top",
"right",
"bottom",
"left"
],
"metaFields": [
{
"name": "delayMs",
"type": "number",
"label": "延迟时间 (ms)",
"defaultValue": 1000
}
]
}
}