Retrieval
Hybrid search over every indexed document, with citations and line anchors.
Everything in a workspace is indexed for retrieval: files, database records, and documents synced from connected sources. search_context runs hybrid retrieval over all of it: PostgreSQL full-text search and pgvector semantic search, fused with weighted reciprocal-rank fusion.
Queries
The query supports websearch syntax: "quoted phrases" and -excluded terms. strategy can be keyword, semantic, or hybrid (the default).
For harder questions, supply 1 to 8 typed sub-queries in searches. They broaden recall without hijacking the original ask, which always runs at double weight:
lex: exact keywords for full-text searchvec: a natural-language restatement for vector searchhyde: a 30 to 80 word hypothetical answer passage, embedded in place of the question (Hypothetical Document Embeddings)
minScore drops weak results, tokenBudget caps the returned content size, and explain attaches per-result score traces. The effective search guide shows these in practice.
Freshness modes
Not everything in a connected source is indexed. Objects set to discover-only are cataloged as metadata with no stored body, and mode decides how far Orcha goes to reach them:
| Mode | Behavior |
|---|---|
fast | Search retained content only. No provider is contacted |
balanced (default) | Also search the connected-source catalog, and when an entry decisively matches the ask, fetch up to a few bodies live from the provider, chunk them in memory, and cite them with syncMode: "live" |
fresh | Also dispatch to providers that answer queries live, such as issue trackers |
Live calls are metered against the connection's daily provider budget, and live bodies are cached per revision rather than persisted. sourceIds restricts a search to specific connected sources.
A response has two parts. results is cited evidence. coverage reports routing: what was fetched live, what the catalog lists but was not fetched, and where a budget or availability limit stopped the search. Coverage notes are not evidence and should never be quoted as content.
Querying one source
When the ask is clearly about one provider, address it directly instead of searching the whole workspace. query_source queries a single connected source, searching retained content first, then the provider's live-search path or its catalog under the same daily budget. fetch_source_document returns one source document's full body by its external ID, from the index when it is retained and live from the provider when it is not. Both are available over REST and MCP, and neither works with a folder-scoped token.
Results and citations
Each result includes content, score, a citation, the owning folder or source context, document updatedAt, and a location with startLine/endLine anchors plus the Markdown headingPath. Agents should follow up with a ranged get_file (fromLine, maxLines) instead of fetching whole files.
Native records cite /databases/:databaseId?record=:recordId; synced documents cite their upstream source, pinned to the exact version that was indexed.
Bundles and workspace discovery
For established workflows that need a complete, curated source set, use bundles instead of search. Agents unfamiliar with a workspace should start with get_workspace_overview, which summarizes files, folders, index state, recent changes, connected sources, and available bundles. list_bundles returns each bundle's useWhen guidance, and get_bundle retrieves the complete current contents of a bundle by slug.
Use bundles when the task matches a curated set; use search_context for open-ended questions where only the most relevant excerpts are needed.