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.
npx skills add OrcaQubits/agentic-commerce-skills-plugins --skill nlweb-retrieval-backendsgit clone --depth 1 https://github.com/OrcaQubits/agentic-commerce-skills-pluginsWrote 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/skills/orcaqubits/agentic-commerce-skills-plugins/nlweb-retrieval-backends)<a href="https://agentmods.dev/skills/orcaqubits/agentic-commerce-skills-plugins/nlweb-retrieval-backends"><img src="https://agentmods.dev/badge/skills/orcaqubits/agentic-commerce-skills-plugins/nlweb-retrieval-backends/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/skills/orcaqubits/agentic-commerce-skills-plugins/nlweb-retrieval-backends"><img src="https://agentmods.dev/badge/skills/orcaqubits/agentic-commerce-skills-plugins/nlweb-retrieval-backends.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.00120 | $0.02013 |
| Opus 5 | $0.00060 | $0.01007 |
| Sonnet 5 | $0.00024 | $0.00403 |
| Haiku 4.5 | $0.00012 | $0.00201 |
Grade A, and why
nlweb-retrieval-backends scanned grade A with 1 finding 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 2d 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.
Makes network callslowCapability
Not a fault in itself. Listed so you know the mod talks to something, and to what.
1. `curl http://localhost:8000/sites` — site is registered? How it starts
The opening of the file, as written. The whole thing — 161 lines — stays where its author put it; the contents beside it link to each section on GitHub.
NLWeb Retrieval Backends
Before writing code
Fetch live docs:
- Fetch https://github.com/nlweb-ai/NLWeb/blob/main/docs/nlweb-retrieval.md for the architectural overview.
- Fetch https://github.com/nlweb-ai/NLWeb/blob/main/config/config_retrieval.yaml for the canonical list of endpoint names and their defaults — config keys move release to release.
- Pick the per-backend setup page from
docs/setup-*.md(Qdrant, Azure AI Search, Elasticsearch, OpenSearch, Postgres, Snowflake, Cloudflare AutoRAG). - Inspect
AskAgent/python/retrieval_providers/<backend>.pyfor the exact client signature and required env vars. - Verify the embedding dimension and metric (cosine/dot/L2) the backend expects — must match the embedding provider.
Conceptual Architecture
The Read-Fanout, Single-Write Pattern
NLWeb does something unusual: it reads from every enabled retrieval endpoint in parallel and deduplicates by URL, but writes go to exactly one write_endpoint. This means:
- You can run a hybrid index (e.g., local Qdrant for site content + Bing for fresh news) without code changes
- You migrate between backends by re-running
db_loadagainst the newwrite_endpoint - "Result quality" is the union of all enabled stores — a noisy backend pollutes the top-k
All Supported Backends
| Endpoint key (config_retrieval.yaml) | Backend | Notes |
|---|---|---|
qdrant_local |
Qdrant file-backed | Default-enabled; data in ../data/db |
qdrant_url |
Qdrant remote | Set URL + API key in env |
nlweb_west |
Azure AI Search | Default-enabled MS-hosted demo instance — usually disable |
azure_ai_search |
Azure AI Search (your own) | Bring your own index name |
milvus |
Milvus | Flagged "under development" in YAML |
elasticsearch |
Elasticsearch | dense_vector + int8_hnsw |
opensearch_knn |
OpenSearch + k-NN plugin | The recommended OpenSearch path |
opensearch_script |
OpenSearch no plugin | script_score fallback, slower |
postgres |
Postgres + pgvector | Good if you already run Postgres |
snowflake_cortex_search_1 |
Snowflake Cortex Search | Data lives in Snowflake tables |
cloudflare_autorag |
Cloudflare AutoRAG | Indexing managed by CF; ingest via R2 |
shopify_mcp |
Shopify's MCP endpoint | Default-enabled; live proxy, no ingest |
bing_search |
Bing Web Search API | Live web fallback; not a vector store |
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.
- 2d ago First seen · 161 lines · 120 tokens per session scan A e54eba249f25
nlweb-retrieval-backends is a skill published in the GitHub repository OrcaQubits/agentic-commerce-skills-plugins (39 stars, last pushed 2d ago), licensed MIT. It adds 120 tokens to every session and 2,013 once invoked, about $0.0006 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-15.
Other skills, from other repositories
pgvector-semantic-search
Use this skill for setting up vector similarity search with pgvector for AI/ML embeddings, RAG applications, or semantic search. Trigger when user asks to: Store or search vector embeddings in PostgreSQL Set up semantic search, similarity search, or nearest neighbor search Create HNSW or IVFFlat indexes for vectors…
postgres-hybrid-text-search
Use this skill to implement hybrid search combining BM25 keyword search with semantic vector search using Reciprocal Rank Fusion (RRF). Trigger when user asks to: Combine keyword and semantic search Implement hybrid search or multi-modal retrieval Use BM25/pgtextsearch with pgvector together Implement RRF (Reciprocal…
ai-vector-brain
Builds vector-brain implementations for repos, docs hubs, and compliance corpora. Use when creating pgvector retrieval brains with scripts, SQL, manifests, and evals.
vector-db-rag-expert
Expert guide for high-performance Vector Databases, Deep RAG architectures, pgvector 0.8+ HNSW, Reciprocal Rank Fusion (RRF), Cross-Encoder Re-ranking, and Late Chunking / Panduan ahli Vector DB, arsitektur Deep RAG, pgvector HNSW, RRF, dan Re-ranking.
postgres-semantic-search
PostgreSQL-based semantic and hybrid search with pgvector and ParadeDB. Use when implementing vector search, semantic search, hybrid search, or full-text search in PostgreSQL. Covers pgvector indexing, hybrid FTS/BM25 + RRF, ParadeDB, reranking, halfvec, multilingual search, query translation, and domain evals.…
laravel-vector-search
Use when implementing semantic/vector search in Laravel 13 with PostgreSQL + pgvector.