DenchClaw Search: Semantic Search Across All Your Data
How DenchClaw's semantic search finds people, companies, notes, and documents across your entire workspace using meaning, not just keywords.
DenchClaw Search: Semantic Search Across All Your Data
DenchClaw's search goes beyond keyword matching. The search system indexes your entire workspace — CRM entries, entry documents, workspace files, and app data — and retrieves results based on meaning, not just exact text matches. Ask for "the startup working on AI for lawyers" and it finds the right company even if those exact words aren't in your notes.
Here's how DenchClaw's search works, what it indexes, and how to use it effectively.
What DenchClaw Search Covers#
DenchClaw's search indexes:
- CRM entries — all entries across all objects (people, companies, deals, etc.)
- Entry documents — the full-text markdown documents attached to entries
- Workspace documents — files in your
docs/directory - App files — content from your Dench Apps (if they expose searchable content)
- Memory files — your
MEMORY.mdand daily memory logs - Skill and configuration files — for AI context, not usually surfaced in user search results
This is a unified search across your entire workspace, not siloed search within a single object.
Keyword Search vs. Semantic Search#
Keyword search finds entries where your exact search term appears in the text. Search for "John Smith" and you get records that literally contain those characters.
Semantic search (DenchClaw's default mode) finds entries by meaning. Search for "engineer at a fintech company in SF" and you might get:
- A contact named Maria Gonzalez whose title is "Senior Software Engineer" at "Stripe"
- A company called "PayRoute" with a San Francisco office and engineering focus
- A note in your memory files about meeting a fintech engineer at a conference
Neither result required "engineer at a fintech company in SF" to appear verbatim — the semantic engine matched on concept similarity.
How Semantic Search Works#
DenchClaw builds search indexes using embedding-based similarity:
- Text extraction — extract searchable text from entries, documents, and files
- Embedding generation — convert text chunks to vector embeddings using the configured model
- Index storage — store embeddings in a local vector index file
- Query matching — at search time, embed the query and find nearest-neighbor results in the index
The embeddings and index are stored locally on your machine. No search queries or document content are sent to external servers (the only external call is the embedding model API, if you're using a cloud model).
Using Search#
Global Search (Cmd+K)#
Press Cmd+K (Mac) or Ctrl+K (Windows/Linux) from anywhere in DenchClaw to open the global search bar.
Type your query. Results appear in real-time organized by type:
- Contacts matching the query
- Companies matching the query
- Deals matching the query
- Documents mentioning the topic
- Memory entries referencing the subject
Click any result to navigate directly to that entry or document.
Object-Level Search#
Within any object view, use the search bar at the top to search within that object. Object-level search is more targeted — it only searches that object's entries and documents.
AI-Mediated Search#
Ask DenchClaw naturally: "Find that startup working on legal AI in San Francisco I met last month."
The AI uses both semantic search and SQL filters to find matching results:
- Semantic search for conceptual relevance
- SQL filter for date constraints ("last month")
- Combined and ranked results returned
This hybrid approach — semantic retrieval + SQL filtering — is what makes DenchClaw's natural language queries so accurate.
Search in Entry Documents#
Entry documents (the markdown notes attached to each CRM record) are full-text indexed. This means:
- Meeting notes are searchable
- Proposal drafts are searchable
- Client-specific context is findable
Search for "discussed enterprise pricing" and find every contact record where your notes mention enterprise pricing discussions — even if those contacts are across different companies, stages, and dates.
Cross-Object Search Results#
Global search returns results across all objects simultaneously. Results are grouped by object type:
People (3 results)
- John Smith — Engineer at Stripe
- Sarah Chen — Fintech Investor at Sequoia
Companies (2 results)
- PayRoute — Fintech infrastructure, SF
- TechBank — Enterprise banking software
Documents (1 result)
- Meeting notes: Fintech conference notes, March 2026
This cross-object view is particularly useful when you remember meeting someone or hearing about a company but can't remember exactly where the information is stored.
Building Search Into Dench Apps#
The DenchClaw bridge API exposes semantic search to custom apps:
// Search across all objects and documents
const results = await dench.db.search("legal AI startup San Francisco");
// Search within a specific object
const people = await dench.db.searchObject("people", "fintech engineer");
// Combine search with SQL filter
const recentResults = await dench.db.query(`
SELECT * FROM v_people
WHERE id IN (${searchIds.join(',')})
AND "Created At" > '2026-01-01'
`);This lets you build search-powered custom interfaces — for example, a deal discovery tool that searches your CRM when a company name is mentioned in a document.
Search Performance and Index Freshness#
DenchClaw's search index is updated incrementally:
- New entries are indexed immediately when created
- Updated entries are re-indexed within seconds
- Document changes are indexed after save
For first-time setup or after a bulk import, DenchClaw re-indexes the entire workspace. This runs in the background and takes a few seconds to a few minutes depending on data volume.
Configuring Search Behavior#
In your workspace settings:
search:
mode: semantic # keyword, semantic, or hybrid
model: text-embedding-3-small # embedding model to use
chunkSize: 512 # token chunk size for documents
includeMemory: true # include memory files in search
includeApps: false # include app files in searchFor pure keyword search (faster, no embedding model required), set mode: keyword. For maximum recall with performance tradeoff, use semantic. hybrid combines both for best results.
See also: DenchClaw Natural Language Queries for search via conversation, and DenchClaw Documents System for the content that search indexes.
Frequently Asked Questions#
Does search send my data to external servers?#
The search index itself is local — stored on your machine. Semantic search requires generating embeddings, which involves an API call to the configured embedding model (e.g., OpenAI's text-embedding-3-small). The text of your documents is sent to that API for embedding generation. If you need fully local search, configure DenchClaw to use a local embedding model (e.g., via Ollama).
How accurate is semantic search compared to keyword search?#
Semantic search has higher recall (finds more relevant results) but occasionally surfaces false positives. For precise lookups (find the exact person named "John Smith"), keyword search is more reliable. For conceptual queries ("find investors interested in climate tech"), semantic search is far superior. The hybrid mode balances both.
Can I search for content inside PDFs or uploaded files?#
DenchClaw indexes text content from files linked in your workspace. For PDFs, text extraction is supported for standard text-layer PDFs. Scanned image PDFs require OCR (not yet built-in). Extracted text is searchable via the standard search system.
How do I rebuild the search index if it seems out of date?#
Ask DenchClaw: "Rebuild the search index." Or trigger a re-index from the workspace settings panel. Full re-indexing runs in the background and doesn't affect CRM usability.
Does search work offline?#
Keyword search works completely offline. Semantic search requires an internet connection for embedding API calls when indexing new content, but uses the cached embeddings when searching offline. If you're offline, DenchClaw falls back to keyword search automatically.
Ready to try DenchClaw? Install in one command: npx denchclaw. Full setup guide →
