概述
修复简历解析功能:PDF 解析依赖冲突导致直接报错,以及解析流程绕过 resume-parser Agent 裸调 LLM、丢失原始信息的问题。
修复
- 修复 Tika 解析 PDF 依赖冲突:
tika-core 2.9.2声明commons-io 2.15.1但运行时引用ChecksumInputStream(2.16+ 才有)导致NoClassDefFoundError;tika-parser-pdf-module 2.9.2声明pdfbox 2.0.31(canPrintFaithful 自 2.0.27 起)被openhtmltopdf 1.0.10拉低到2.0.24导致NoSuchMethodError。在父 pom 强制commons-io 2.16.1与pdfbox 2.0.31,保留 Tika 2.9.2 最新版不降级。
改进
- 简历解析信息零丢失:
extractTextWithTika同时返回原始文本与文件元数据,Tika 提取的原始文本完整存入parsedContent.rawExtractedText作为不可丢失的底稿;LLM 整理后的 Markdown 存rawText,二者均保留。 - 简历解析改用 resume-parser Agent:
ResumeServiceImpl.parse不再裸调 LLM,改走标准 Agent 框架(AgentService.getByKey→AgentDefinitionFactory.build→AgentFactory.buildAgent→AgentRunner.run),systemPrompt 由prompts/resume-parser.md承载,便于不重新编译即可调整。 - 更新
prompts/resume-parser.md为信息零丢失版:忠实保真、逐条还原、禁止删减/概括。
已知问题
- 简历解析 Agent 返回空文本(Markdown 字符数为 0)的根因仍在定位中,已加入临时
[DIAG]诊断日志辅助排查,将在后续版本修复。
验证
victor-core/victor-infra编译通过victor-core有两个预存测试失败(AgentServiceImplTest.update_SystemAgentForbidden、InterviewSessionServiceImplTest.forceAdvance...),经git stash在改动前干净代码上复现确认与本次改动无关
Full Changelog: v0.3.1...v0.3.3