hermes agent无法检索本地pdf需四步解决:一、启用ocr-and-documents技能;二、确认pdf存于knowledge-base/目录且命名规范;三、执行hermes index --force强制重建索引;四、验证memory.md是否注入元信息并用自然语言测试检索。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您已将PDF文档存入本地知识库目录,但Hermes Agent无法识别或检索其中内容,则可能是由于文档未被正确解析或索引层未生效。以下是解决此问题的步骤:
一、启用并配置ocr-and-documents技能
该技能负责从PDF等非文本格式中提取可检索的纯文本内容,是读取本地PDF文档的前提条件。Hermes Agent默认不自动加载此技能,需手动启用。
1、运行命令 hermes skills list 查看当前已加载技能列表,确认 ocr-and-documents 是否在其中。
2、若未启用,执行 hermes skills install ocr-and-documents 安装该技能。
3、执行 hermes skills load ocr-and-documents 加载技能至当前会话。
二、检查PDF文件存放路径与命名规范
Hermes Agent的检索层仅扫描预设知识库目录下的文件,且对文件扩展名与路径层级敏感。路径错误或命名含特殊字符会导致跳过解析。
1、确认PDF文件位于 knowledge-base/ 目录或其子目录(如 knowledge-base/02_技术/)内,而非任意其他位置。
2、确保文件名不含中文标点、空格或前导点号,推荐使用英文下划线连接,例如 api_security_guide_v2.pdf。
3、验证文件权限:在Linux/WSL2环境下,运行 ls -l knowledge-base/**/*.pdf 确认文件可被当前用户读取。
三、触发手动索引重建
即使文件已就位,Hermes Agent也不会实时监听文件系统变更。必须显式调用索引命令,使OCR与文本提取流程重新执行。
1、进入知识库根目录:cd ~/knowledge-base。
2、运行索引命令:hermes index --force,该操作将强制遍历所有PDF并调用ocr-and-documents技能处理。
3、观察终端输出,确认出现类似 [INFO] Extracted 1248 tokens from /02_技术/nginx_tuning.pdf 的日志行。
四、验证MEMORY.md中是否注入PDF元信息
成功索引后,Hermes Agent会将PDF标题、关键段落摘要及路径写入MEMORY.md,作为后续自然语言检索的上下文依据。若该文件未更新,则检索层无法关联文档。
1、打开 ~/knowledge-base/MEMORY.md,搜索PDF文件名或其中出现的关键词。
2、若未找到对应条目,检查 ~/.hermes/skills/ocr-and-documents/config.yaml 中的 inject_to_memory 是否设为 true。
3、若配置正确仍无注入,临时添加一行手动记录:- 文件: nginx_tuning.pdf | 摘要: Nginx性能调优参数详解,含worker_connections与keepalive_timeout配置说明。
五、使用自然语言发起检索测试
最终验证环节需绕过文件路径直觉,完全依赖语义理解能力。此时Agent应能根据用户提问,匹配MEMORY.md中注入的PDF摘要并定位原始文件。
1、启动交互会话:hermes chat。
2、输入查询:nginx keepalive_timeout 参数的作用是什么?在哪份文档里提到过?。
3、观察响应中是否包含来自 nginx_tuning.pdf 的原文片段及明确路径提示。










