pond_search
Find relevant messages in past sessions to recall what was worked on or decided. Match by meaning or exact words, and filter by project, date, agent, or session.
Instructions
Find relevant messages in past sessions - the entry point for recall: "have we worked on X", "what did we decide about Y", "find the session where...". mode="vector" (default) matches meaning; mode="fts" matches exact whole words (BM25). Scope with project / session_id / source_agent / from_date / to_date; keep the query semantic (concepts, not project names). Returns scored hits grouped by session, best session first; pass a hit's session_id to pond_get_session or its message_id to pond_get_message to read it. Searches conversational text only (tool calls/results and reasoning are excluded by design - a gap there is expected, not a failure) and excludes subagent sessions; reach both via pond_sql. Response format details: resource schema://pond.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | Retrieval arm: "vector" (default - matches on meaning) or "fts" (matches exact whole words via BM25). Use vector for concepts/ paraphrases, fts when you know the literal words. Falls back to fts when the store has no embeddings. | |
| limit | No | Max sessions to return. Default 10, server-capped at 200. This is also the "want more results" knob - raise it; there is no pagination. | |
| query | Yes | What to search for: concepts and keywords. Keep it semantic - do not put project names in the query, use the `project` filter instead. | |
| project | No | Filter to projects whose path contains this substring. | |
| sort_by | No | Result order: "relevance" (default - best match first) or "recency" (newest first; the response is labeled so you don't read rank-1 as the best match). | |
| to_date | No | Only messages on or before this date (YYYY-MM-DD). | |
| from_date | No | Only messages on or after this date (YYYY-MM-DD). | |
| session_id | No | Filter to one session (exact match) - search within a single, possibly long, session. | |
| source_agent | No | Filter to one source harness. A root value ("openclaw", "claude-code") returns that harness's main sessions (subagents stay excluded, like the default). Name a subpath ("claude-code/general-purpose", "openclaw/subagent") to search those subagent sessions directly - a subpath value is the deliberate opt-in that disables the default subagent exclusion. |