# 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): ```json { "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 — that’s the same idea in practice. “Embeddings” are vectors, and they’re 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): ```json { "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): ```json { "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 don’t currently have a first-class tool for that in this runtime. But functionally, SearXNG+DDG gives you that coverage already. user: Sender (untrusted metadata): ```json { "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 it’s 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 it’s 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): ```json { "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: ### Option A (recommended): OpenClaw config flow Run: ```bash 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 - I’ll 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): ```json { "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: I’ll wire it directly in your local OpenClaw config files, then verify Brave search works. assistant: Got it — I’ll add it to OpenClaw config directly, restart Gateway, then verify with a test search. user: Sender (untrusted metadata): ```json { "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.