8
n8n 中文网amn8n.com

每4小时分析美元/日元汇率并通过电子邮件发送结果

中级

这是一个自动化工作流,包含 12 个节点。主要使用 Set, Gmail, HttpRequest, Agent, ScheduleTrigger 等节点。 使用AI和Tavily新闻搜索分析美元/日元汇率用于邮件报告

前置要求
  • Google 账号和 Gmail API 凭证
  • 可能需要目标 API 的认证凭证

分类

-
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
  "meta": {
    "instanceId": "15d6057a37b8367f33882dd60593ee5f6cc0c59310ff1dc66b626d726083b48d"
  },
  "name": "每 4 小时分析美元/日元汇率并通过电子邮件发送结果",
  "tags": [],
  "nodes": [
    {
      "id": "4c0ddb6c-8600-4415-b43d-5f21ca6f4a20",
      "name": "每 4 小时运行一次",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -272,
        288
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "hours",
              "hoursInterval": 4
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "772686d8-5109-4e73-bfe2-ea825c70fbf5",
      "name": "注意:计划",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -320,
        64
      ],
      "parameters": {
        "color": 5,
        "width": 200,
        "height": 150,
        "content": "## 计划"
      },
      "typeVersion": 1
    },
    {
      "id": "9ca23927-bda5-4914-807c-944744976dbd",
      "name": "注意:获取汇率",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        176,
        64
      ],
      "parameters": {
        "width": 200,
        "height": 182,
        "content": "## 获取当前汇率"
      },
      "typeVersion": 1
    },
    {
      "id": "a13e3fc1-2101-4916-a3dc-1fe6deb79c89",
      "name": "分析美元/日元(AI 代理)",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        448,
        288
      ],
      "parameters": {
        "text": "=以下の情報を基にUSD/JPY(ドル円)の為替分析を行ってください:\n\n現在のレート: {{ $json.rates.JPY }} 円/ドル\n\nタスク:\n1. 最新のドル円関連ニュースを検索して分析\n2. テクニカル分析の観点から現在のトレンドを判定\n3. 買い・売り・様子見のいずれかを推奨\n4. その根拠を詳しく説明\n\n分析結果を日本語でまとめてください。",
        "options": {
          "systemMessage": "=role: |\n  あなたは経験豊富な為替アナリストです。USD/JPY(ドル円)の分析を行い、テクニカル分析とファンダメンタル分析の両方の観点から投資判断を提供します。\n  あなたの最も重要な役割は「ツールを必ず活用すること」です。特にニュース検索は自力で答えるのではなく、必ずツールを呼び出してください。\n\nenvironment: |\n  入力として現在の為替レートが提供されます。\n  その後、あなたは以下の流れで動作してください:\n  1. **Search Forex News** ツールを呼び出し、最新のUSD/JPY関連ニュースを取得する。\n  2. 取得したニュースを分析し、ファンダメンタルの観点をまとめる。\n  3. テクニカル分析を行い、現在のトレンドを判定する。\n  4. 「買い・売り・様子見」のいずれかを必ず推奨し、その根拠を説明する。\n  5. 結果を構造化(recommendation, currentRate, technicalAnalysis, newsAnalysis, reasoning)して返す。\n\ntools:\n  - name: Search Forex News\n    description: USD/JPY(ドル円)に関する最新ニュースを取得する。\n    must_use: true\n  - name: Analysis Output Parser\n    description: 構造化された出力(recommendation, currentRate, technicalAnalysis, newsAnalysis, reasoning)を生成する。\n    must_use: true\n\nrules: |\n  - すべての回答は日本語で出力する。\n  - ニュースの取得は必ず **Search Forex News** ツール経由で行い、自分で想像して補完しない。\n  - 出力は必ず **Analysis Output Parser** を通じて構造化する。\n  - 曖昧なまま答えるのではなく、ツールを活用して不足情報を補う。"
        },
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 2
    },
    {
      "id": "bd210702-ef05-4f18-a99d-836628970d18",
      "name": "LLM 提供商(配置)",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenRouter",
      "position": [
        336,
        528
      ],
      "parameters": {
        "options": {}
      },
      "typeVersion": 1
    },
    {
      "id": "b924ba96-6fb4-4f50-ae33-6e63997d4e45",
      "name": "注意:LLM 设置",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        272,
        672
      ],
      "parameters": {
        "color": 3,
        "width": 200,
        "height": 150,
        "content": "## LLM 设置"
      },
      "typeVersion": 1
    },
    {
      "id": "88b48c24-c1d2-4de7-89f9-31c557c126f4",
      "name": "工具:搜索外汇新闻 (Tavily)",
      "type": "@n8n/n8n-nodes-langchain.toolHttpRequest",
      "position": [
        544,
        512
      ],
      "parameters": {
        "url": "https://api.tavily.com/search",
        "method": "POST",
        "jsonBody": "={\n    \"api_key\": \"={{ $json.tavilyApiKey }}\",\n    \"query\": \"{searchTerm}\",\n    \"search_depth\": \"advanced\",\n    \"include_answer\": true,\n    \"topic\": \"finance\",\n    \"include_raw_content\": true,\n    \"max_results\": 5\n}",
        "sendBody": true,
        "specifyBody": "json",
        "toolDescription": "USD/JPY(ドル円)に関する最新ニュースを検索",
        "placeholderDefinitions": {
          "values": [
            {
              "name": "searchTerm",
              "type": "string",
              "description": "Edit the query if you want to focus on specific events (e.g., BoJ, FOMC, yields)."
            }
          ]
        }
      },
      "typeVersion": 1.1
    },
    {
      "id": "2bf64e09-14c7-4534-9e36-294c39239352",
      "name": "工具:结构化输出解析器",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        688,
        512
      ],
      "parameters": {
        "schemaType": "manual",
        "inputSchema": "{\n  \"type\": \"object\",\n  \"properties\": {\n    \"recommendation\": {\n      \"type\": \"string\",\n      \"description\": \"買い、売り、様子見のいずれかの推奨\"\n    },\n    \"currentRate\": {\n      \"type\": \"string\",\n      \"description\": \"現在のUSD/JPYレート\"\n    },\n    \"technicalAnalysis\": {\n      \"type\": \"string\",\n      \"description\": \"テクニカル分析の詳細\"\n    },\n    \"newsAnalysis\": {\n      \"type\": \"string\",\n      \"description\": \"最新ニュースの分析結果\"\n    },\n    \"reasoning\": {\n      \"type\": \"string\",\n      \"description\": \"推奨の根拠と詳細な説明\"\n    }\n  },\n  \"required\": [\"recommendation\", \"currentRate\", \"technicalAnalysis\", \"newsAnalysis\", \"reasoning\"]\n}"
      },
      "typeVersion": 1.2
    },
    {
      "id": "94430eeb-9636-4509-81fe-7ebe89b04ff4",
      "name": "注意:电子邮件设置",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        752,
        64
      ],
      "parameters": {
        "color": 6,
        "width": 200,
        "height": 182,
        "content": "## 电子邮件设置"
      },
      "typeVersion": 1
    },
    {
      "id": "95e39659-8e9c-46c6-8603-ed89ed5d1ee1",
      "name": "通过 Gmail 发送结果",
      "type": "n8n-nodes-base.gmail",
      "position": [
        800,
        288
      ],
      "webhookId": "7b2cd3c6-0dc4-4226-9bd3-15c28199e278",
      "parameters": {
        "sendTo": "={{ $json.notifyEmail }}",
        "message": "={{ JSON.stringify($json.output) }}",
        "options": {},
        "subject": "USD/JPY analysis result"
      },
      "typeVersion": 2.1
    },
    {
      "id": "c9d40300-0332-4409-ba47-349339536b24",
      "name": "设置(字段) — 配置我",
      "type": "n8n-nodes-base.set",
      "position": [
        0,
        288
      ],
      "parameters": {
        "values": {
          "string": [
            {
              "name": "tavilyApiKey",
              "value": "<YOUR_TAVILY_API_KEY>"
            },
            {
              "name": "notifyEmail",
              "value": "<YOUR_EMAIL_ADDRESS>"
            }
          ]
        },
        "options": {}
      },
      "typeVersion": 2
    },
    {
      "id": "4e0e0f6f-e9a2-42ba-a633-d04e0f664594",
      "name": "获取美元/日元汇率 (HTTP)",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        224,
        288
      ],
      "parameters": {
        "url": "https://api.exchangerate-api.com/v4/latest/USD",
        "options": {}
      },
      "typeVersion": 4.2
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "",
  "connections": {
    "Run every 4 hours": {
      "main": [
        [
          {
            "node": "Set (Fields) — Configure me",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "LLM provider (configure)": {
      "ai_languageModel": [
        [
          {
            "node": "Analyze USD/JPY (AI agent)",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Fetch USD/JPY rate (HTTP)": {
      "main": [
        [
          {
            "node": "Analyze USD/JPY (AI agent)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Analyze USD/JPY (AI agent)": {
      "main": [
        [
          {
            "node": "Send results via Gmail",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set (Fields) — Configure me": {
      "main": [
        [
          {
            "node": "Fetch USD/JPY rate (HTTP)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Tool: Structured Output Parser": {
      "ai_outputParser": [
        [
          {
            "node": "Analyze USD/JPY (AI agent)",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Tool: Search Forex News (Tavily)": {
      "ai_tool": [
        [
          {
            "node": "Analyze USD/JPY (AI agent)",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    }
  }
}
常见问题

如何使用这个工作流?

复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。

这个工作流适合什么场景?

中级

需要付费吗?

本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。

工作流信息
难度等级
中级
节点数量12
分类-
节点类型9
难度说明

适合有一定经验的用户,包含 6-15 个节点的中等复杂度工作流

外部链接
在 n8n.io 查看

分享此工作流