KI-Agent für GitHub
Dies ist ein Internal Wiki, AI RAG-Bereich Automatisierungsworkflow mit 19 Nodes. Hauptsächlich werden Set, Github, HttpRequest, ManualTrigger, Agent und andere Nodes verwendet. Erstellen Sie einen Code-Assistenten, der aus GitHub-Repositories mit OpenAI lernt
- •GitHub Personal Access Token
- •Möglicherweise sind Ziel-API-Anmeldedaten erforderlich
- •OpenAI API Key
Verwendete Nodes (19)
Kategorie
{
"id": "HJdHRULAa3bhcCMR",
"meta": {
"instanceId": "a0e41110bf9f611e96e18e0663d80d746aeedc58368940bfe471a8d577a5069b",
"templateCredsSetupCompleted": true
},
"name": "AI Agent For Github",
"tags": [],
"nodes": [
{
"id": "21ce2f08-255b-49e7-8a28-c7755593e574",
"name": "Standard-Datenlader",
"type": "@n8n/n8n-nodes-langchain.documentDefaultDataLoader",
"position": [
1152,
208
],
"parameters": {
"options": {},
"dataType": "binary"
},
"typeVersion": 1
},
{
"id": "af656ce7-169b-4c91-a770-8c488f68911a",
"name": "Rekursiver Zeichentext-Splitter",
"type": "@n8n/n8n-nodes-langchain.textSplitterRecursiveCharacterTextSplitter",
"position": [
1232,
416
],
"parameters": {
"options": {},
"chunkOverlap": 100
},
"typeVersion": 1
},
{
"id": "6493e13d-3e1e-42c0-abef-290a2a236868",
"name": "KI-Agent",
"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": "Vektor-Speicher-Werkzeug",
"type": "@n8n/n8n-nodes-langchain.toolVectorStore",
"position": [
608,
960
],
"parameters": {
"name": "project_source_tool",
"topK": "=5",
"description": "Retrieve information from any source code"
},
"typeVersion": 1
},
{
"id": "0edbd03e-e2fa-41b2-9fdb-c935dd44148d",
"name": "Fensterpuffer-Speicher",
"type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
"position": [
480,
960
],
"parameters": {},
"typeVersion": 1.3
},
{
"id": "38b9511b-c5bf-47be-abe1-3d6b156e2b50",
"name": "Bei Empfang einer Chat-Nachricht",
"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": "Haftnotiz1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-528,
112
],
"parameters": {
"width": 340,
"height": 560,
"content": "## Setup Guilde\n\n### 1. Update the `Config` Node\nAdd or edit the following parameters:\n- `repo_owner`\n- `repo_name`\n- `repo_path`\n- `sub_path`\n\n### 2. Add GitHub Account\nConnect your GitHub account to enable repository access.\n\n### 3. Trigger “Sync Data”\nRun the workflow or trigger the node to start syncing data from GitHub to your vectorstore.\n"
},
"typeVersion": 1
},
{
"id": "073d715d-1432-40b8-ba62-63b586ff3900",
"name": "Konfiguration",
"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": "Dateien auflisten",
"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": "Datei abrufen",
"type": "n8n-nodes-base.httpRequest",
"position": [
800,
-16
],
"parameters": {
"url": "={{ $json.download_url }}",
"options": {}
},
"typeVersion": 4.2
},
{
"id": "c98cb6aa-e460-4c97-ba1d-d9fd9da561d3",
"name": "Einbettungen 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": "Einbettungen OpenAI1",
"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 Chat-Modell",
"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 Chat-Modell1",
"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": "Einfacher Vektor-Speicher",
"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": "Einfacher Vektor-Speicher1",
"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": "Haftnotiz",
"type": "n8n-nodes-base.stickyNote",
"position": [
128,
-128
],
"parameters": {
"width": 384,
"height": 80,
"content": "Pull your source files and update the knowledge base (vectorstore) for the AI Agent"
},
"typeVersion": 1
},
{
"id": "ccea3fc1-94e3-4582-bfb5-ef4cc2546a61",
"name": "Haftnotiz2",
"type": "n8n-nodes-base.stickyNote",
"position": [
128,
640
],
"parameters": {
"width": 560,
"height": 80,
"content": "Ask questions to the AI Agent — it will respond using your repository knowledge."
},
"typeVersion": 1
},
{
"id": "c14b04e5-7f2c-42c3-ac89-f5a256ee2ead",
"name": "Daten synchronisieren",
"type": "n8n-nodes-base.manualTrigger",
"position": [
128,
-16
],
"parameters": {},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "6a88fedb-ad7d-4258-ac59-afb17408e6c4",
"connections": {
"073d715d-1432-40b8-ba62-63b586ff3900": {
"main": [
[
{
"node": "24767c37-190a-4039-84c3-23207299eecc",
"type": "main",
"index": 0
}
]
]
},
"97c7184a-685b-4940-b3af-6de8bbf9c7dd": {
"main": [
[
{
"node": "a41eac9f-9556-48dd-abf3-511a2b430c67",
"type": "main",
"index": 0
}
]
]
},
"c14b04e5-7f2c-42c3-ac89-f5a256ee2ead": {
"main": [
[
{
"node": "073d715d-1432-40b8-ba62-63b586ff3900",
"type": "main",
"index": 0
}
]
]
},
"24767c37-190a-4039-84c3-23207299eecc": {
"main": [
[
{
"node": "97c7184a-685b-4940-b3af-6de8bbf9c7dd",
"type": "main",
"index": 0
}
]
]
},
"Embeddings OpenAI": {
"ai_embedding": [
[
{
"node": "a41eac9f-9556-48dd-abf3-511a2b430c67",
"type": "ai_embedding",
"index": 0
}
]
]
},
"06cc6964-01bc-496f-895f-c3277c3cb10e": {
"ai_languageModel": [
[
{
"node": "2f05cc89-7dcf-40bc-a5c2-fd2c5c7cc57c",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"2f05cc89-7dcf-40bc-a5c2-fd2c5c7cc57c": {
"ai_tool": [
[
{
"node": "6493e13d-3e1e-42c0-abef-290a2a236868",
"type": "ai_tool",
"index": 0
}
]
]
},
"Embeddings OpenAI1": {
"ai_embedding": [
[
{
"node": "b5c0e689-aaa1-4d69-993e-7bb6b04937db",
"type": "ai_embedding",
"index": 0
}
]
]
},
"e4d2d5e8-318d-4a63-9777-76225842fd88": {
"ai_languageModel": [
[
{
"node": "6493e13d-3e1e-42c0-abef-290a2a236868",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"21ce2f08-255b-49e7-8a28-c7755593e574": {
"ai_document": [
[
{
"node": "a41eac9f-9556-48dd-abf3-511a2b430c67",
"type": "ai_document",
"index": 0
}
]
]
},
"b5c0e689-aaa1-4d69-993e-7bb6b04937db": {
"ai_vectorStore": [
[
{
"node": "2f05cc89-7dcf-40bc-a5c2-fd2c5c7cc57c",
"type": "ai_vectorStore",
"index": 0
}
]
]
},
"0edbd03e-e2fa-41b2-9fdb-c935dd44148d": {
"ai_memory": [
[
{
"node": "6493e13d-3e1e-42c0-abef-290a2a236868",
"type": "ai_memory",
"index": 0
}
]
]
},
"38b9511b-c5bf-47be-abe1-3d6b156e2b50": {
"main": [
[
{
"node": "6493e13d-3e1e-42c0-abef-290a2a236868",
"type": "main",
"index": 0
}
]
]
},
"af656ce7-169b-4c91-a770-8c488f68911a": {
"ai_textSplitter": [
[
{
"node": "21ce2f08-255b-49e7-8a28-c7755593e574",
"type": "ai_textSplitter",
"index": 0
}
]
]
}
}
}Wie verwende ich diesen Workflow?
Kopieren Sie den obigen JSON-Code, erstellen Sie einen neuen Workflow in Ihrer n8n-Instanz und wählen Sie "Aus JSON importieren". Fügen Sie die Konfiguration ein und passen Sie die Anmeldedaten nach Bedarf an.
Für welche Szenarien ist dieser Workflow geeignet?
Experte - Internes Wiki, KI RAG
Ist es kostenpflichtig?
Dieser Workflow ist völlig kostenlos. Beachten Sie jedoch, dass Drittanbieterdienste (wie OpenAI API), die im Workflow verwendet werden, möglicherweise kostenpflichtig sind.
Verwandte Workflows
Nghia Nguyen
@nghiaaidevI 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.
Diesen Workflow teilen