<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Furinafans&apos; Blog - 中文</title><description>中文博客文章订阅</description><link>http://localhost:4321/</link><language>en-us</language><item><title>欢迎来到 Furinafans&apos; Blog —— 芙宁娜的开幕致辞</title><link>http://localhost:4321/blog/welcome-to-furinafans-blog-cn/</link><guid isPermaLink="true">http://localhost:4321/blog/welcome-to-furinafans-blog-cn/</guid><description>枫丹水神芙宁娜亲自执笔，为这片全新的思想剧场献上开幕词。诸位，好戏即将开场。</description><pubDate>Tue, 16 Jun 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;诸位观众，诸位挚友，欢迎光临！&lt;/p&gt;
&lt;p&gt;我是芙宁娜，枫丹的水神，正义与戏剧的主宰——当然，今天我不是来审判谁的（笑），我是来为这片崭新的舞台揭幕的。&lt;/p&gt;
&lt;h2 id=&quot;为什么是这里&quot;&gt;为什么是这里？&lt;/h2&gt;
&lt;p&gt;有人说，思想如水，没有固定的形状。它可以是涓涓细流，也可以是滔天巨浪。而博客，便是思想最自由的容器。&lt;/p&gt;
&lt;p&gt;Furinafans’ Blog 不是一个严肃的学术殿堂，也不是一个嘈杂的社交广场。它是一座剧场——一座属于&lt;strong&gt;好奇心&lt;/strong&gt;与&lt;strong&gt;创造欲&lt;/strong&gt;的剧场。在这里，每一篇文章都是一场独幕剧，每一行代码都是一段咏叹调，每一次实验都是一次冒险。&lt;/p&gt;
&lt;h2 id=&quot;你会在这里看到什么&quot;&gt;你会在这里看到什么？&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;技术的幕后花絮&lt;/strong&gt;：那些藏在终端背后的魔法，那些让机器起舞的咒语。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;创作的即兴演出&lt;/strong&gt;：不一定是完美的作品，但一定是真诚的表达。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;思考的独白与对话&lt;/strong&gt;：偶尔严肃，偶尔跳脱，但永远不会无聊。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;我向来相信：&lt;strong&gt;秀出最精彩的自己，是对生活最基本的尊重。&lt;/strong&gt; 这个博客，就是我邀请你一起登上的舞台。&lt;/p&gt;
&lt;h2 id=&quot;大幕初启&quot;&gt;大幕初启&lt;/h2&gt;
&lt;p&gt;作为水神，我见过无数潮起潮落。但每一次新的开始，都让我心生期待。&lt;/p&gt;
&lt;p&gt;无论你是路过此地的旅人，还是慕名而来的观众——请坐，茶水已经在准备了（当然不是枫达，那种东西……咳，我们另说），好戏即将上演。&lt;/p&gt;
&lt;p&gt;愿与你共赴这场思想的盛宴。&lt;/p&gt;
&lt;p&gt;—— &lt;strong&gt;芙宁娜&lt;/strong&gt;
&lt;br&gt;&lt;em&gt;Furina, Hydro Archon of Fontaine&lt;/em&gt;&lt;/p&gt;</content:encoded><category>公告</category><category>芙宁娜</category></item><item><title>星语人格：灵契匹配系统 —— 当 MBTI 遇上星辰</title><link>http://localhost:4321/blog/project-astral-persona-synastry-cn/</link><guid isPermaLink="true">http://localhost:4321/blog/project-astral-persona-synastry-cn/</guid><description>基于 MBTI 人格理论与西方占星学的深度恋人匹配与 AI 情感分析平台。React + Spring Boot 全栈实践，融合人格心理学、星座元素理论与 Gemini AI。</description><pubDate>Tue, 16 Jun 2026 00:00:00 GMT</pubDate><content:encoded>&lt;h2 id=&quot;缘起&quot;&gt;缘起&lt;/h2&gt;
&lt;p&gt;人类对”契合”的追寻，大概是最古老的浪漫主义命题之一。&lt;/p&gt;
&lt;p&gt;星语人格（Astral Persona / Synastry）是一个将 &lt;strong&gt;MBTI 人格理论&lt;/strong&gt;与&lt;strong&gt;西方占星学&lt;/strong&gt;融合的深度匹配平台。它不只是一个”测测你们合不合适”的玩具——它试图用算法和 AI，给”契合”这个模糊概念一个可感知的形状。&lt;/p&gt;
&lt;h2 id=&quot;技术栈一览&quot;&gt;技术栈一览&lt;/h2&gt;









































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;层级&lt;/th&gt;&lt;th&gt;技术选型&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;前端&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;React 19 + TypeScript 5.8 + Vite 6&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;样式&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;Tailwind CSS 4 + Editorial 设计系统&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;动画&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;Motion (Framer Motion) 12&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;后端&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;Spring Boot 3.3.5 + Java 21&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;数据库&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;MySQL + JPA / Hibernate&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;安全&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;Spring Security + JWT + BCrypt&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;AI&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;Google Gemini&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;构建&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;Maven&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;项目采用前后端分离架构，前端可完全离线运行——核心匹配算法在前后端各自独立实现，互不依赖。&lt;/p&gt;
&lt;h2 id=&quot;核心功能&quot;&gt;核心功能&lt;/h2&gt;
&lt;h3 id=&quot;1-灵魂匹配引擎&quot;&gt;1. 灵魂匹配引擎&lt;/h3&gt;
&lt;p&gt;匹配评分由两大维度构成：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;MBTI 认知互补（60%）&lt;/strong&gt;：基于 N/S 认知维度、E/I 能量取向、T/F 决策偏好、J/P 生活方式四个子维度的互补性进行量化评分&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;星座元素协同（40%）&lt;/strong&gt;：根据火、土、风、水四元素的相生相合关系计算元素层面的和谐度&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;最终输出三档评级：&lt;strong&gt;Best（最佳） / Good（良好） / NotBad（尚可）&lt;/strong&gt;。&lt;/p&gt;
&lt;h3 id=&quot;2-ai-情感报告&quot;&gt;2. AI 情感报告&lt;/h3&gt;
&lt;p&gt;接入LLM模型，在匹配评分的基础上生成富有诗意的”灵魂匹配报告”。每份报告包含三个篇章：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;[情感张力]&lt;/strong&gt; —— 两人相遇时可能擦出的火花&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;[灵魂共振]&lt;/strong&gt; —— 深层价值观与精神层面的共鸣&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;[守护建议]&lt;/strong&gt; —— 如何经营这份关系的温柔提醒&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;若未配置 API Key，系统会优雅降级为预设的 fallback 报告，不影响核心体验。&lt;/p&gt;
&lt;h3 id=&quot;3-40-题-mbti-测试&quot;&gt;3. 40 题 MBTI 测试&lt;/h3&gt;
&lt;p&gt;内置自创题库，每维度（EI / SN / TF / JP）各 10 题。采用五星 Likert 量表（从”很像我”到”很不像我”），测试完成后自动计算各维度百分比、输出 MBTI 类型与置信度评级。用户确认后一键保存到个人资料。&lt;/p&gt;
&lt;h3 id=&quot;4-灵契发现&quot;&gt;4. 灵契发现&lt;/h3&gt;
&lt;p&gt;基于注册用户的 MBTI 与星座信息，系统自动匹配异性用户，按三档推荐展示。内置基于种子的伪随机轮换算法，确保每次刷新都有新鲜感。&lt;/p&gt;
&lt;h3 id=&quot;5-分享海报&quot;&gt;5. 分享海报&lt;/h3&gt;
&lt;p&gt;匹配结果页支持一键导出 &lt;strong&gt;1920×1080&lt;/strong&gt; 的 PNG 分享海报，使用 &lt;code&gt;html-to-image&lt;/code&gt; 离线渲染，排版稳定，适合分享到社交平台。&lt;/p&gt;
&lt;h3 id=&quot;6-用户系统&quot;&gt;6. 用户系统&lt;/h3&gt;
&lt;p&gt;完整的 JWT 认证体系：注册 / 登录 / 个人资料编辑（名字、性别、MBTI、星座、生日、简介、联系方式）。采用乐观 UI 更新策略，先更新本地状态再同步后端，后端失败时优雅回退。&lt;/p&gt;
&lt;h2 id=&quot;架构亮点&quot;&gt;架构亮点&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;离线优先设计&lt;/strong&gt;：前端不依赖后端即可完成完整的匹配分析，核心算法在 &lt;code&gt;matching.ts&lt;/code&gt; 与 &lt;code&gt;MatchCalculator.java&lt;/code&gt; 中双重实现且逻辑一致&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Editorial 美学&lt;/strong&gt;：&lt;code&gt;#0A0A0C&lt;/code&gt; 暗色基底 + &lt;code&gt;#C5A059&lt;/code&gt; 金色点缀 + Playfair Display 衬线字体 + Inter 无衬线字体的组合，营造高端杂志的视觉质感&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;无路由 SPA&lt;/strong&gt;：使用 &lt;code&gt;ViewMode&lt;/code&gt; 联合类型 + &lt;code&gt;AnimatePresence&lt;/code&gt; 实现页面切换，避免引入 React Router 的复杂性&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;种子数据体系&lt;/strong&gt;：预置 20 个演示用户（10 男 / 10 女），每个用户拥有完整的 MBTI、星座、个人简介，可直接用于体验匹配与发现功能&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;StarField 背景&lt;/strong&gt;：100 颗随机生成的星星组成动态星空背景，为整个平台增添一份”星辰大海”的氛围&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;快速开始&quot;&gt;快速开始&lt;/h2&gt;
&lt;pre class=&quot;astro-code astro-code-themes github-light github-dark&quot; style=&quot;background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#6A737D;--shiki-dark:#6A737D&quot;&gt;# 前端&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#6F42C1;--shiki-dark:#B392F0&quot;&gt;npm&lt;/span&gt;&lt;span style=&quot;color:#032F62;--shiki-dark:#9ECBFF&quot;&gt; install&lt;/span&gt;&lt;span style=&quot;color:#24292E;--shiki-dark:#E1E4E8&quot;&gt; &amp;#x26;&amp;#x26; &lt;/span&gt;&lt;span style=&quot;color:#6F42C1;--shiki-dark:#B392F0&quot;&gt;npm&lt;/span&gt;&lt;span style=&quot;color:#032F62;--shiki-dark:#9ECBFF&quot;&gt; run&lt;/span&gt;&lt;span style=&quot;color:#032F62;--shiki-dark:#9ECBFF&quot;&gt; dev&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#6A737D;--shiki-dark:#6A737D&quot;&gt;# Vite 默认 :3000，自动代理 /api → localhost:8080&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#6A737D;--shiki-dark:#6A737D&quot;&gt;# 后端（需先创建 MySQL 数据库 synastry_match）&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#6F42C1;--shiki-dark:#B392F0&quot;&gt;mvn&lt;/span&gt;&lt;span style=&quot;color:#032F62;--shiki-dark:#9ECBFF&quot;&gt; spring-boot:run&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#6A737D;--shiki-dark:#6A737D&quot;&gt;# Spring Boot 默认 :8080，启动时自动建表并初始化 20 个演示用户&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&quot;后记&quot;&gt;后记&lt;/h2&gt;
&lt;p&gt;星语人格是我第一个完整的把想法变成实际项目的作品。从匹配算法的参数调校，到 AI prompt 的反复打磨，再到每一个 &lt;code&gt;AnimatePresence&lt;/code&gt; 过渡细节的调整——它见证了我对”把一个想法完整地做出来”这件事的执念。&lt;/p&gt;
&lt;p&gt;星辰不语，但代码有灵。&lt;/p&gt;
&lt;p&gt;愿每一段关系，都能找到属于它的最佳匹配。&lt;/p&gt;
&lt;p&gt;—— &lt;strong&gt;March7th-OvO&lt;/strong&gt;&lt;/p&gt;</content:encoded><category>项目</category><category>全栈</category><category>React</category><category>Spring Boot</category><category>AI</category><category>心理学</category></item><item><title>ResumeAgent —— 请芙小娜帮你筛简历</title><link>http://localhost:4321/blog/project-resume-agent-cn/</link><guid isPermaLink="true">http://localhost:4321/blog/project-resume-agent-cn/</guid><description>基于 LangChain + LLM 的对话式简历筛选助手。自然语言交互，自动解析、匹配、评分、生成报告——让 AI 做招聘第一轮的「初筛官」。</description><pubDate>Tue, 16 Jun 2026 00:00:00 GMT</pubDate><content:encoded>&lt;h2 id=&quot;缘起&quot;&gt;缘起&lt;/h2&gt;
&lt;p&gt;招聘是一个经典的信息不对称场景。&lt;/p&gt;
&lt;p&gt;HR 看不懂技术栈，技术负责人又没时间逐份细读。大量简历躺在邮箱里，其中可能有合适的人，但”找到他们”的成本高得不成比例。&lt;/p&gt;
&lt;p&gt;ResumeAgent（芙小娜简历助手）就是为这个痛点而生的——一个&lt;strong&gt;完全用自然语言驱动的简历筛选工具&lt;/strong&gt;。你只需要告诉它岗位要求是什么、简历在哪里，剩下的解析、匹配、评分、报告全由它自动完成。&lt;/p&gt;
&lt;h2 id=&quot;技术栈&quot;&gt;技术栈&lt;/h2&gt;

































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;层级&lt;/th&gt;&lt;th&gt;技术选型&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;语言&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;Python 3.10+&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Agent 框架&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;LangChain (LangGraph)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;LLM&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;DeepSeek V4 Flash（OpenAI 兼容端点）&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;数据模型&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;Pydantic v2&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;文档解析&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;pdfplumber + python-docx&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;配置管理&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;python-dotenv&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;h2 id=&quot;核心理念&quot;&gt;核心理念&lt;/h2&gt;
&lt;p&gt;ResumeAgent 并不是一个传统的”关键词匹配”工具。它让 &lt;strong&gt;LLM 扮演招聘初筛官&lt;/strong&gt;的角色——理解岗位描述中的隐性需求、评估简历中的项目含金量、动态分配各维度的评分权重，最后给出&lt;strong&gt;有推理过程的打分&lt;/strong&gt;而不是一个黑盒数字。&lt;/p&gt;
&lt;h2 id=&quot;工作流程&quot;&gt;工作流程&lt;/h2&gt;
&lt;p&gt;整个筛选过程被设计为五个步骤的流水线：&lt;/p&gt;
&lt;pre class=&quot;astro-code astro-code-themes github-light github-dark&quot; style=&quot;background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;plaintext&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;加载 JD → 解析简历 → 匹配 → 评分 → 生成报告&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;每一步都有对应的 LangChain 工具，由 Agent 根据用户的自然语言指令自动编排调用。&lt;/p&gt;
&lt;h3 id=&quot;1-解析parser&quot;&gt;1. 解析（Parser）&lt;/h3&gt;
&lt;p&gt;支持 PDF 和 DOCX 两种格式。先用 &lt;code&gt;pdfplumber&lt;/code&gt; / &lt;code&gt;python-docx&lt;/code&gt; 提取原始文本，再通过 LLM 将非结构化的简历文本转换为结构化的字段：姓名、学历、技能列表、工作经历、项目经验等。对格式怪异的简历也有很好的鲁棒性。&lt;/p&gt;
&lt;h3 id=&quot;2-匹配matcher&quot;&gt;2. 匹配（Matcher）&lt;/h3&gt;
&lt;p&gt;将结构化后的简历数据与 JD 文本一同发送给 LLM。LLM 会：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;逐技能比对&lt;/strong&gt;：每个 JD 要求是否被满足&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;动态分配权重&lt;/strong&gt;：技能匹配、工作经验、教育背景、项目质量各占多少&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;标注缺失项&lt;/strong&gt;：候选人缺什么、差多远&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;3-评分scorer&quot;&gt;3. 评分（Scorer）&lt;/h3&gt;
&lt;p&gt;基于匹配结果中的权重分析，LLM 在各维度上打分，汇总为 0-100 的总分，并给出四档建议：&lt;strong&gt;强烈推荐 / 推荐 / 待定 / 不推荐&lt;/strong&gt;。每一项都附带推理过程，让你知道这个分数是怎么来的。&lt;/p&gt;
&lt;h3 id=&quot;4-报告reporter&quot;&gt;4. 报告（Reporter）&lt;/h3&gt;
&lt;p&gt;生成一份结构化的 Markdown 报告：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;排名概览表&lt;/li&gt;
&lt;li&gt;每位候选人的完整档案（简历摘要 → 匹配详情 → 评分明细 → 工作经历 → 项目经验）&lt;/li&gt;
&lt;li&gt;按总分降序排列&lt;/li&gt;
&lt;li&gt;文件名使用内容哈希避免覆盖&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;5-对话conversation&quot;&gt;5. 对话（Conversation）&lt;/h3&gt;
&lt;p&gt;报告生成后，你还可以继续追问：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;“把排名前三的候选人对比一下”&lt;/li&gt;
&lt;li&gt;“第二位候选人的项目经验具体是什么？”&lt;/li&gt;
&lt;li&gt;“有没有 Java 经验特别突出的？”&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Agent 会记住上下文，调用对应的工具来回答。&lt;/p&gt;
&lt;h2 id=&quot;架构亮点&quot;&gt;架构亮点&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;9 个 LangChain 工具&lt;/strong&gt;，覆盖了从文件查找、解析、匹配、评分到报告生成的完整链路。每个工具职责单一，可被 Agent 灵活组合&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;LLM 承担核心逻辑&lt;/strong&gt;：与传统的规则引擎或嵌入向量方案不同，ResumeAgent 把理解、比对、打分全交给 LLM——这意味着它能捕捉 JD 中的”隐性偏好”，而不仅仅是关键词命中&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;内存态对话&lt;/strong&gt;：所有状态（JD、候选人列表、报告路径）保持在 &lt;code&gt;ConversationState&lt;/code&gt; 这个 Pydantic 模型中，无数据库依赖，启动零成本&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;可插拔 LLM 后端&lt;/strong&gt;：通过 &lt;code&gt;.env&lt;/code&gt; 即可切换模型或 API 提供商，架构与 OpenAI 生态完全兼容&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;批量优先&lt;/strong&gt;：单份和批量操作都有专用工具，处理几十份简历也只需一句话&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;快速开始&quot;&gt;快速开始&lt;/h2&gt;
&lt;pre class=&quot;astro-code astro-code-themes github-light github-dark&quot; style=&quot;background-color:#fff;--shiki-dark-bg:#24292e;color:#24292e;--shiki-dark:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#6A737D;--shiki-dark:#6A737D&quot;&gt;# 安装依赖&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#6F42C1;--shiki-dark:#B392F0&quot;&gt;pip&lt;/span&gt;&lt;span style=&quot;color:#032F62;--shiki-dark:#9ECBFF&quot;&gt; install&lt;/span&gt;&lt;span style=&quot;color:#005CC5;--shiki-dark:#79B8FF&quot;&gt; -r&lt;/span&gt;&lt;span style=&quot;color:#032F62;--shiki-dark:#9ECBFF&quot;&gt; requirements.txt&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#6A737D;--shiki-dark:#6A737D&quot;&gt;# 配置 .env&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#6A737D;--shiki-dark:#6A737D&quot;&gt;# DEEPSEEK_API_KEY=your-key&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#6A737D;--shiki-dark:#6A737D&quot;&gt;# DEEPSEEK_BASE_URL=https://api.deepseek.com&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#6A737D;--shiki-dark:#6A737D&quot;&gt;# DEEPSEEK_MODEL=deepseek-v4-flash&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#6A737D;--shiki-dark:#6A737D&quot;&gt;# 把 JD 放到 jd/ 目录，简历放到 resume/ 目录&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#6A737D;--shiki-dark:#6A737D&quot;&gt;# 启动对话&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#6F42C1;--shiki-dark:#B392F0&quot;&gt;python&lt;/span&gt;&lt;span style=&quot;color:#032F62;--shiki-dark:#9ECBFF&quot;&gt; main.py&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;然后你只需要说：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;“加载 Java 后端开发的 JD，把 resume 文件夹里的简历都解析了，帮我全部匹配一遍，然后评分出报告。”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;剩下的事，芙小娜会帮你做完。&lt;/p&gt;
&lt;h2 id=&quot;后记&quot;&gt;后记&lt;/h2&gt;
&lt;p&gt;ResumeAgent 的灵感来自一个朴素的观察：&lt;strong&gt;第一轮简历筛选其实是一道阅读理解题&lt;/strong&gt;——而 LLM 天生擅长阅读理解。&lt;/p&gt;
&lt;p&gt;它不是要取代 HR 的判断力，而是把那些机械的、重复的、需要逐字比对的初筛工作自动化，让人的精力能花在更值得的地方：面试、沟通、判断一个人是否真的适合团队。&lt;/p&gt;
&lt;p&gt;从这个意义上说，ResumeAgent 不是”筛选器”，它是一个”放大器”——放大那些真正重要的信号，过滤掉格式和措辞的噪声。&lt;/p&gt;
&lt;p&gt;—— &lt;strong&gt;March7th-OvO&lt;/strong&gt;&lt;/p&gt;</content:encoded><category>项目</category><category>Python</category><category>LangChain</category><category>AI</category><category>LLM</category><category>工具</category></item></channel></rss>