Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
git clone --depth 1 https://github.com/airweave-ai/airweaveWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/rules/airweave-ai/airweave/search-module)<a href="https://agentmods.dev/rules/airweave-ai/airweave/search-module"><img src="https://agentmods.dev/badge/rules/airweave-ai/airweave/search-module/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/rules/airweave-ai/airweave/search-module"><img src="https://agentmods.dev/badge/rules/airweave-ai/airweave/search-module.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00000 | $0.07049 |
| Opus 5.5 | $0.00000 | $0.02820 |
| Sonnet 5.5 | $0.00000 | $0.01410 |
| Haiku 4.5 | $0.00000 | $0.00705 |
Grade A, and why
search-module scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 793 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Airweave Search Rules
WARNING — PARTIALLY OUTDATED (March 2026)
This file documents the legacy V1 search module (
airweave/search/), which uses an operation-based pipeline with Qdrant, Cerebras/OpenAI/Groq providers, and structured-output LLM calls.The new V2 search lives in
airweave/domains/search/and implements a three-tier architecture:
- Instant — direct vector search, no LLM
- Classic — vector search + reranking + answer generation (replaces V1)
- Agentic — multi-turn tool-calling agent loop with search/count/navigate/read/collect/finish tools
Key differences from V1:
- Vector DB: Vespa (not Qdrant)
- LLM adapters:
airweave/adapters/llm/with Together AI + Anthropic fallback (not Cerebras/Groq)- Reranker:
airweave/adapters/reranker/with Cohere- Filters:
domains/search/types/filters.py— FilterableField/FilterOperator/FilterGroup (not Qdrant native filters)- Streaming: SSE events defined in
domains/search/agentic/events.py(tool_call, thinking, search_results, etc.)- API:
POST /collections/{id}/search/{tier}where tier isinstant,classic, oragentic- Config:
domains/search/config.py— model specs, token budgets, tier defaultsWhen working on
domains/search/, prefer reading the actual code over this file. The sections below remain accurate for the legacyairweave/search/module only.
Overview (Legacy V1)
The search module (@search/) implements a modular, pipeline-based architecture with composable operations. It aims to maintain search quality and flexibility.
Core Architecture
Operation-Based Pipeline
SearchRequest → SearchFactory → SearchContext → SearchOrchestrator → SearchResponse
↓
[Operations Pipeline]
Each operation:
- Implements
SearchOperationabstract base class - Declares dependencies explicitly
- Reads/writes to shared state dictionary
- Can be optional (graceful failure)
- Executes asynchronously
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago First seen · 793 lines · 7,049 tokens per session scan A 2ce2c8df715c
search-module is a cursor rule published in the GitHub repository airweave-ai/airweave (6,558 stars, last pushed 4mo ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 7,049 tokens. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other cursor rules, from other repositories
gateway
Messenger gateway architecture, session store, and the Telegram and Pachca adapter conventions.
provider-devin
Devin transport framing, identity, and response semantics.
backend-rules
A Cursor rule named backend-rules covering backend development, project structure, technology choices, runtime environment, and main process. Cursor is a coding editor with rules that guide how an agent works in a project.
ddd-design-guide
Apply when designing or refactoring domain models, services, stores, or discussing DDD (Domain-Driven Design) architecture. Also apply when working on business logic layers, API modules, or planning domain boundaries and migrations.
backend-python
Cursor rule "backend-python" from coeusyk/inference-x, covering backend python rules, stack assumptions, code style, fastapi conventions and schema conventions.
pn-rust-backend
Rust backend style, env, and error handling. Use for API and server code (Actix-web, Axum).