{"id":"2047779c-cab7-46fa-942c-10bc85d3d15f","entityType":"agent","slug":"dify-fz666-excel","name":"简历筛选并导出Excel","canonicalUrl":"https://www.xpersona.co/agent/dify-fz666-excel","canonicalPath":"/agent/dify-fz666-excel","generatedAt":"2026-10-09T08:10:10.448Z","source":"DIFY_MARKETPLACE","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-09T01:20:58.573Z","emptyReason":null},"description":"自动分析候选人简历，根据岗位要求筛选合适人选，并将候选人信息、匹配度和评估结果整理导出为 Excel 文件。 我用大白话把每一步讲清楚，你可以对照自己的画布看。 **整条流水线一句话** 把简历 PDF 变成文字 → 让 AI 一份一份读并打分 → 把 AI 的结果整理成数据 → 把数据填进一个已经做好格式的 Excel 模板里。 **第 1 步：开始节点（收材料）** 你上传简历文件，顺便填岗位要求。它只是入口，不做处理。岗位要求不填也行，AI 就按通用标准评估。 **第 2 步：文档提取器（把文件变成文字）** AI 读不了 PDF 里的排版，只能读文字。这一步把每份简历“拆”成一段纯文本，一份简历一段，一起交给下一步。 **第 3 步：迭代节点（一份一份处理）** 它拿到 3 份文字后，会一份一份地走一遍里面的流程，最后把每份的结果汇总成一个数组（第一个人、第二个人、第三个人……）。里面有两个子步骤： - **提取并评分（LLM）**：真正的“干活”环节。AI 拿到“岗位要求 + 这份简历的文字”，按照提示词里的规则，抽出姓名、学","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. Last updated 10/9/2026.","installCommand":null,"sourceUrl":"https://marketplace.dify.ai/api/v1/templates/f012c801-b846-451a-bde5-3c8b65cd0b2e","homepage":null,"primaryLinks":[{"label":"View on Dify","url":"https://marketplace.dify.ai/api/v1/templates/f012c801-b846-451a-bde5-3c8b65cd0b2e","kind":"source"}],"safetyScore":82,"overallRank":88.6,"popularityScore":80,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"自动分析候选人简历，根据岗位要求筛选合适人选，并将候选人信息、匹配度和评估结果整理导出为 Excel 文件。 我用大白话把每一步讲清楚，你可以对照自己的画布看。 **整条流水线一句话** 把简历 PDF 变成文字 → 让 AI 一份一份读并打分 → 把 AI 的结果整理成数据 → 把数据填进一个已经做好格式的 Exce"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-09T01:20:58.573Z","emptyReason":null},"protocols":[],"capabilities":[{"label":"workflow","status":"self-declared"},{"label":"support","status":"self-declared"},{"label":"operations","status":"self-declared"},{"label":"deepseek","status":"self-declared"},{"label":"generic_excel_template_filler","status":"self-declared"}],"verifiedCount":0,"selfDeclaredCount":5,"capabilityMatrix":{"rows":[{"key":"workflow","type":"capability","support":"supported","confidenceSource":"profile","notes":"Declared in agent profile metadata"},{"key":"support","type":"capability","support":"supported","confidenceSource":"profile","notes":"Declared in agent profile metadata"},{"key":"operations","type":"capability","support":"supported","confidenceSource":"profile","notes":"Declared in agent profile metadata"},{"key":"deepseek","type":"capability","support":"supported","confidenceSource":"profile","notes":"Declared in agent profile metadata"},{"key":"generic_excel_template_filler","type":"capability","support":"supported","confidenceSource":"profile","notes":"Declared in agent profile metadata"}],"flattenedTokens":"capability:workflow|supported|profile capability:support|supported|profile capability:operations|supported|profile capability:deepseek|supported|profile capability:generic_excel_template_filler|supported|profile"}},"adoption":{"evidence":{"source":"no-adoption-signals","verified":false,"confidence":"low","updatedAt":"2026-10-09T01:20:58.573Z","emptyReason":"No source adoption metrics were available."},"stars":null,"forks":null,"downloads":null,"packageName":null,"latestVersion":null,"tractionLabel":null},"release":{"evidence":{"source":"agent-index","verified":false,"confidence":"medium","updatedAt":"2026-10-09T01:20:58.568Z","emptyReason":null},"lastUpdatedAt":"2026-10-09T01:20:58.573Z","lastCrawledAt":"2026-10-09T01:20:58.568Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-11T01:20:58.568Z","lastVerifiedAt":null,"highlights":[]},"execution":{"evidence":{"source":"Dify","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":null,"setupComplexity":"low","setupSteps":["Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/dify-fz666-excel/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/dify-fz666-excel/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/dify-fz666-excel/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/dify-fz666-excel/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/dify-fz666-excel/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/dify-fz666-excel/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":[]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"DIFY_MARKETPLACE","generatedAt":"2026-10-09T08:10:10.448Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/dify-fz666-excel/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/dify-fz666-excel/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/dify-fz666-excel/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/dify-fz666-excel/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"Dify","verified":false,"confidence":"high","updatedAt":"2026-10-09T01:20:58.573Z","emptyReason":null},"readme":"我用大白话把每一步讲清楚，你可以对照自己的画布看。\r\n\r\n**整条流水线一句话**\r\n把简历 PDF 变成文字 → 让 AI 一份一份读并打分 → 把 AI 的结果整理成数据 → 把数据填进一个已经做好格式的 Excel 模板里。\r\n\r\n**第 1 步：开始节点（收材料）**\r\n你上传简历文件，顺便填岗位要求。它只是入口，不做处理。岗位要求不填也行，AI 就按通用标准评估。\r\n\r\n**第 2 步：文档提取器（把文件变成文字）**\r\nAI 读不了 PDF 里的排版，只能读文字。这一步把每份简历“拆”成一段纯文本，一份简历一段，一起交给下一步。\r\n\r\n**第 3 步：迭代节点（一份一份处理）**\r\n它拿到 3 份文字后，会一份一份地走一遍里面的流程，最后把每份的结果汇总成一个数组（第一个人、第二个人、第三个人……）。里面有两个子步骤：\r\n\r\n- **提取并评分（LLM）**：真正的“干活”环节。AI 拿到“岗位要求 + 这份简历的文字”，按照提示词里的规则，抽出姓名、学历、工作经历、项目经历、职称，再打一个匹配分，最后输出一段 JSON 文字。\r\n- **解析 JSON（代码节点）**：AI 输出的是一段文字，里面可能还有 `<think>` 思考内容。这一步把这段文字“洗”干净：去掉思考、取最后那个完整的 JSON，缺的字段补成空字符串，最后输出一个规整的对象（`record`）。\r\n\r\n**第 4 步：生成模板填充数据（把数据翻译成“填哪个格子”）**\r\n人的数据是“姓名：赵程伟、学历：大专……”这样的对象，但 Excel 只知道“B5 填 1、C5 填赵程伟、D5 填男……”。这一步就是把每个候选人的数据翻译成这样的填格指令，同时把工作经历、项目经历按时间倒序排好，空的地方也写上空串，防止模板里残留旧内容。\r\n\r\n**第 5 步：填充 Excel 模板（照着指令填表）**\r\n拿着第 4 步生成的指令，往“已经带好表头、合并单元格、列宽的模板”里填数据。它只改内容，不动格式，所以出来的文件和 `resume-read.xlsx` 长得一样。\r\n\r\n**第 6 步：结束节点（交出结果）**\r\n把填好的 Excel 文件作为 `excel_file` 交给前端，你就能下载。`markdown_table` 和 `row_count` 只是额外的预览和人数统计，不影响 Excel。\r\n\r\n**两个代码节点再简单概括**\r\n- 解析 JSON = “把 AI 的作文整理成表格数据”\r\n- 生成模板填充数据 = “把表格数据翻译成填格指令”\r\n\r\n整条链路的逻辑就是：**收材料 → 转文字 → AI 读和打分 → 整理数据 → 翻译成填格指令 → 填模板 → 交文件**。","readmeExcerpt":"我用大白话把每一步讲清楚，你可以对照自己的画布看。 **整条流水线一句话** 把简历 PDF 变成文字 → 让 AI 一份一份读并打分 → 把 AI 的结果整理成数据 → 把数据填进一个已经做好格式的 Excel 模板里。 **第 1 步：开始节点（收材料）** 你上传简历文件，顺便填岗位要求。它只是入口，不做处理。岗位要求不填也行，AI 就按通用标准评估。 **第 2 步：文档提取器（把文件变成文字）** AI 读不了 PDF 里的排版，只能读文字。这一步把每份简历“拆”成一段纯文本，一份简历一段，一起交给下一步。 **第 3 步：迭代节点（一份一份处理）** 它拿到 3 份文字后，会一份一份地走一遍里面的流程，最后把每份的结果汇总成一个数组（第一个人、第二个人、第三个人……）。里面有两个子步骤： - **提取并评分（LLM）**：真正的“干活”环节。AI 拿到“岗位要求 + 这份简历的文字”，按照提示词里的规则，抽出姓名、学","codeSnippets":[],"executableExamples":[],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[],"languages":["zh-Hans"],"docsSourceLabel":"Dify","editorialOverview":"自动分析候选人简历，根据岗位要求筛选合适人选，并将候选人信息、匹配度和评估结果整理导出为 Excel 文件。 我用大白话把每一步讲清楚，你可以对照自己的画布看。 **整条流水线一句话** 把简历 PDF 变成文字 → 让 AI 一份一份读并打分 → 把 AI 的结果整理成数据 → 把数据填进一个已经做好格式的 Excel 模板里。 **第 1 步：开始节点（收材料）** 你上传简历文件，顺便填岗位要求。它只是入口，不做处理。岗位要求不填也行，AI 就按通用标准评估。 **第 2 步：文档提取器（把文件变成文字）** AI 读不了 PDF 里的排版，只能读文字。这一步把每份简历“拆”成一段纯文本，一份简历一段，一起交给下一步。 **第 3 步：迭代节点（一份一份处理）** 它拿到 3 份文字后，会一份一份地走一遍里面的流程，最后把每份的结果汇总成一个数组（第一个人、第二个人、第三个人……）。里面有两个子步骤： - **提取并评分（LLM）**：真正的“干活”环节。AI 拿到“岗位要求 + 这份简历的文字”，按照提示词里的规则，抽出姓名、学","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":310,"uniquenessScore":67,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-09T01:20:58.573Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-09T01:20:58.573Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"agent-directory","verified":false,"confidence":"low","updatedAt":"2026-10-09T08:10:10.448Z","emptyReason":"No close protocol neighbors were found."},"items":[],"links":{"hub":"/agent","source":"/agent/source/dify_marketplace","protocols":[]}}}