Configure Memory Search

View as Markdown

Configure OpenClaw memory search to use an embedding model from a host Ollama container. This setup lets another local server, such as managed vLLM, continue to serve the chat model.

Prepare the Embedding Server

Start the host Ollama container with the embedding model. This example uses qwen3-embedding:4b on port 11434.

The sandbox reaches the container through http://host.openshell.internal:11434. Keep the container bound to the local host or a reviewed host interface. Port 11434 is commonly unauthenticated. Allow it only from the OpenShell Docker bridge or an equivalent local container network.

Permit the Bridge Route

The local-inference policy preset permits the sandbox to reach the host bridge. Apply the preset, then verify the Ollama API from the sandbox.

$nemoclaw my-assistant policy add local-inference --yes
$nemoclaw my-assistant exec -- curl -fsS http://host.openshell.internal:11434/api/tags

Configure the Embedding Provider

Open a bounded shields-down window before you change the OpenClaw configuration. Define an Ollama provider, select it for memory search, restart OpenClaw, and restore lockdown.

Shields down temporarily relaxes selected lockdown controls for five minutes. If a configuration command or restart fails, run nemoclaw my-assistant shields up before you retry.

$nemoclaw my-assistant shields down \
> --timeout 5m \
> --reason "configure memory search"
$
$nemoclaw my-assistant config set \
> --key models.providers.ollama-mem \
> --value '{"api":"ollama","baseUrl":"http://host.openshell.internal:11434","apiKey":"x","models":[{"id":"qwen3-embedding:4b","name":"Qwen3 embedding 4B"}]}' \
> --config-accept-new-path
$
$nemoclaw my-assistant config set \
> --key agents.defaults.memorySearch.provider \
> --value ollama-mem \
> --config-accept-new-path \
> --restart
$
$nemoclaw my-assistant shields up

Verify that Shields up restored lockdown:

$nemoclaw my-assistant shields status

Continue only when the command succeeds and reports Shields: UP (lockdown active).

The host-side config set command accepts the bridge URL only for supported provider baseUrl fields. Generic configuration keys and other private URL shapes remain rejected.

Rebuild and Verify the Index

An existing index can report an identity mismatch after its embedding provider changes. Inspect the index, rebuild it, and verify the configured memory provider.

$nemoclaw my-assistant exec -- openclaw memory status --index
$nemoclaw my-assistant exec -- openclaw memory index --force
$nemoclaw my-assistant exec -- openclaw memory status --deep

Add --agent <id> to each openclaw memory command for a non-default OpenClaw agent.