Add agent memory search for OpenClaw and Hermes Agent using llama.cpp#2438
Conversation
|
The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update. |
|
@pcuenca @burtenshaw @gary149 can you take a look? |
| ### Local Memory Search for OpenClaw | ||
|
|
||
| [Hermes](https://hermes-agent.nousresearch.com/) works locally with llama.cpp. Define a default config as: | ||
| You can run local embedding models with Llama.cpp for your agent's memory search. To do so, make sure to have node-llama-cpp. |
There was a problem hiding this comment.
I don't use OpenClaw. Does this have to be the node version?
There was a problem hiding this comment.
not sure I understand your question :/
There was a problem hiding this comment.
why not just use llama.cpp, instead of node-llama-cpp? Is this an OpenClaw requirement?
There was a problem hiding this comment.
if you install this way you can use below one-liner to get llama server up and using it for memory instead of setting it up yourself
Co-authored-by: Pedro Cuenca <pedro@huggingface.co>
Updated instructions for running local embedding models with Llama.cpp and added npm installation command.
pcuenca
left a comment
There was a problem hiding this comment.
Conceptually looks good, but it could be helpful if other Hermes / OC users could take a look. It'd be helpful to describe what this brings over the built-in memory search implementations; as far as I know harnesses have ways to look stuff up in memory without going through this process.
|
|
||
| ### Local Memory Search for Hermes Agent | ||
|
|
||
| Hermes Agent consumes semantic search models through endpoints. Once you get your preferred embedding model up on endpoint 8080 with llama.cpp or the inference engine of your choice, add the following to `~/.hermes/config.yaml`. |
There was a problem hiding this comment.
How does memory search work if you don't do anything? Because it's able to look up things in memory by default, AFAIU. Here's my output from the command you mention below. I haven't done anything about semantic search, but the first lines match what you said:
Memory status
────────────────────────────────────────
Built-in: always active
Provider: (none — built-in only)
Installed plugins:
• byterover (requires API key)
• hindsight (API key / local)
• holographic (local)
• honcho (API key / local)
• mem0 (API key / local)
• openviking (API key / local)
• retaindb (API key / local)
• supermemory (requires API key)
There was a problem hiding this comment.
it does exact text search afaik, where it just does look-up from sessions. imo it's counterproductive
Co-authored-by: Pedro Cuenca <pedro@huggingface.co>
Co-authored-by: Pedro Cuenca <pedro@huggingface.co>
Note
Low Risk
Documentation-only change with no runtime or security impact.
Overview
Documents how to run local memory / semantic search alongside the existing llama.cpp agent setups in
agents-local.md.For OpenClaw, a new subsection covers installing
node-llama-cpp, settingagents.defaults.memorySearchto thelocalprovider with an Hugging Face EmbeddingGemma GGUF path, restarting the gateway, and checkingopenclaw memory status.For Hermes Agent (section title updated from “Hermes”), a matching subsection explains wiring
auxiliary.session_searchin~/.hermes/config.yamlto a local OpenAI-compatible embedding endpoint and validating withhermes memory status.Reviewed by Cursor Bugbot for commit 1c56c66. Bugbot is set up for automated code reviews on this repo. Configure here.