OpenViking × Hermes Agent 记忆集成指南:内置 MemoryProvider 的零插件接入与配置验证 OpenViking × Hermes Agent 记忆集成指南内置 MemoryProvider 的零插件接入与配置验证【免费下载链接】OpenVikingSelf-evolving Context Database for AI Agents. Unify Agent Memory, Knowledge RAG and Skills.项目地址: https://gitcode.com/GitHub_Trending/op/OpenVikingOpenViking 为 Hermes AgentNous Research提供了内置的记忆提供方MemoryProvider无需安装任何插件即可完成记忆存储、召回与抽取。本文基于仓库文档 docs/zh/agent-integrations/05-hermes.md 展开结合 集成能力参考 中的 Hermes 档案卡与仓库基准评测代码系统讲解环境隔离、配置向导、验证命令、配置体系与底层行为读完即可把 Hermes 指向自托管或云端的 OpenViking 服务并理解其会话、召回与提交的完整机制。集成形态随 Hermes 发布的原生记忆提供方与 Claude Code、Codex 等需要安装插件或 hook 的 harness 不同Hermes 对 OpenViking 的接入是随 Hermes 发行版内置的Hermes 通过httpx直连 OpenViking 服务记忆存储、召回和抽取均原生支持。从 集成能力参考 的 Hermes 档案卡可以看到这一集成形态的定位是同进程原生型——它属于 Hermes bundled MemoryProvider以 Python 单文件实现约 3700 行随 Hermes 一同发布运行时不需要额外安装 OpenViking 插件或代理进程。在这种形态下Hermes 拥有6 个viking_*主动工具provider 激活即全开覆盖搜 memory / 搜 resource / 搜 skill、写 memoryviking_remember直写文件不走抽取、多协议资源摄取viking_add_resource支持 HTTP / Git / SSH / 本地文件 / 目录 zip删除仅限 memory 类型并带.md叶子校验10 生命周期 hookprefetch每轮召回、sync_turn逐轮捕获、on_session_end、on_session_switch、on_memory_write等自动完成每轮召回 逐轮写入 会话边界提交的全链路。这是 Agent 集成概览 中该用哪个集成表格里推荐的接入方式如果你正在使用 Hermes Agent直接选用内置的 OpenViking 记忆提供方即可无需安装任何插件。环境隔离不要污染 Hermes 的 Python 环境由于 Hermes 通过 HTTP 连接 OpenViking无需把 OpenViking 安装到 Hermes 的 Python 环境中。官方建议如下在独立的虚拟环境或容器中运行 OpenViking 服务不要在已有 Hermes 的环境中使用--force-reinstall安装或升级 OpenViking——Hermes 版本可能固定与 OpenViking 已支持、已修复安全问题的版本不同的依赖强制重装可能引入不兼容或存在已知漏洞的依赖如果确实需要把两个应用放在同一环境中必须在同一次依赖求解中安装它们并在启动任一服务前运行python -m pip check校验依赖一致性。这一建议与 OpenViking 的服务端部署方式相互印证OpenViking 本身就是一个独立的 HTTP 服务器支持多客户端通过网络连接默认监听http://localhost:1933Hermes 只需要知道服务地址与凭据即可详见 服务端部署。配置一行命令启动向导在确保 OpenViking 服务已运行的前提下执行hermes memory setup openviking这是一个 curses 多层菜单交互向导向导中按部署方式二选一云VolcEngine Cloud保持OpenViking Service (VolcEngine Cloud)选项粘贴 API Key自托管填写 URL默认http://127.0.0.1:1933和 API Key本地免鉴权部署时 API Key 可留空。向导若发现本机已有~/.openviking/ovcli.conf会直接复用其中的连接配置无需重复填写。此外也可以手动配置config set memory.provider openviking 在.env中写入连接变量。连接与凭据体系从 集成能力参考 的凭据体系对照表可以看到Hermes 家族使用自己独立的一套环境变量家族 C与其他 harness 不同项Hermes 使用的变量说明服务地址OPENVIKING_ENDPOINT注意不是_URL后缀与家族 A 不同API KeyOPENVIKING_API_KEY有 key 时默认不发租户头身份OPENVIKING_ACCOUNT/OPENVIKING_USER/OPENVIKING_AGENT其中OPENVIKING_AGENT即 actor peer默认值为hermes认证时 Hermes同时发送X-API-Key与Bearer两个头当服务端以 trusted 模式报错拒绝时会自动补发租户头重试一次。peer 身份默认就是hermes由OPENVIKING_AGENT控制记忆写入用户级空间。配置分层与use_ovcli_config联动Hermes 的配置来源是.envOPENVIKING_*与config.yaml。特别地它支持use_ovcli_config模式启用该模式后系统会清空.env里的 5 个对应变量改为从~/.openviking/ovcli.conf读取连接信息——这就是向导发现已有ovcli.conf直接复用的底层机制。仓库中 ov CLI 客户端使用的ovcli.conf结构可参考 部署指南 中的连接客户端示例{ url: http://localhost:1933, api_key: your-key }召回行为旋钮Hermes 支持 8 个OPENVIKING_RECALL_*环境变量来调节自动召回行为完整清单以 Hermes 文档为准默认召回参数为6 条结果 / 相似度阈值 0.15 / 字符预算 4000 / 总超时 4s单请求 3s。其中字符预算 4000 采用装不下整条就跳过而非截断的策略OPENVIKING_RECALL_*系变量仅对 Hermes 生效与 Claude Code / Codex 使用的同名变量是相互独立的两套配置。验证确认记忆链路连通配置完成后运行hermes memory status该命令会输出记忆提供方的连接状态并且是 Hermes 独有的诊断能力之一——它包含 env 覆盖列表可以直观看到哪些OPENVIKING_*环境变量当前生效、是否被use_ovcli_config联动清空。此外hermes backup也会把ovcli.conf一并纳入备份。如果 status 显示异常优先检查三件事OpenViking 服务是否在OPENVIKING_ENDPOINT指定地址上运行可用curl http://localhost:1933/health验证存活OPENVIKING_API_KEY是否与服务端鉴权配置一致参考 鉴权指南OPENVIKING_AGENT是否为空默认hermes。能力纵深Hermes 集成的五个实现亮点结合 集成能力参考 中 Hermes 档案卡与全集成对照矩阵该集成的实现深度体现在五个方面最全面的资源摄取面viking_add_resource支持 HTTP、Git、SSH、file://、本地文件临时上传以及本地目录 zip 打包上传跳过 symlink 与越界文件——这是所有 harness 中覆盖协议最全的资源摄取入口。viking_remember直写记忆文件写 memory 不依赖会话 commit 与抽取管线直接把记忆写入viking://~/peers/{agent}/memories/{subdir}/mem_uuid12.md格式的文件写入即时生效。本地服务端自启当 endpoint 指向本地且当前不可达时Hermes 会通过subprocess.Popen openviking-server自动拉起本地服务本地自启 waiter实现开箱即用的本地体验。退出时保证 commit无论正常退出还是收到 CtrlC、SIGTERM、SIGHUP 信号Hermes 都能保证完成提交——SIGTERM 有 1.5s grace 期先干净退出再走 atexit另有 30s 退出看门狗终止慢 commitkill -9场景除外atexit 不执行。进程内离线队列写入失败进入 daemon 线程队列不落盘drain 有 10s/65s 预算避免阻塞 Hermes 主流程。会话与提交语义session id 格式由 Hermes 生成%Y%m%d_%H%M%S_hex6集成原样使用提交触发面全是会话边界on_session_enddrain 10sdrain 不净则本次不 commit避免提交半截数据、on_session_switch涉及/new、/resume、/branch或压缩 fork异步 drain 预算 65s、gateway 缓存驱逐/undo与原地压缩不触发 commit用幂等集合防止二次 commitcommit 恒keep_recent_count0全量归档离线补偿kill -9后未提交的消息保留在服务端 live 区后续同一会话再次触发 commit 时一并归档。召回路径Hermes 的自动召回在每轮 API 调用前同步执行prefetch以原始用户输入为 query双层剥离 skill 脚手架5 字符跳过召回结果以memory-contextfenced 块追加到当轮 user 消息——只进 API 请求体不写回持久化。服务端路径上仅search/search首选路径携带 session_id 并落入modedeep路径auto/fast模式走/find且不带 session_id因此拿不到 query expansion 与跨轮去重台账。由于没有 profile 注入与 statuslineHermes 在注入回流防护上做得更彻底直接把三个召回类工具的 tool_call/result 从同步 batch 中整条剔除只保留写类工具。删除边界viking_forget是六道顺序校验的 memory-only 删除面非 str / 空值拒绝scheme 非viking拒绝带 query/fragment 拒绝目录或非.md结尾拒绝必须命中 4 种memories路径形状之一且memories段后至少还有 2 段不删除memories/与分类目录本身文件名不能是.abstract.md/.overview.md。此外 Hermes 的删除面对 skill 完全只读不增不删。仓库佐证Hermes 端到端评测仓库的 benchmark/locomo/hermes 提供了 Hermes × OpenViking 的 LoCoMo QA 评测实现可作为理解集成工作方式的实战佐证。评测支持三条记忆路径native转录导入 Hermes 原生记忆e2e经 Hermes 的 OpenViking 记忆提供方导入转录并提交会话再经 Hermes 评测preingest转录直接预载入 OpenViking再经 Hermes 针对预载状态评测。cd benchmark/locomo/hermes ./run_full_eval.sh --suite native ./run_full_eval.sh --suite e2e ./run_full_eval.sh --suite preingest所需服务Hermes gateway默认http://127.0.0.1:8642可用HERMES_URL覆盖与 OpenViking 服务默认http://127.0.0.1:1933可用OPENVIKING_ENDPOINT覆盖。import_e2e.py展示了 Hermes 网关的接入细节通过X-Hermes-Session-Id头指定会话OpenViking 侧的账号/用户/密钥则通过OPENVIKING_ACCOUNT/OPENVIKING_USER/OPENVIKING_API_KEY统一传递与上文凭据体系一致。另外OpenViking 服务端还提供了 Hermes 适配器openviking/ingest/sources/hermes.py支持openviking-server ingest hermes离线重放历史日志默认关闭需双重开启可作为 Hermes 会话数据的反向导入通道。适用前提与限制本文配置步骤要求先有一个运行中的 OpenViking 服务本地部署参考 部署指南openviking-server init初始化 →openviking-server启动默认端口 1933远程/公网访问的 API Key 设置参考 鉴权指南本地免鉴权dev 模式时OPENVIKING_API_KEY可留空一旦将服务暴露到网络必须配置root_api_keyHermes 集成的自动召回不携带 profile 注入、无 statusline且viking_remember直写文件不走抽取——需要写入即参与语义抽取的场景请评估后再选用。参见集成能力参考 — Hermes 档案卡与全集成横向对照矩阵§1.1 工具面、§3.1.3 凭据体系、§3.2 召回、§3.3 会话与 commit、§3.5 删除边界Agent 集成概览 — 各 harness 接入方式选型服务端部署 — 搭建 OpenViking 服务鉴权指南 — 远程访问的 API Key 设置Hermes LoCoMo Benchmark — Hermes × OpenViking 端到端评测脚本【免费下载链接】OpenVikingSelf-evolving Context Database for AI Agents. Unify Agent Memory, Knowledge RAG and Skills.项目地址: https://gitcode.com/GitHub_Trending/op/OpenViking创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考