Search
Global search finds anything in your workspace from a single box — subjects,
contacts, tickets, drafts, knowledge, skills, missions, projects, documents,
conversations, engagements, decisions, and team members — ranked together in one
list. It's available three ways: the Cmd+K palette in the UI, the search.global
API endpoint, and the search.global agent tool.
How it ranks
Each query runs three signals in parallel and fuses them (Reciprocal Rank Fusion):
- Full-text — Postgres
tsvectormatching on titles and bodies. - Fuzzy — trigram similarity (
pg_trgm), so typos and partial words still match. - Semantic — vector similarity over embeddings, so a paraphrase finds the right thing even with no shared words.
You can scope a search with mode:
keyword— full-text + fuzzy only (fastest; no embedding call).semantic— vector only.hybrid— all three, fused (the default).
Permissions
Results are always workspace-scoped and RBAC-gated: you only ever see hits for things you're allowed to see. Credentials, secrets, API keys, and agent-internal memories are never indexed.
From the UI
Press ⌘K (Ctrl+K on Windows/Linux) anywhere to open the search palette. Type to search; results are grouped by type. Use the arrow keys and Enter to jump straight to an entity. (Docs search lives on ⌘/.)
From the API
POST /api/invoke/search.global
Content-Type: application/json
{ "q": "kickstarter backers", "mode": "hybrid", "limit": 20 }Returns a ranked list of lightweight hits, each with a deep link:
{
"items": [
{ "type": "contact", "id": "con-…", "title": "Ada Lovelace", "snippet": "…", "score": 0.03, "url": "/contacts/con-…" }
],
"total": 12
}Optionally pass types (e.g. ["contact","subject"]) to restrict to specific
entity types, and offset to page.
See the search.global reference for the full
input/output schema.
How the index stays fresh
When you create or edit an entity, its keyword and fuzzy match update immediately. The semantic (vector) embedding is filled in shortly after by a background reconcile pass, so brand-new items are findable by keyword right away and by meaning within a minute or two.