Orchestration
rag-router
Multi-shelf orchestration for rag-agent
rag-router decides where to look. It routes user questions to the right rag-agent shelf, discovers agent health, and proxies /search with SSE streaming — so your users interact with one intelligent endpoint instead of many.
Capabilities
- Rules-based classifier: keyword overlap, fuzzy title matching, intent classes
- Single, cascade (retry on no_results), and clarify routing modes
- Agent Discovery Service — health polling, static catalog, runtime refresh
- SSE proxy to rag-agent /search with per-agent tuning (top_k, min_score)
- MCP server for Cursor IDE: rag_search, rag_list_books, rag_route_preview
- Single router.yaml config, routerctl CLI for debugging routing decisions
Architecture
Client (Cursor MCP / HTTP / CLI)
│
▼
┌─────────────────┐
│ rag-router │ :8090
│ route + proxy │
└────────┬────────┘
│ classifies intent
┌──────┴──────┐──────────────┐
▼ ▼ ▼
rag-agent rag-agent rag-agent
:8081 :8082 :8083
legal wiki security Relationship to rag-agent
rag-agent handles ingestion, indexing, retrieval, and generation. rag-router adds the routing intelligence on top — no Bleve, no f4kvs, no ingest logic. Deploy one rag-agent per domain (legal, wiki, security), point rag-router at all of them, and let users ask questions without knowing which shelf answers.
Multi-shelf Pilot
Scope-based