前言
上一篇文章介绍了Hermes Agent的安装和基础配置。安装完成后,Hermes默认使用内置的记忆系统,但内置记忆有字符限制(约4400字符),随着使用时间增长,记忆会逐渐被填满。
本文将介绍如何给Hermes Agent配置sqlite-vector记忆模型,实现基于向量语义搜索的持久化知识库,让AI真正成为你的”第二大脑”。
为什么需要记忆模型?
Hermes Agent的核心优势之一是跨会话记忆。它能记住:
- 你的偏好和习惯
- 项目的技术栈和约定
- 之前踩过的坑和解决方案
- 常用的命令和工作流
但默认的内置记忆有容量限制。通过配置sqlite-vector记忆模型,可以:
- 突破字符限制:存储更多知识
- 语义搜索:用自然语言查询,不需要精确匹配
- 分类管理:按类别组织知识(面试、安全、项目等)
- 持久化存储:数据保存在本地SQLite数据库中
什么是sqlite-vector?
sqlite-vector是一个SQLite扩展,为SQLite数据库添加了向量存储和搜索能力。结合embedding模型,可以实现:
- 将文本转换为向量(embedding)
- 在向量空间中进行语义相似度搜索
- 本地存储,无需外部数据库服务
Hermes Agent通过sqlite-vector插件,将这个能力集成到了记忆系统中。
安装步骤
1. 安装sqlite-vector扩展
# 安装sqlite-memory(包含sqlite-vector扩展)
pip install sqlite-memory
# 验证安装
python3 -c "import sqlite_memory; print('OK')"
2. 创建记忆数据库目录
mkdir -p /opt/sqlite-memory
3. 配置Hermes Agent
编辑Hermes配置文件:
hermes config edit
在config.yaml中添加或修改以下配置:
# 记忆模型配置
memory:
provider: sqlite-vector
sqlite-vector:
db_path: /opt/sqlite-memory/memory.db
api_key: "你的vectors.space API Key"
4. 获取embedding API Key
sqlite-vector需要一个embedding模型将文本转换为向量。推荐使用vectors.space提供的云端API:
- 访问 https://vectors.space 注册账号
- 获取API Key
- 填入配置文件中
5. 重启Hermes
配置完成后需要重启Hermes才能生效:
# 如果是CLI模式,退出重新进入
/quit
hermes
# 如果是Gateway模式
hermes gateway restart
使用方法
存储知识
hermes chat -q "记住:项目使用pytest测试框架,测试命令是 pytest -n 4"
Hermes会自动将这条信息存储到sqlite-vector数据库中。
搜索知识
hermes chat -q "我们项目的测试框架是什么?"
Hermes会通过语义搜索找到相关记忆并回答。
管理知识库
sqlite-vector插件提供了knowledge_base工具,支持以下操作:
- add:添加知识条目
- search:语义搜索
- list:列出所有条目
- update:更新条目
- delete:删除条目
实际应用场景
场景1:面试准备
将面试题和答案存储到知识库,随时复习:
hermes chat -q "存储这道SQL注入面试题:如何绕过WAF?答案包括:大小写变换、双写绕过、编码绕过、注释符分割等"
场景2:项目知识积累
记录项目中的技术细节和踩坑经验:
hermes chat -q "记住:WordPress博客部署在123.207.45.199,使用宝塔面板,PHP 8.2,数据库是MySQL"
场景3:安全工具使用笔记
记录各种安全工具的使用方法和参数:
hermes chat -q "记住:sqlmap常用参数 --level=3 --risk=2 --batch --threads=10 --random-agent"
注意事项
- API Key安全:vectors.space的API Key要妥善保管,不要泄露
- 存储路径:建议将数据库放在固定路径(如/opt/sqlite-memory/),避免误删
- 备份:定期备份memory.db文件
- embedding质量:语义搜索的效果取决于embedding模型的质量,vectors.space提供的是云端模型,效果较好
总结
通过配置sqlite-vector记忆模型,Hermes Agent从一个”健忘”的AI助手变成了一个拥有持久记忆的”第二大脑”。它能记住你的偏好、项目知识、工作流程,并在需要时通过语义搜索快速找到相关信息。
对于安全从业者来说,这意味着可以将大量的安全知识、漏洞经验、工具使用技巧存储起来,随时调用,大大提升工作效率。
