Skip to content

Semantic Search & AI Index

Aksara v0.5.22 introduces Semantic Search & AI Index — a cross-referenced code intelligence layer that indexes your models, routes, settings, migrations, queries, and playbooks into a unified searchable index.

Overview

Feature Description
SearchDocument Structured document with kind, title, summary, content, metadata
SearchIndex In-memory TF-IDF index with keyword, semantic, and hybrid search
LocalTfIdfEmbedder Built-in embedding provider (no external dependencies)
Index Builders Auto-index models, routes, settings, playbooks, migrations, queries
Studio Spotlight ⌘K / Ctrl+K command palette for instant project search
CLI Search aksara search query "..." with JSON output for agent piping
Agent Integration 12th context section (semantic_index) + new playbook

Quick Start

In Code

from aksara.search import SearchIndex, SearchDocument, build_full_index

# Build a full index from your project
index = build_full_index()

# Search across everything
results = index.search("user authentication", mode="hybrid", top_k=5)

for r in results:
    print(f"[{r.document.kind}] {r.document.title} — score: {r.score:.2f}")

CLI

# Search your project
aksara search query "user model"

# Semantic search with kind filter
aksara search query "authentication" --kind route --semantic

# JSON output (pipe to agent mode)
aksara search query "database" --json | aksara agent

# Index statistics
aksara search index

Studio Spotlight

Press ⌘K (macOS) or Ctrl+K (Windows/Linux) to open the Spotlight command palette. Type to search across all indexed project artifacts.

Architecture

aksara/search/
├── __init__.py      # Package exports
├── engine.py        # SearchDocument, SearchResult, SearchIndex
├── embeddings.py    # BaseEmbeddingProvider, LocalTfIdfEmbedder
└── indexers.py      # Index builders for each artifact type

Configuration

from aksara.conf import Settings

settings = Settings(
    semantic_search_enabled=True,    # Enable/disable search (default: True)
    embedding_provider="local",      # Embedding backend (default: "local")
    embedding_model="local_tfidf",   # Model name (default: "local_tfidf")
    embedding_dimensions=512,        # Max dimensions (default: 512)
    search_index_backend="memory",   # Index storage (default: "memory")
)

Environment variables:

Variable Default Description
AKSARA_SEMANTIC_SEARCH_ENABLED true Enable semantic search
AKSARA_EMBEDDING_PROVIDER local Embedding provider name
AKSARA_EMBEDDING_MODEL local_tfidf Embedding model
AKSARA_EMBEDDING_DIMENSIONS 512 Vector dimensions

Document Kinds

Every indexed artifact is categorized by kind:

Kind Source Description
model ModelRegistry Registered Aksara models with fields and relations
route FastAPI app API endpoints with methods and paths
migration MigrationGraph Migration files with dependencies
query Query Inspector Recent slow queries with SQL and stats
setting Settings dataclass Configuration settings with env var info
playbook Playbook registry Agent playbooks with steps and categories

Search Modes

Mode Description
keyword Token overlap scoring — fast and exact
semantic TF-IDF cosine similarity — finds related concepts
hybrid 40% keyword + 60% semantic — best overall (default)