使用Harrier嵌入向量的OpenClaw代理本地语义记忆搜索

Reddit r/openclaw 工具

摘要

本文介绍了一种实用方法,利用微软的Harrier嵌入模型为OpenClaw代理提供本地语义记忆搜索功能,无需外部服务即可高效检索相关文本片段。

我整理了一个小仓库,展示了如何在不将嵌入向量发送到外部服务的前提下,为OpenClaw代理添加本地语义记忆搜索:基本思路是:围绕微软的Harrier嵌入模型运行一个小的本地嵌入服务器,暴露一个兼容Ollama的API,并将OpenClaw的memorySearch配置指向该服务器。对于不熟悉Harrier的人:这是微软的一个本地嵌入模型(microsoft/harrier-oss-v1-0.6b),能够生成高质量的文本嵌入。通俗地说,它将文本块转换为向量,从而使代理能够根据含义进行搜索,而不仅仅是精确的关键词匹配。 为什么这对代理记忆很重要:大多数代理记忆系统都会遇到以下两个问题之一:1. 将过多记忆塞入提示词中,这会消耗大量token并使上下文变得混乱。2. 将记忆文件保持得小而手动管理,一旦代理有了实际的历史记录,这就会变得难以维护。语义记忆搜索提供了一条更好的中间路径。你的长期记忆可以保留在普通的Markdown文件中:MEMORY.md、日常日志、笔记、项目文件等,任何人类最易读和编辑的结构都可以。然后代理在运行时只检索相关的片段。这意味着: • 更少的token浪费,因为你不会把每个持久性事实都塞进每个提示词中。 • 更清晰的记忆文件,因为它们不需要被过度压缩成一个巨大的上下文高效的大块。 • 更好的召回,因为代理可以在措辞不完全匹配的情况下找到概念上相关的笔记。 • 更容易调试,因为真相来源是纯文本,而不是消失在透明的向量数据库中。 • 更好的隐私,因为嵌入是在本地计算的。 该仓库包括: • 一个小的Python嵌入服务器。 • 兼容Ollama的/api/embed和/api/embeddings端点。 • 示例OpenClaw memorySearch配置。 • 一个macOS launchd服务模板。 • 一个模拟的Markdown记忆语料库。 • 冒烟测试和一个本地查询演示。 这里的实用之处与其说是“新的检索算法”,不如说是“实用的对接”。OpenClaw已经知道如何与Ollama风格的嵌入端点通信,因此这为其提供了一个本地接近SOTA的语义记忆层,而无需运行完整的Ollama或将私有记忆发送到托管的嵌入API。这种模式在控制token使用的同时保持记忆对人类可管理方面特别有用。无需不断手动策展一个小型的上下文块,你可以在磁盘上保留更丰富的笔记,并让检索拉取真正重要的几个片段。 博客文章:[https://coltoncoan.com/blog/local-agent-memory-with-openclaw-ollama-and-sentence-transformers/](https://coltoncoan.com/blog/local-agent-memory-with-openclaw-ollama-and-sentence-transformers/) 仓库:[https://promptclickrun.github.io/harrier-openclaw-memory-search](https://promptclickrun.github.io/harrier-openclaw-memory-search)
查看原文

相似文章

用于Claude Code、Hermes和OpenClaw Agent的开源自然时序记忆库

Reddit r/ArtificialInteligence

agentmemory是一个开源库,为Claude Code、Hermes和OpenClaw等AI代理提供自然时序记忆。它采用三层架构,结合混合检索(BM25、向量、知识图谱)和艾宾浩斯衰减,在达到上下文限制前,可实现约92%的令牌减少和200倍的更多工具调用。

你的 Openclaw 使用什么记忆?

Reddit r/openclaw

一位开发者讨论了使用 Engram 为 Hermes 代理构建自定义记忆插件,该插件将新信息与现有记忆进行协调,以避免过时和重复,并向 OpenClaw 社区询问他们记忆使用的情况。

解放你的 OpenClaw

Hugging Face Blog

Hugging Face 提供了一份迁移指南,帮助你将 OpenClaw 智能体从受限的 Anthropic Claude 模型迁移到开源替代方案,可通过 Hugging Face Inference Providers 或借助 Llama.cpp 等工具在本地硬件上运行。