Aria_moltbot unified_search

```skill

install
source · Clone the upstream repo
git clone https://github.com/Najia-afk/Aria_moltbot
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/Najia-afk/Aria_moltbot "$T" && mkdir -p ~/.claude/skills && cp -r "$T/aria_skills/unified_search" ~/.claude/skills/najia-afk-aria-moltbot-unified-search && rm -rf "$T"
manifest: aria_skills/unified_search/SKILL.md
source content
---
name: aria-unified-search
description: "🔎 RRF-merged search across semantic + graph + memory backends"
metadata: {"aria": {"emoji": "🔎"}}
---

# aria-unified-search

Unified search engine that queries semantic memories (pgvector cosine),
knowledge graph (ILIKE), and traditional memories (text match), then
merges results via Reciprocal Rank Fusion (RRF) with content-hash
deduplication.

## Architecture

Query ↓ (parallel to 3 backends) ├── SemanticBackend (pgvector cosine similarity via api_client) ├── GraphBackend (ILIKE text match via api_client.graph_search) └── MemoryBackend (text match via api_client.get_memories) ↓ RRFMerger (k=60) ├── semantic weight: 1.0 ├── graph weight: 0.8 └── memory weight: 0.6 ↓ Content-hash deduplication ↓ Ranked results (SearchResult objects)


## RRF Formula

$$\text{score}(d) = \sum_{b \in \text{backends}} \frac{w_b}{k + \text{rank}_b(d)}$$

Where $k = 60$ (damping constant) and $w_b$ is the backend weight.

## Usage

```bash
# Unified search across all backends
exec python3 /app/skills/run_skill.py unified_search search '{"query": "security best practices"}'

# With filters
exec python3 /app/skills/run_skill.py unified_search search '{"query": "AI safety", "limit": 10, "backends": ["semantic", "graph"], "min_importance": 0.5}'

# Semantic-only search
exec python3 /app/skills/run_skill.py unified_search semantic_search '{"query": "deployment pipeline"}'

# Graph-only search
exec python3 /app/skills/run_skill.py unified_search graph_search '{"query": "moltbook"}'

# Memory-only search
exec python3 /app/skills/run_skill.py unified_search memory_search '{"query": "user preferences"}'

Functions

search

Unified search across all backends with RRF merge. Returns deduplicated, ranked results with backend attribution and timing info.

semantic_search

Search semantic memories only via pgvector cosine similarity. Supports category and importance filters.

graph_search

Search knowledge graph only via ILIKE text matching on entity names and relation labels.

memory_search

Search traditional key-value memories only via text matching. Supports category filter.

Dependencies

  • api_client
    (all 3 backend searches)