{ "schema_version": "workflow/v1", "workflow_key": "ai-web-research", "name": "AI 多轮网页搜索研究", "description": "AI 制定搜索计划,使用视觉浏览器多轮研究,并按调用方提供的 JSON Schema 返回结果。", "variables": { "objective": { "type": "string", "default": "", "description": "要搜索和研究的目标" }, "output_schema": { "type": "object", "default": { "type": "object", "required": ["summary", "facts"], "properties": { "summary": {"type": "string"}, "facts": {"type": "array", "items": {"type": "string"} } }, "additionalProperties": false }, "description": "最终 data 字段必须满足的 JSON Schema" }, "constraints": { "type": "object", "default": {"language": "zh-CN", "min_sources": 1}, "description": "来源、语言、时间范围等研究约束" }, "max_attempts": { "type": "number", "default": 3, "description": "AI 评估未达标时最多执行的搜索轮数" } }, "settings": { "max_steps": 10, "default_timeout_ms": 1800000, "on_unhandled_error": "pause_for_user", "return": {"node_id": "research"} }, "nodes": [ { "id": "start", "type": "flow.start", "title": "开始", "position": {"x": 80, "y": 180}, "params": {}, "inputs": {} }, { "id": "research", "type": "research.ai_web_research", "title": "AI 规划并循环研究", "position": {"x": 360, "y": 180}, "params": { "search_engine": "bing", "browser": "edge", "max_search_pages": 2, "result_count": 2, "detail_max_pages": 2, "click_attempts": 2, "maximize_browser": true, "page_load_wait_seconds": 8, "action_wait_seconds": 1, "wait_jitter_min_seconds": 0, "wait_jitter_max_seconds": 0 }, "inputs": { "objective": {"source": "variable", "name": "objective"}, "output_schema": {"source": "variable", "name": "output_schema"}, "constraints": {"source": "variable", "name": "constraints"}, "max_attempts": {"source": "variable", "name": "max_attempts"} } }, { "id": "end", "type": "flow.end", "title": "结束", "position": {"x": 680, "y": 180}, "params": {}, "inputs": {} } ], "edges": [ { "id": "start_to_research", "kind": "control", "source": "start", "source_port": "next", "target": "research", "target_port": "run" }, { "id": "research_to_end", "kind": "control", "source": "research", "source_port": "success", "target": "end", "target_port": "run" }, { "id": "partial_to_end", "kind": "control", "source": "research", "source_port": "partial", "target": "end", "target_port": "run" } ] }