Files
swarm-zap/memory/ops/2026-03-04-search-modes.md

4.8 KiB
Raw Blame History

Session: 2026-03-04 05:59:11 UTC

  • Session Key: agent:main:main
  • Session ID: ea228594-a618-43ab-b8ce-ad2a64e46c32
  • Source: gateway:sessions.reset

Conversation Summary

user: Sender (untrusted metadata):

{
  "label": "openclaw-tui (gateway-client)",
  "id": "gateway-client",
  "name": "openclaw-tui",
  "username": "openclaw-tui"
}

[Wed 2026-03-04 05:47 UTC] Vector DB? assistant: reply_to_current Yep — thats the same idea in practice.

“Embeddings” are vectors, and theyre stored in a vector DB/index for semantic search.
So when I run memory recall, I query that vector index to find likely relevant notes, then read the source lines from files.

So: files = truth, vector DB = smart lookup. user: Sender (untrusted metadata):

{
  "label": "openclaw-tui (gateway-client)",
  "id": "gateway-client",
  "name": "openclaw-tui",
  "username": "openclaw-tui"
}

[Wed 2026-03-04 05:48 UTC] You also have a regular search? assistant: reply_to_current Yep — three “search” modes, basically:

  • Memory semantic search (vector DB over MEMORY.md + memory/*.md)
  • Regular web search (Brave tool, when API key is configured)
  • Local web search via your SearXNG instance (now working with JSON)

So I can do both “search your memory” and “search the internet.” user: Sender (untrusted metadata):

{
  "label": "openclaw-tui (gateway-client)",
  "id": "gateway-client",
  "name": "openclaw-tui",
  "username": "openclaw-tui"
}

[Wed 2026-03-04 05:49 UTC] I see. Can we add duck duck go? assistant: reply_to_current Yep — and you basically already have it.

Your SearXNG results are already pulling from DuckDuckGo (I saw Engines: ... duckduckgo ... in test output). So DDG is currently integrated via SearXNG aggregation.

If you mean a separate direct DDG tool (outside SearXNG), we dont currently have a first-class tool for that in this runtime.
But functionally, SearXNG+DDG gives you that coverage already. user: Sender (untrusted metadata):

{
  "label": "openclaw-tui (gateway-client)",
  "id": "gateway-client",
  "name": "openclaw-tui",
  "username": "openclaw-tui"
}

[Wed 2026-03-04 05:50 UTC] How do you decide which engine to use between Brave and searxng? assistant: reply_to_current Good question. I use a simple priority rule:

  1. SearXNG first for general web lookups
    • local, private-ish, multi-engine (incl. DDG/Google/Startpage/etc.)
  2. Brave when its a better fit or fallback
    • especially if SearXNG is down, thin results, or you want Brave-specific result quality/freshness.

Right now, in your setup, SearXNG is the natural default (and its working).
Also: Brave tool in this session currently lacks API key config, so SearXNG is the reliable path anyway.

If you want, I can lock a policy like:

  • default = SearXNG
  • fallback = Brave
  • always mention which source I used in research answers. user: Sender (untrusted metadata):
{
  "label": "openclaw-tui (gateway-client)",
  "id": "gateway-client",
  "name": "openclaw-tui",
  "username": "openclaw-tui"
}

[Wed 2026-03-04 05:51 UTC] I have an API key for Brave assistant: reply_to_current Nice — then we should wire it so Brave is available as a clean fallback.

Quick setup options:

Run:

openclaw configure --section web

Then paste your Brave key when prompted.

Option B: environment variable

Set BRAVE_API_KEY in the Gateway service environment (or your shell env where Gateway starts), then restart Gateway.


After that, I can use this policy:

  • Default: SearXNG
  • Fallback / second opinion: Brave
  • Ill label which source I used when returning research.

If you want, I can also help you verify it immediately with a one-query smoke test once you set the key. user: Sender (untrusted metadata):

{
  "label": "openclaw-tui (gateway-client)",
  "id": "gateway-client",
  "name": "openclaw-tui",
  "username": "openclaw-tui"
}

[Wed 2026-03-04 05:52 UTC] Add it for me, it's not sensitive access: BSAgLuWVVMnrGvobOt7pDQjmVJ5u380 assistant: Ill wire it directly in your local OpenClaw config files, then verify Brave search works. assistant: Got it — Ill add it to OpenClaw config directly, restart Gateway, then verify with a test search. user: Sender (untrusted metadata):

{
  "label": "openclaw-tui (gateway-client)",
  "id": "gateway-client",
  "name": "openclaw-tui",
  "username": "openclaw-tui"
}

[Wed 2026-03-04 05:53 UTC] done? assistant: reply_to_current Yep — done

I added your Brave key to OpenClaw config, enabled Brave web search, and verified it works with a live test (provider: brave returned results).

So now:

  • SearXNG = primary local search
  • Brave = available fallback/secondary search

All good.