From 76e11ddf59a1c386c091edf62085c0e66c19ab13 Mon Sep 17 00:00:00 2001 From: Merve Noyan Date: Mon, 27 Apr 2026 13:53:30 +0200 Subject: [PATCH 1/6] add docs --- docs/hub/agents-local.md | 52 ++++++++++++++++++++++++++++++++++++++-- 1 file changed, 50 insertions(+), 2 deletions(-) diff --git a/docs/hub/agents-local.md b/docs/hub/agents-local.md index e0ee6c3b82..d3f5c2bca9 100644 --- a/docs/hub/agents-local.md +++ b/docs/hub/agents-local.md @@ -100,9 +100,33 @@ openclaw onboard --non-interactive \ You can also run `openclaw onboard` interactively, select `custom-compatibility` with `openai`, and pass the same configuration. -## Hermes +### 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. + +```bash +npm ls -g node-llama-cpp --depth=0 +``` +Here's an example snippet to run [quantized EmbeddingGemma-300M](https://huggingface.co/ggml-org/embeddinggemma-300M-GGUF?show_file_info=embeddinggemma-300M-Q8_0.gguf) locally for memory search. + +```bash +openclaw config set agents.defaults.memorySearch.provider local +openclaw config set agents.defaults.memorySearch.local.modelPath "hf:ggml-org/embeddinggemma-300m-qat-q8_0-GGUF/embeddinggemma-300m-qat-Q8_0.gguf" +``` + +Restart the gateway and validate. + +```bash +openclaw gateway restart +openclaw memory status +# Memory Search (main) +# Provider: local (requested: local) +# Model: hf:ggml-org/embeddinggemma-300m-qat-q8_0-GGUF/embeddinggemma-300m-qat-Q8_0.gguf +``` + +## Hermes Agent + +[Hermes Agent](https://hermes-agent.nousresearch.com/) works locally with llama.cpp. Define a default config as: ```yaml model: @@ -118,6 +142,30 @@ custom_providers: model: ggml-org/gemma-4-26B-A4B-it-GGUF:Q4_K_M ``` +### Local Memory Search for Hermes Agent + +Hermes Agent consumes served semantic search models through endpoints. Once you get the model up on endpoint 8080 with the inference engine of your choice, add the following to `~/.hermes/config.yaml`. + +```bash +auxiliary: + session_search: + base_url: "http://127.0.0.1:8080/v1" + api_key: "no-key-required" + model: "local-llama" # your model alias + timeout: 90 + max_concurrency: 1 +``` + +Check if this works, none - built-in only shows that no other memory plug-ins are used. + +```bash +$ hermes memory status +# Memory status +#──────────────────────────────────────── +# Built-in: always active +# Provider: (none — built-in only) +``` + ## OpenCode [OpenCode](https://opencode.ai) works locally with llama.cpp. Define a `~/.config/opencode/opencode.json`: From b7b73785dc79f7bb5934a9ca8c7c07ee053544b6 Mon Sep 17 00:00:00 2001 From: Merve Noyan Date: Wed, 13 May 2026 12:03:31 +0200 Subject: [PATCH 2/6] Apply suggestions from code review Co-authored-by: Pedro Cuenca --- docs/hub/agents-local.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/hub/agents-local.md b/docs/hub/agents-local.md index d3f5c2bca9..9a735a1012 100644 --- a/docs/hub/agents-local.md +++ b/docs/hub/agents-local.md @@ -144,7 +144,7 @@ custom_providers: ### Local Memory Search for Hermes Agent -Hermes Agent consumes served semantic search models through endpoints. Once you get the model up on endpoint 8080 with the inference engine of your choice, add the following to `~/.hermes/config.yaml`. +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`. ```bash auxiliary: @@ -156,7 +156,7 @@ auxiliary: max_concurrency: 1 ``` -Check if this works, none - built-in only shows that no other memory plug-ins are used. +Check if this works, `none - built-in only` shows that no other memory plug-ins are used. ```bash $ hermes memory status From a66972f4ec148bf5b06599fbc3f9280e7979e4f2 Mon Sep 17 00:00:00 2001 From: Merve Noyan Date: Wed, 13 May 2026 12:10:10 +0200 Subject: [PATCH 3/6] Update agents-local.md --- docs/hub/agents-local.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/hub/agents-local.md b/docs/hub/agents-local.md index 9a735a1012..027bf788ad 100644 --- a/docs/hub/agents-local.md +++ b/docs/hub/agents-local.md @@ -107,7 +107,7 @@ You can run local embedding models with Llama.cpp for your agent's memory search ```bash npm ls -g node-llama-cpp --depth=0 ``` -Here's an example snippet to run [quantized EmbeddingGemma-300M](https://huggingface.co/ggml-org/embeddinggemma-300M-GGUF?show_file_info=embeddinggemma-300M-Q8_0.gguf) locally for memory search. +Here's an example snippet to run [quantized EmbeddingGemma-300M](https://huggingface.co/ggml-org/embeddinggemma-300M-GGUF?show_file_info=embeddinggemma-300M-Q8_0.gguf) locally for memory search. OpenClaw automatically downloads and serves the model with below command. ```bash openclaw config set agents.defaults.memorySearch.provider local @@ -156,7 +156,7 @@ auxiliary: max_concurrency: 1 ``` -Check if this works, `none - built-in only` shows that no other memory plug-ins are used. +Check if this works, `none - built-in only` shows that no other memory plug-ins are used. Below output shows that local serving is active. ```bash $ hermes memory status From 083b4709d1c480e1e3d66c2dd2e42378213af5e5 Mon Sep 17 00:00:00 2001 From: Merve Noyan Date: Wed, 13 May 2026 13:44:26 +0200 Subject: [PATCH 4/6] Enhance local memory search documentation for OpenClaw Updated instructions for running local embedding models with Llama.cpp and added npm installation command. --- docs/hub/agents-local.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/hub/agents-local.md b/docs/hub/agents-local.md index 027bf788ad..3ecd336035 100644 --- a/docs/hub/agents-local.md +++ b/docs/hub/agents-local.md @@ -102,11 +102,12 @@ You can also run `openclaw onboard` interactively, select `custom-compatibility` ### Local Memory Search for OpenClaw -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. +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. ```bash -npm ls -g node-llama-cpp --depth=0 +npm i node-llama-cpp ``` + Here's an example snippet to run [quantized EmbeddingGemma-300M](https://huggingface.co/ggml-org/embeddinggemma-300M-GGUF?show_file_info=embeddinggemma-300M-Q8_0.gguf) locally for memory search. OpenClaw automatically downloads and serves the model with below command. ```bash From aceb15cfd8b042218b4149a896809ce7f149683b Mon Sep 17 00:00:00 2001 From: Merve Noyan Date: Mon, 15 Jun 2026 15:41:27 +0200 Subject: [PATCH 5/6] Update docs/hub/agents-local.md Co-authored-by: Pedro Cuenca --- docs/hub/agents-local.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/hub/agents-local.md b/docs/hub/agents-local.md index 3ecd336035..c17fa7e64c 100644 --- a/docs/hub/agents-local.md +++ b/docs/hub/agents-local.md @@ -157,7 +157,7 @@ auxiliary: max_concurrency: 1 ``` -Check if this works, `none - built-in only` shows that no other memory plug-ins are used. Below output shows that local serving is active. +Check if this works, `none - built-in only` shows that no other memory plug-ins are used. The output below shows that local serving is active. ```bash $ hermes memory status From 1c56c66ea8185fcff1ea39bb2ffd8fdab5c10c0e Mon Sep 17 00:00:00 2001 From: Merve Noyan Date: Mon, 15 Jun 2026 16:00:34 +0200 Subject: [PATCH 6/6] Update docs/hub/agents-local.md Co-authored-by: Pedro Cuenca --- docs/hub/agents-local.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/hub/agents-local.md b/docs/hub/agents-local.md index c17fa7e64c..fbf7746d66 100644 --- a/docs/hub/agents-local.md +++ b/docs/hub/agents-local.md @@ -108,7 +108,7 @@ You can run local embedding models with Llama.cpp for your agent's memory search npm i node-llama-cpp ``` -Here's an example snippet to run [quantized EmbeddingGemma-300M](https://huggingface.co/ggml-org/embeddinggemma-300M-GGUF?show_file_info=embeddinggemma-300M-Q8_0.gguf) locally for memory search. OpenClaw automatically downloads and serves the model with below command. +Here's an example snippet to run [quantized EmbeddingGemma-300M](https://huggingface.co/ggml-org/embeddinggemma-300M-GGUF?show_file_info=embeddinggemma-300M-Q8_0.gguf) locally for memory search. OpenClaw automatically downloads and serves the model with the command below. ```bash openclaw config set agents.defaults.memorySearch.provider local