8
n8n 中文网amn8n.com

用于GitHub的AI代理

高级

这是一个Internal Wiki, AI RAG领域的自动化工作流,包含 19 个节点。主要使用 Set, Github, HttpRequest, ManualTrigger, Agent 等节点。 使用OpenAI创建从GitHub仓库学习的代码助手

前置要求
  • GitHub Personal Access Token
  • 可能需要目标 API 的认证凭证
  • OpenAI API Key
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
  "id": "HJdHRULAa3bhcCMR",
  "meta": {
    "instanceId": "a0e41110bf9f611e96e18e0663d80d746aeedc58368940bfe471a8d577a5069b",
    "templateCredsSetupCompleted": true
  },
  "name": "用于 Github 的 AI Agent",
  "tags": [],
  "nodes": [
    {
      "id": "21ce2f08-255b-49e7-8a28-c7755593e574",
      "name": "默认数据加载器",
      "type": "@n8n/n8n-nodes-langchain.documentDefaultDataLoader",
      "position": [
        1152,
        208
      ],
      "parameters": {
        "options": {},
        "dataType": "binary"
      },
      "typeVersion": 1
    },
    {
      "id": "af656ce7-169b-4c91-a770-8c488f68911a",
      "name": "递归字符文本分割器",
      "type": "@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter",
      "position": [
        1232,
        416
      ],
      "parameters": {
        "options": {},
        "chunkOverlap": 100
      },
      "typeVersion": 1
    },
    {
      "id": "6493e13d-3e1e-42c0-abef-290a2a236868",
      "name": "AI 代理",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        400,
        736
      ],
      "parameters": {
        "options": {
          "systemMessage": "You are a helpful technical assistant designed to answer developer questions based on the project’s source code and technical documentation. \n\nWhen a developer asks a question, use the tool `project_source_tool` to retrieve relevant information from the available codebase and documentation."
        }
      },
      "typeVersion": 1.7
    },
    {
      "id": "2f05cc89-7dcf-40bc-a5c2-fd2c5c7cc57c",
      "name": "向量存储工具",
      "type": "@n8n/n8n-nodes-langchain.toolVectorStore",
      "position": [
        608,
        960
      ],
      "parameters": {
        "name": "project_source_tool",
        "topK": "=5",
        "description": "从任何源代码检索信息"
      },
      "typeVersion": 1
    },
    {
      "id": "0edbd03e-e2fa-41b2-9fdb-c935dd44148d",
      "name": "窗口缓冲内存",
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "position": [
        480,
        960
      ],
      "parameters": {},
      "typeVersion": 1.3
    },
    {
      "id": "38b9511b-c5bf-47be-abe1-3d6b156e2b50",
      "name": "当收到聊天消息时",
      "type": "@n8n/n8n-nodes-langchain.chatTrigger",
      "position": [
        128,
        736
      ],
      "webhookId": "5f1c0c82-0ff9-40c7-9e2e-b1a96ffe24cd",
      "parameters": {
        "options": {}
      },
      "typeVersion": 1.1
    },
    {
      "id": "eda1081e-97b8-441e-b726-ea6a0dec9141",
      "name": "便签1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -528,
        112
      ],
      "parameters": {
        "width": 340,
        "height": 560,
        "content": "## 设置指南"
      },
      "typeVersion": 1
    },
    {
      "id": "073d715d-1432-40b8-ba62-63b586ff3900",
      "name": "配置",
      "type": "n8n-nodes-base.set",
      "position": [
        352,
        -16
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "03f51f9c-4681-4423-91d2-d32f4c18d6bc",
              "name": "repo_owner",
              "type": "string",
              "value": "cphuong20202009"
            },
            {
              "id": "0c9b521a-b698-4b43-9eb0-bbf744760158",
              "name": "repo_name",
              "type": "string",
              "value": "share-n8n-workflow"
            },
            {
              "id": "91627e70-a71a-4be0-a6f6-b04d5c8469d8",
              "name": "repo_path",
              "type": "string",
              "value": "share-n8n-workflow"
            },
            {
              "id": "983a2c87-9d69-4d64-ab88-ec1b1117c6e6",
              "name": "sub_path",
              "type": "string",
              "value": "workflows"
            }
          ]
        },
        "includeOtherFields": true
      },
      "typeVersion": 3.4
    },
    {
      "id": "24767c37-190a-4039-84c3-23207299eecc",
      "name": "列出文件",
      "type": "n8n-nodes-base.github",
      "position": [
        576,
        -16
      ],
      "webhookId": "1ff4096c-91c9-4500-9fda-2d3ef1586d2f",
      "parameters": {
        "owner": {
          "__rl": true,
          "mode": "name",
          "value": "={{ $json.repo_owner }}"
        },
        "filePath": "={{ $json.sub_path }}",
        "resource": "file",
        "operation": "list",
        "repository": {
          "__rl": true,
          "mode": "name",
          "value": "={{ $json.repo_name }}"
        }
      },
      "credentials": {
        "githubApi": {
          "id": "tk70N65ddQrYqN4t",
          "name": "GitHub account 3"
        }
      },
      "typeVersion": 1.1
    },
    {
      "id": "97c7184a-685b-4940-b3af-6de8bbf9c7dd",
      "name": "获取文件",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        800,
        -16
      ],
      "parameters": {
        "url": "={{ $json.download_url }}",
        "options": {}
      },
      "typeVersion": 4.2
    },
    {
      "id": "c98cb6aa-e460-4c97-ba1d-d9fd9da561d3",
      "name": "OpenAI 嵌入",
      "type": "@n8n/n8n-nodes-langchain.embeddingsOpenAi",
      "position": [
        1024,
        208
      ],
      "parameters": {
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "2TBvwobWbbHlIjKT",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "e6eba4d9-4770-46e7-af58-233763b12bcc",
      "name": "OpenAI 嵌入1",
      "type": "@n8n/n8n-nodes-langchain.embeddingsOpenAi",
      "position": [
        576,
        1376
      ],
      "parameters": {
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "2TBvwobWbbHlIjKT",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "06cc6964-01bc-496f-895f-c3277c3cb10e",
      "name": "OpenAI 聊天模型",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        784,
        1168
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4.1-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "2TBvwobWbbHlIjKT",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "e4d2d5e8-318d-4a63-9777-76225842fd88",
      "name": "OpenAI 聊天模型1",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        352,
        960
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4.1-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "2TBvwobWbbHlIjKT",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "b5c0e689-aaa1-4d69-993e-7bb6b04937db",
      "name": "简单向量存储",
      "type": "@n8n/n8n-nodes-langchain.vectorStoreInMemory",
      "position": [
        496,
        1168
      ],
      "parameters": {
        "memoryKey": {
          "__rl": true,
          "mode": "list",
          "value": "source-code",
          "cachedResultName": "source-code"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "a41eac9f-9556-48dd-abf3-511a2b430c67",
      "name": "简单向量存储1",
      "type": "@n8n/n8n-nodes-langchain.vectorStoreInMemory",
      "position": [
        1056,
        -16
      ],
      "parameters": {
        "mode": "insert",
        "memoryKey": {
          "__rl": true,
          "mode": "list",
          "value": "source-code"
        }
      },
      "typeVersion": 1.3
    },
    {
      "id": "fb9ecc78-60b5-4eb0-912b-654bf3dbc5ca",
      "name": "便签",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        128,
        -128
      ],
      "parameters": {
        "width": 384,
        "height": 80,
        "content": "拉取您的源文件并更新 AI Agent 的知识库(向量存储)"
      },
      "typeVersion": 1
    },
    {
      "id": "ccea3fc1-94e3-4582-bfb5-ef4cc2546a61",
      "name": "便签2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        128,
        640
      ],
      "parameters": {
        "width": 560,
        "height": 80,
        "content": "向 AI Agent 提问——它将使用您的仓库知识进行回应。"
      },
      "typeVersion": 1
    },
    {
      "id": "c14b04e5-7f2c-42c3-ac89-f5a256ee2ead",
      "name": "同步数据",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        128,
        -16
      ],
      "parameters": {},
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "6a88fedb-ad7d-4258-ac59-afb17408e6c4",
  "connections": {
    "Config": {
      "main": [
        [
          {
            "node": "List files",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get File": {
      "main": [
        [
          {
            "node": "Simple Vector Store1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Sync Data": {
      "main": [
        [
          {
            "node": "Config",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "List files": {
      "main": [
        [
          {
            "node": "Get File",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Embeddings OpenAI": {
      "ai_embedding": [
        [
          {
            "node": "Simple Vector Store1",
            "type": "ai_embedding",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "Vector Store Tool",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Vector Store Tool": {
      "ai_tool": [
        [
          {
            "node": "AI Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Embeddings OpenAI1": {
      "ai_embedding": [
        [
          {
            "node": "Simple Vector Store",
            "type": "ai_embedding",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model1": {
      "ai_languageModel": [
        [
          {
            "node": "AI Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Default Data Loader": {
      "ai_document": [
        [
          {
            "node": "Simple Vector Store1",
            "type": "ai_document",
            "index": 0
          }
        ]
      ]
    },
    "Simple Vector Store": {
      "ai_vectorStore": [
        [
          {
            "node": "Vector Store Tool",
            "type": "ai_vectorStore",
            "index": 0
          }
        ]
      ]
    },
    "Window Buffer Memory": {
      "ai_memory": [
        [
          {
            "node": "AI Agent",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "When chat message received": {
      "main": [
        [
          {
            "node": "AI Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Recursive Character Text Splitter": {
      "ai_textSplitter": [
        [
          {
            "node": "Default Data Loader",
            "type": "ai_textSplitter",
            "index": 0
          }
        ]
      ]
    }
  }
}
常见问题

如何使用这个工作流?

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

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

高级 - 内部知识库, AI RAG 检索增强

需要付费吗?

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

工作流信息
难度等级
高级
节点数量19
分类2
节点类型14
难度说明

适合高级用户,包含 16+ 个节点的复杂工作流

作者
Nghia Nguyen

Nghia Nguyen

@nghiaaidev

I am Nguyen Trung Nghia, a Software Engineer passionate about AI Automation. I build intelligent automation systems that help businesses reduce costs, increase productivity, and scale faster with the power of AI technology.

外部链接
在 n8n.io 查看

分享此工作流