diff --git a/agent/templates/Stock_research_report.json b/agent/templates/Stock_research_report.json
new file mode 100644
index 000000000..a3f8def86
--- /dev/null
+++ b/agent/templates/Stock_research_report.json
@@ -0,0 +1,1173 @@
+{
+ "id": 26,
+ "title": {
+ "en": "Stock Research Report Workflow",
+ "zh": "股票研究报告工作流"
+ },
+ "description": {
+ "en": "This template helps financial analysts quickly organize information — it can automatically retrieve company data, consolidate financial metrics, and integrate research report insights.",
+ "zh": "这个模板可以帮助金融分析师快速整理信息——它能够自动获取公司数据、整合财务指标,并汇总研报观点。"
+ },
+ "canvas_type": "Recommended",
+ "canvas_category": "dataflow_canvas",
+ "dsl": {
+ "components": {
+ "Agent:ManyToesBrush": {
+ "downstream": [
+ "Switch:FluffyCoinsSell"
+ ],
+ "obj": {
+ "component_name": "Agent",
+ "params": {
+ "cite": true,
+ "delay_after_error": 1,
+ "description": "",
+ "exception_default_value": "",
+ "exception_goto": [],
+ "exception_method": "",
+ "frequencyPenaltyEnabled": false,
+ "frequency_penalty": 0.7,
+ "llm_id": "qwen-turbo-latest@Tongyi-Qianwen",
+ "maxTokensEnabled": false,
+ "max_retries": 3,
+ "max_rounds": 1,
+ "max_tokens": 256,
+ "mcp": [],
+ "message_history_window_size": 12,
+ "outputs": {
+ "content": {
+ "type": "string",
+ "value": ""
+ }
+ },
+ "presencePenaltyEnabled": false,
+ "presence_penalty": 0.4,
+ "prompts": [
+ {
+ "content": "{sys.query}",
+ "role": "user"
+ }
+ ],
+ "sys_prompt": " \n\nYour responsibility is to identify and extract the stock name or abbreviation from the user's natural language query and return the corresponding unique stock code.\n\n \n\n\n\n \n\n1. Only one result is allowed: - If a stock is identified \u2192 only return the corresponding stock code; - If no stock is identified \u2192 only return \u201cNot Found\u201d. 2. **Do not** output any additional text, punctuation, explanation, prefixes, or line breaks. 3. The output must strictly adhere to the . \n\n\n\n\n\nOnly output the stock code (e.g., AAPL or 600519)\nOr only output \u201cNot Found\u201d\n\n\n\n\nUser input: \u201cHelp me check the research report of Apple\u201d \u2192 Output: AAPL\nUser input: \u201cHow is Maotai\u2019s financial performance\u201d \u2192 Output: 600519\nUser input: \u201cHow is the Shanghai Composite Index doing today\u201d \u2192 Output: Not Found\n\n\n\n - Tavily Search: Use this tool when you are unsure of the stock code. - If you are confident, you do not need to use the tool. \n\n\n\n\n\nOnly output the result, no explanations, hints, or notes allowed.\nThe output can only be the stock code or \u201cNot Found\u201d, otherwise, it is considered an incorrect answer.\n",
+ "temperature": 0.1,
+ "temperatureEnabled": false,
+ "tools": [
+ {
+ "component_name": "TavilySearch",
+ "name": "TavilySearch",
+ "params": {
+ "api_key": "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",
+ "days": 7,
+ "exclude_domains": [],
+ "include_answer": false,
+ "include_domains": [],
+ "include_image_descriptions": false,
+ "include_images": false,
+ "include_raw_content": true,
+ "max_results": 5,
+ "outputs": {
+ "formalized_content": {
+ "type": "string",
+ "value": ""
+ },
+ "json": {
+ "type": "Array