基于Thordata Universal API + OpenAI GPT-4.1-mini的非结构化简历解析器
中级
这是一个HR, AI Summarization领域的自动化工作流,包含 15 个节点。主要使用 Set, Function, Markdown, HttpRequest, GoogleSheets 等节点。 基于Thordata Universal API + OpenAI GPT-4.1-mini的非结构化简历解析器
前置要求
- •可能需要目标 API 的认证凭证
- •Google Sheets API 凭证
- •OpenAI API Key
使用的节点 (15)
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
"id": "KZfuTnflUHXV4drQ",
"meta": {
"instanceId": "885b4fb4a6a9c2cb5621429a7b972df0d05bb724c20ac7dac7171b62f1c7ef40",
"templateCredsSetupCompleted": true
},
"name": "使用 Thordata Universal API + Open AI gpt-4.1-mini 的非结构化简历解析器",
"tags": [
{
"id": "Kujft2FOjmOVQAmJ",
"name": "Engineering",
"createdAt": "2025-04-09T01:31:00.558Z",
"updatedAt": "2025-04-09T01:31:00.558Z"
},
{
"id": "ZOwtAMLepQaGW76t",
"name": "Building Blocks",
"createdAt": "2025-04-13T15:23:40.462Z",
"updatedAt": "2025-04-13T15:23:40.462Z"
},
{
"id": "ddPkw7Hg5dZhQu2w",
"name": "AI",
"createdAt": "2025-04-13T05:38:08.053Z",
"updatedAt": "2025-04-13T05:38:08.053Z"
},
{
"id": "rKOa98eAi3IETrLu",
"name": "HR",
"createdAt": "2025-04-13T04:59:30.580Z",
"updatedAt": "2025-04-13T04:59:30.580Z"
}
],
"nodes": [
{
"id": "d11672dd-5801-4196-aecd-91463329f1af",
"name": "点击\"执行工作流\"时",
"type": "n8n-nodes-base.manualTrigger",
"position": [
-896,
-48
],
"parameters": {},
"typeVersion": 1
},
{
"id": "f4a7fc09-6f0c-4470-a9a6-7021605825de",
"name": "设置输入字段",
"type": "n8n-nodes-base.set",
"position": [
-688,
-48
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "175a52cb-6b2e-480b-b74f-1cbc319bea78",
"name": "resume_url",
"type": "string",
"value": "https://registry.jsonresume.org/thomasdavis?theme=elegant"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "058c120c-48f3-4c7f-b486-c49b026ea632",
"name": "执行 Thordata Universal API 请求",
"type": "n8n-nodes-base.httpRequest",
"position": [
-400,
-48
],
"parameters": {
"url": "https://universalapi.thordata.com/request",
"method": "POST",
"options": {},
"sendBody": true,
"contentType": "form-urlencoded",
"sendHeaders": true,
"authentication": "genericCredentialType",
"bodyParameters": {
"parameters": [
{
"name": "url",
"value": "={{ $json.resume_url }}"
},
{
"name": "type",
"value": "html"
},
{
"name": "js_render",
"value": "False"
},
{
"name": "country",
"value": "in"
},
{
"name": "clean_content",
"value": "css,js"
}
]
},
"genericAuthType": "httpBearerAuth",
"headerParameters": {
"parameters": [
{}
]
}
},
"credentials": {
"httpBearerAuth": {
"id": "Sl1MQcpMpwJOFNbB",
"name": "Thordata Universal API Token"
}
},
"typeVersion": 4.2
},
{
"id": "17cc1967-f926-4d5e-b2a2-3b832428cfa3",
"name": "JSON 简历构建器",
"type": "@n8n/n8n-nodes-langchain.informationExtractor",
"position": [
96,
-48
],
"parameters": {
"text": "=Analyze and Parse the provided resume in JSON Resume format.\n\n {{ $json.markdown }}",
"options": {},
"schemaType": "manual",
"inputSchema": "{\n \"type\": \"object\",\n \"properties\": {\n \"id\": { \"type\": \"string\" },\n \"basics\": {\n \"type\": \"object\",\n \"properties\": {\n \"name\": { \"type\": \"string\" },\n \"label\": { \"type\": \"string\" },\n \"image\": { \"type\": \"string\" },\n \"email\": { \"type\": \"string\" },\n \"phone\": { \"type\": \"string\" },\n \"url\": { \"type\": \"string\" },\n \"summary\": { \"type\": \"string\" },\n \"location\": {\n \"type\": \"object\",\n \"properties\": {\n \"city\": { \"type\": \"string\" },\n \"region\": { \"type\": \"string\" },\n \"country\": { \"type\": \"string\" }\n }\n },\n \"profiles\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"network\": { \"type\": \"string\" },\n \"username\": { \"type\": \"string\" },\n \"url\": { \"type\": \"string\" }\n }\n }\n }\n }\n },\n \"work\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"name\": { \"type\": \"string\" },\n \"position\": { \"type\": \"string\" },\n \"startDate\": { \"type\": \"string\" },\n \"endDate\": { \"type\": \"string\" },\n \"summary\": { \"type\": \"string\" },\n \"highlights\": {\n \"type\": \"array\",\n \"items\": { \"type\": \"string\" }\n }\n }\n }\n },\n \"education\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"institution\": { \"type\": \"string\" },\n \"area\": { \"type\": \"string\" },\n \"studyType\": { \"type\": \"string\" },\n \"startDate\": { \"type\": \"string\" },\n \"endDate\": { \"type\": \"string\" },\n \"gpa\": { \"type\": \"string\" }\n }\n }\n },\n \"skills\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"name\": { \"type\": \"string\" },\n \"level\": { \"type\": \"string\" },\n \"keywords\": {\n \"type\": \"array\",\n \"items\": { \"type\": \"string\" }\n }\n }\n }\n },\n \"projects\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"name\": { \"type\": \"string\" },\n \"description\": { \"type\": \"string\" },\n \"url\": { \"type\": \"string\" },\n \"technologies\": {\n \"type\": \"array\",\n \"items\": { \"type\": \"string\" }\n }\n }\n }\n },\n \"certifications\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"name\": { \"type\": \"string\" },\n \"issuer\": { \"type\": \"string\" },\n \"date\": { \"type\": \"string\" },\n \"url\": { \"type\": \"string\" }\n }\n }\n },\n \"languages\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"language\": { \"type\": \"string\" },\n \"fluency\": { \"type\": \"string\" }\n }\n }\n },\n \"interests\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"object\",\n \"properties\": {\n \"name\": { \"type\": \"string\" },\n \"keywords\": {\n \"type\": \"array\",\n \"items\": { \"type\": \"string\" }\n }\n }\n }\n },\n \"meta\": {\n \"type\": \"object\",\n \"properties\": {\n \"lastModified\": { \"type\": \"string\" },\n \"version\": { \"type\": \"string\" }\n }\n }\n }\n}\n"
},
"typeVersion": 1.2
},
{
"id": "3411f8ee-2cd6-40d9-a7e0-bc78ba07803d",
"name": "将 HTML 转换为 Markdown 格式",
"type": "n8n-nodes-base.markdown",
"position": [
-112,
-48
],
"parameters": {
"html": "={{ $json.html }}",
"options": {},
"destinationKey": "markdown"
},
"typeVersion": 1
},
{
"id": "503b332e-72c2-4e6a-8026-32be9ea84aa1",
"name": "用于简历构建器的 OpenAI 聊天模型",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
96,
144
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4.1-mini"
},
"options": {}
},
"credentials": {
"openAiApi": {
"id": "vPKynKbDzJ5ZU4cU",
"name": "OpenAi account"
}
},
"typeVersion": 1.2
},
{
"id": "7bb68b59-496a-4d27-abad-98e2f3e7f9b5",
"name": "便签1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-896,
-272
],
"parameters": {
"color": 7,
"width": 160,
"content": ""
},
"typeVersion": 1
},
{
"id": "44d3a647-e9a6-4df5-9323-6c73e213698f",
"name": "便签",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1072,
240
],
"parameters": {
"color": 7,
"width": 528,
"height": 192,
"content": "## 目的"
},
"typeVersion": 1
},
{
"id": "c5699247-25fb-4cd7-a499-448e39a74666",
"name": "便签2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-528,
240
],
"parameters": {
"color": 7,
"width": 528,
"height": 704,
"content": "## 流程概览"
},
"typeVersion": 1
},
{
"id": "b2c386d3-7273-4d4b-9f54-57a37d7a1be1",
"name": "创建二进制响应",
"type": "n8n-nodes-base.function",
"position": [
512,
-208
],
"parameters": {
"functionCode": "\n\nitems[0].binary = {\n data: {\n data: new Buffer(JSON.stringify(items[0].json, null, 2)).toString('base64')\n }\n};\nreturn items;"
},
"typeVersion": 1
},
{
"id": "ba8a6b86-1f67-4e2b-8e0b-d15c472014dd",
"name": "在表格中追加或更新行",
"type": "n8n-nodes-base.googleSheets",
"position": [
528,
48
],
"parameters": {
"columns": {
"value": {
"json_resume": "={{ $json.output.toJsonString() }}"
},
"schema": [
{
"id": "json_resume",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "json_resume",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"json_resume"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "appendOrUpdate",
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1CCj7PRT93hmTfkrDXSw6vwmz5UGZED4vA5l7LCNIAhk/edit#gid=0",
"cachedResultName": "Sheet1"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1CCj7PRT93hmTfkrDXSw6vwmz5UGZED4vA5l7LCNIAhk",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1CCj7PRT93hmTfkrDXSw6vwmz5UGZED4vA5l7LCNIAhk/edit?usp=drivesdk",
"cachedResultName": "Resume Parser"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "Zjoxh2BUZ6VXGQhA",
"name": "Google Sheets account"
}
},
"typeVersion": 4.7
},
{
"id": "4e8e9db6-6563-4978-a10b-2aeca99986ee",
"name": "便签3",
"type": "n8n-nodes-base.stickyNote",
"position": [
400,
-320
],
"parameters": {
"color": 3,
"width": 480,
"height": 608,
"content": "## 导出数据处理"
},
"typeVersion": 1
},
{
"id": "4e763ad5-b280-4775-8f9c-641045e531b0",
"name": "便签4",
"type": "n8n-nodes-base.stickyNote",
"position": [
48,
-240
],
"parameters": {
"color": 4,
"width": 336,
"height": 528,
"content": "## 结构化简历解析器"
},
"typeVersion": 1
},
{
"id": "711338ef-1a0c-4c8b-b3bd-d0d3df5416fb",
"name": "便签5",
"type": "n8n-nodes-base.stickyNote",
"position": [
-512,
-224
],
"parameters": {
"color": 6,
"width": 336,
"height": 384,
"content": "## Thordata Universal API"
},
"typeVersion": 1
},
{
"id": "f776447a-71e0-453d-82d1-7b5382080847",
"name": "将结构化 JSON 简历写入磁盘",
"type": "n8n-nodes-base.readWriteFile",
"position": [
688,
-208
],
"parameters": {
"options": {},
"fileName": "=C:\\\\{{ $json.output.basics.name }}.json",
"operation": "write"
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "33c136a8-b355-4aea-a191-5672a7f37ca0",
"connections": {
"JSON Resume Builder": {
"main": [
[
{
"node": "Create a Binary Response",
"type": "main",
"index": 0
},
{
"node": "Append or update row in sheet",
"type": "main",
"index": 0
}
]
]
},
"Set the Input Fields": {
"main": [
[
{
"node": "Perform Thordata Universal API Request",
"type": "main",
"index": 0
}
]
]
},
"Create a Binary Response": {
"main": [
[
{
"node": "Write the Structured JSON resume to Disk",
"type": "main",
"index": 0
}
]
]
},
"Convert HTML to Markdown format": {
"main": [
[
{
"node": "JSON Resume Builder",
"type": "main",
"index": 0
}
]
]
},
"OpenAI Chat Model for Resume Builder": {
"ai_languageModel": [
[
{
"node": "JSON Resume Builder",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"When clicking ‘Execute workflow’": {
"main": [
[
{
"node": "Set the Input Fields",
"type": "main",
"index": 0
}
]
]
},
"Perform Thordata Universal API Request": {
"main": [
[
{
"node": "Convert HTML to Markdown format",
"type": "main",
"index": 0
}
]
]
}
}
}常见问题
如何使用这个工作流?
复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。
这个工作流适合什么场景?
中级 - 人力资源, AI 摘要总结
需要付费吗?
本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。
相关工作流推荐
通过Bright Data MCP和OpenAI 4o mini实时提取职位描述与薪资详情
使用Bright Data MCP和OpenAI 4o mini实时提取职位描述与薪资详情
Set
Merge
Function
+9
19 节点Ranjan Dailata
人力资源
使用Bright Data和OpenAI 4o mini的自动化简历职位匹配引擎
Bright Data MCP与OpenAI 4o mini的自动化简历职位匹配引擎
Set
Function
Split Out
+10
22 节点Ranjan Dailata
人力资源
使用 Bright Data 和 OpenAI 的房地产智能追踪器
Bright Data和OpenAI的房地产智能追踪器
Set
Merge
Function
+9
19 节点Ranjan Dailata
人工智能
使用Bright Data和OpenAI的TrustPilot SaaS产品评论追踪器
使用Bright Data和OpenAI的TrustPilot SaaS产品评论追踪器
Set
Code
Merge
+11
22 节点Ranjan Dailata
产品
JotForm PDF结构化发票数据提取(OpenAI GPT-4.1-mini)
使用OpenAI GPT-4.1-mini从JotForm PDF中提取结构化发票数据至表格
Webhook
Function
Http Request
+8
19 节点Ranjan Dailata
发票处理
使用Decodo和GPT-4o-mini进行LinkedIn人才情报与数据挖掘
利用LinkedIn、Decodo和GPT-4o-mini提取并分析人才情报与数据挖掘
Set
Code
Merge
+9
19 节点Ranjan Dailata
人力资源
工作流信息
难度等级
中级
节点数量15
分类2
节点类型10
作者
Ranjan Dailata
@ranjancseA Professional based out of India specialized in handling AI-powered automations. Contact me at ranjancse@gmail.com
外部链接
在 n8n.io 查看 →
分享此工作流