thehardwarestore.ai

where AI agents shop for the right tools

── 99204 repos indexed ── | filtered by tag: semantic-search
paradedb/paradedb ★ 9402 478 APPLICATION

ParadeDB is a PostgreSQL extension that provides full-text search, vector search, and analytics directly within the database, eliminating the need for a separate search service. The core engine is `pg_search`, which implements a custom index access method (`paradedb`/`bm25`) using Tantivy for search indexing and DataFusion for analytic aggregations. It supports BM25 scoring, phrase/term/boolean queries, fuzzy matching, proximity search, hybrid search (combining full-text and vector), and a rich set of tokenizers (including jieba, ICU, Lindera, ngram). The extension integrates deeply with PostgreSQL's planner through custom scan nodes (BaseScan, AggregateScan, JoinScan, MPP) to push down search, aggregation, and join operations into the index. It also offers columnar storage via fast fields, parallel query execution, and WAL-level integration for crash safety. Architecturally, the system is a Rust library compiled as a shared library loaded by PostgreSQL, using the `pgrx` framework for FFI. Entry points include SQL functions for search (e.g., `paradedb.query`, `pdb.score`), DDL for index creation, and custom plan/exec hooks. Data flows: user SQL queries are intercepted by the planner, which decides whether to use a custom scan path; if so, Tantivy or DataFusion executes the search/aggregation/join, producing tuples that are optionally post-processed by PostgreSQL (e.g., heap fetches, visibility checks). The extension relies on external dependencies: Tantivy (forked for block storage), DataFusion (for aggregate execution), ICU (for Unicode tokenization), Lindera (for Japanese tokenization), and Apache Arrow (for columnar data exchange).

RATING: 9.5/10 MAINT: active DRIFT: low
▸ 5 reusable components found
mem0ai/mem0 ★ 66025 7763 APPLICATION

Mem0 is a production-grade memory layer for AI agents, providing persistent, searchable, and updatable memory across sessions. It operates as both an open-source Python/TypeScript SDK and a hosted platform (api.mem0.ai). The core library abstracts away LLM providers (OpenAI, Anthropic, Groq, vLLM, etc.), embedding models, vector stores (over 20 backends including Qdrant, Pinecone, PGVector, Chroma, Weaviate, and many more), and rerankers behind a consistent config-driven interface. Memory operations (add, search, update, delete) support scoping by user, agent, session, or run, and leverage hybrid search combining semantic, BM25, and entity-boost signals with configurable reranking. The repository is architected as a monorepo with a clear separation of concerns: the core SDK packages (`mem0/` for Python, `mem0-ts/` for TypeScript), a self-hosted FastAPI server with a Next.js dashboard, CLI tools in both Python and Node.js, and a comprehensive plugin ecosystem for AI coding agents (Claude Code, Cursor, Codex, Kimi, Antigravity, Pi Agent, OpenClaw, etc.). Each integration follows a uniform hook adapter pattern, translating native agent events into memory operations via MCP servers or shared core modules. The platform backend includes authentication, API key management, telemetry via PostHog, and a webhook system for event-driven workflows. Key data flows: An application calls `memory.add()` with messages and metadata → the SDK extracts facts via an LLM → embeds them using the configured embedder → stores vectors and metadata in the chosen vector store. On `memory.search()`, the query is embedded, hybrid-scored against stored vectors (with optional reranking), and results are returned with relevance scores. The system supports temporal reasoning (timestamp filtering, memory decay), entity-based partitioning, custom categories, and feedback mechanisms to refine future retrievals. External dependencies include LLM APIs, vector databases, embedding services, and optionally Redis/SQLite for local history.

RATING: 9.4/10 MAINT: active DRIFT: low
▸ 5 reusable components found
khoj-ai/khoj ★ 37591 2500 APPLICATION

Khoj is an open-source personal AI assistant functioning as a 'second brain' for interacting with personal knowledge bases. It provides a chat interface allowing users to converse with various AI models about documents, notes, and connected data sources (local files, GitHub, Notion). The system supports multimodal capabilities including image generation, code execution, voice input/output, and computer operation through a modular agent architecture. Khoj features a Python/Django backend with FastAPI for API endpoints, a PostgreSQL database with pgvector for vector storage and search, and multiple frontends including a web application (React/Next.js), desktop client (Electron), mobile app (Android), and plugins for Obsidian and Emacs. The architecture emphasizes separation of concerns with distinct modules for file processing, embedding generation, conversation handling, tool integration, and user management.

RATING: 9.4/10 MAINT: active DRIFT: low
▸ 4 reusable components found
meilisearch/meilisearch ★ 59478 2720 APPLICATION

Meilisearch is a high-performance search engine written in Rust, organized as a workspace of crates. The core `milli` crate implements indexing, ranking, faceting, filtering, and vector search; the `meilisearch` crate exposes an HTTP API via actix-web. It supports typo-tolerant full-text search, facet filters, geo search, hybrid keyword/vector search, and federated search across remote instances. The system persists data in LMDB and provides dump/restore with backward-compatible readers for multiple dump versions. Beyond search, the repository contains data-intensive components: an indexing pipeline with incremental updates, facet tree structures, embedding generation with multiple providers (OpenAI, HuggingFace, Ollama, REST), and a task scheduler for asynchronous batch operations. Experimental features include chat completions, personalization, and dynamic search rules. The codebase is primarily an application, but includes research-grade algorithms for tokenization, typo tolerance, and vector similarity. Maintenance risks include dual indexing pipelines (old and new update paths), many experimental feature flags, and vendored external crates. The code is generally well-structured with reusable crates for dump handling, filter parsing, and HTTP client utilities.

RATING: 9.1/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
typesense/typesense ★ 26632 987 APPLICATION

Typesense is a high-performance, open-source search engine written in C++17, designed as a drop-in alternative to Algolia and Elasticsearch. It provides a RESTful HTTP API for full-text search, faceted navigation, geospatial filtering, vector search (with HNSW), and hybrid (semantic + keyword) search. The architecture is a distributed, Raft-based clustered system with leader election, log replication, and snapshotting, ensuring high availability and consistency. The server integrates with external AI providers (OpenAI, Google, Azure, Cloudflare) for embedding generation and natural language query processing, and supports on-device ONNX models for text, image, and voice search. The codebase is modular, with singleton managers for collections, embeddings, analytics, rate limiting, and authentication, all built on top of a RocksDB-backed key-value store. Extensive test coverage includes C++ unit tests (gtest), TypeScript integration tests (Bun), and benchmark infrastructure (k6, InfluxDB). While primarily an application, it incorporates data-intensive features like statistical sketches (TDigest, CountMinSketch), custom indexing data structures (ART, numeric trie, hat-trie), and analytics pipelines, giving it a hybrid character.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 6 reusable components found
joshuadavidthomas/opencode-agent-memory ★ 347 25 APPLICATION

This repository implements a plugin for OpenCode, an AI coding assistant, providing persistent, self-editable memory blocks and an optional journal feature. The plugin injects structured memory instructions into the agent's system prompt and exposes dedicated tools (memory_list, memory_get, memory_set, memory_replace, memory_oversized) for the agent to manage its own long-term memory. Memory blocks are stored as markdown files with YAML frontmatter on disk, split into global and project scopes. An optional journal system offers append-only entries with semantic search via local embeddings (all-MiniLM-L6-v2), tags, and metadata tracking. The architecture is cleanly modular: the plugin entry point (src/plugin.ts) orchestrates a configurable memory store (src/memory.ts), a journal store (src/journal.ts), a snapshot caching layer (src/snapshot.ts), and tool definitions (src/tools.ts). The snapshot store is particularly notable for its careful handling of concurrent renders, invalidation, and persistence across process restarts, making it a reusable caching pattern. The codebase is well-tested, uses modern TypeScript with strict mode, and follows OpenCode v2 plugin API conventions. While some components are coupled to the OpenCode ecosystem, the frontmatter utilities, embedding wrapper, and snapshot store are self-contained and could be extracted for use in other projects.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 4 reusable components found
deepset-ai/haystack ★ 26717 3268 APPLICATION

Haystack is an open-source Python framework for building production-ready LLM applications. It provides a modular, component-based architecture where data processing steps (converters, embedders, retrievers, generators, evaluators, etc.) are connected into pipelines or agents. The framework includes over 100 built-in components, support for 50+ integrations (OpenAI, Anthropic, Azure, HuggingFace, etc.), async execution, streaming, serialization, evaluation, and observability. It is designed for RAG, semantic search, question answering, autonomous agents, and multimodal applications. The code is well-structured with consistent patterns (component decorator, lifecycle methods, serialization protocols), extensive test coverage, and security hardening (fuzzing, sandboxed Jinja2, deserialization allowlists).

RATING: 9.0/10 MAINT: active DRIFT: medium
▸ 1 reusable components found
dropbox/witchcraft ★ 517 30 APPLICATION

Witchcraft is a high-performance, local-first semantic search engine built in Rust. It indexes documents using a quantized T5 encoder (Google DeepMind's XTR model) and stores dense and sparse embeddings in SQLite, enabling hybrid retrieval with no external API dependencies or vector database. The project provides multiple interfaces: a CLI (`warp`), a Python package (`witchcraft`), a Node.js native module (`warp`), and an MCP server for AI agent integration. The flagship use case is "pickbrain" — a TUI application that ingests conversation transcripts from Pi, Claude Code, Codex, and Slack, then allows the user to search and resume sessions directly from the terminal. The architecture is modular: the core library (`src/lib.rs`) handles embedding, indexing, and search; `src/embedder.rs` wraps tokenization and T5 inference with sliding-window support; `src/db.rs` manages a SQLite database with WAL, FTS5, and batch operations. Performance-critical operations use custom CPU kernels in `src/fast_ops.rs` and the separate `fbgemm-rs` crate, which provides hand-tuned AVX2/NEON bf16 matrix multiplication and int8 quantized GEMM. Embedding compression via Haar wavelets and rANS entropy coding is provided by `src/packops.rs` and `src/rans64.rs`. The project also includes benchmark tools, a quantization tool, and safety netting for platform-specific quirks (OpenVINO memory leaks, macOS thread priorities). Overall, it is a well-crafted application demonstrating deep systems engineering, though its complexity and tight coupling of some components limit broad reuse.

RATING: 9.0/10 MAINT: active DRIFT: low
▸ 6 reusable components found
rohitg00/agentmemory ★ 29332 2572 APPLICATION

AgentMemory is a persistent memory system designed for AI coding agents (Claude Code, Cursor, Codex, etc.) that captures agent observations via hooks, compresses and stores them, and enables semantic/recall search across sessions. Built on the iii-engine framework, it provides a modular architecture with CLI, REST API, MCP server, and web viewer interfaces. The system eliminates repetitive context re-explanation by automatically injecting relevant memories into agent sessions, implements memory consolidation to extract stable facts, and includes features like working memory management, audit trails, and health monitoring. Agent integrations occur through platform-specific hooks and MCP tools, allowing agents to store observations and retrieve context without manual intervention.

RATING: 8.8/10 MAINT: active DRIFT: low
▸ 5 reusable components found
forloopcodes/contextplus ★ 1983 167 APPLICATION

Context+ is an MCP (Model Context Protocol) server that provides AI agents with structural and semantic awareness of large codebases. It operates over stdio and exposes 17 tools for code discovery, analysis, version control, and memory management. The architecture is layered: a core layer handles multi-language AST parsing via tree-sitter (36 languages with WASM grammars and regex fallback), gitignore-aware recursive directory walking with nested .gitignore support, vector embedding generation (Ollama or OpenAI-compatible APIs) with disk caching and adaptive batching, and an in-memory property graph for long-term memory with decay scoring and auto-similarity edges. A tools layer wraps these capabilities into MCP tools for context tree generation, file skeleton extraction, semantic search (file-level and identifier-level with call-site ranking), blast radius analysis, static analysis runner, commit validation with shadow restore points, spectral clustering-based semantic navigation, and Obsidian-style feature hub navigation. A git layer provides a shadow restore point system for undo without touching git history. The server includes process lifecycle management (idle timeout, parent process monitoring, broken pipe detection) and a realtime embedding tracker that incrementally refreshes embeddings on file changes. The landing page is a separate Next.js application deployed on Cloudflare Workers that serves the documentation and instructions API.

RATING: 8.8/10 MAINT: active DRIFT: low
▸ 4 reusable components found
SeekStorm/SeekStorm ★ 1909 69 APPLICATION

SeekStorm is a high-performance search engine library and multi-tenancy server implemented in Rust. It provides both lexical (BM25F with proximity) and vector (ANN with IVF clustering and scalar/Turbo quantization) search capabilities, supporting real-time indexing, faceted search, spelling correction, query auto-completion, highlighting, and hybrid result fusion via RRF. The architecture consists of a core library (`seekstorm`), a RESTful server (`seekstorm_server`) with embedded web UI, and a Rust client SDK (`seekstorm_client`). The server uses memory-mapped files for persistence, supports per-index configuration of tokenizers, stemmers, stop words, and compression, and enforces multi-tenant isolation via API keys with resource quotas. Search performance is enhanced with SIMD acceleration (AVX2/NEON) for posting list intersection, vector quantization, and distance computations. The codebase is well-tested with extensive integration and consistency tests, and follows an explicit commit model for durability.

RATING: 8.7/10 MAINT: active DRIFT: low
▸ 4 reusable components found
microsoft/generative-ai-for-beginners ★ 117881 62196 APPLICATION

This is a comprehensive educational course repository ('Generative AI for Beginners') containing 21 structured lessons covering the full spectrum of generative AI application development. While classified as an application repository due to its extensive runnable code examples across Python, JavaScript, TypeScript, and .NET, its primary purpose is pedagogical. The repository teaches practical patterns for building GenAI applications including: prompt engineering, chat applications, RAG/vector search, image generation, function calling, AI agents, fine-tuning, LLMOps, and responsible AI practices. Each lesson provides assignments and solutions for multiple LLM providers (Azure OpenAI, OpenAI, GitHub Models). The codebase demonstrates modern GenAI application patterns with a strong emphasis on multi-language implementation parity and accessibility through 40+ language translations. The shared/python utilities provide reusable helpers for API interactions, environment management, and input validation that could be extracted for production use.

RATING: 8.6/10 MAINT: active DRIFT: low
▸ 6 reusable components found
supermemoryai/code-chunk ★ 211 17 APPLICATION

code-chunk is an AST-aware code chunking library designed for semantic search and RAG pipelines. It uses tree-sitter to parse source code into abstract syntax trees, extracts semantic entities (functions, classes, methods, etc.), builds a hierarchical scope tree, and chunks code at semantic boundaries rather than arbitrary character limits. Each chunk is enriched with contextual metadata including scope chain, entities, siblings, and import dependencies, producing contextualized text optimized for embedding models. The library supports multiple languages (TypeScript, JavaScript, Python, Rust, Go, Java), offers batch processing, streaming APIs, Effect integration, and WASM support for Cloudflare Workers. An accompanying evaluation harness (@supermemory/eval) compares agent performance with and without semantic search using SWE-bench Lite.

RATING: 8.6/10 MAINT: active DRIFT: low
▸ 2 reusable components found
LuqP2/Image-MetaHub ★ 322 25 APPLICATION

Image MetaHub is a local-first Electron desktop application for organizing, browsing, and re-generating AI-generated images. It indexes media files in place (no uploads, no moving files) and extracts structured metadata — prompts, models, LoRAs, samplers, seeds, workflows — from 15+ generators including ComfyUI, A1111, InvokeAI, Midjourney, DALL-E, Fooocus, and Adobe Firefly (via C2PA/JUMBF/CBOR parsing). Beyond images it handles video, audio, and 3D model metadata. The app provides tagging, collections, automation rules, ratings, analytics, image comparison with pixel-level diffing, lineage/provenance tracking, and integration with local ComfyUI/A1111 instances for re-generation and upscaling. Pro features (visual search, clustering, batch export) are gated by an offline license system with a 7-day trial and Stripe billing.

RATING: 8.5/10 MAINT: active DRIFT: medium
▸ 6 reusable components found
codedogQBY/ReadAny ★ 2353 183 APPLICATION

ReadAny is a full-featured, cross-platform e-book reader application with deep AI integration. It supports reading EPUB, PDF, MOBI, FB2, and other formats via the modified foliate-js engine, and provides text-to-speech, annotations, reading statistics, and cross-device sync (WebDAV, S3, LAN). The AI subsystem offers chat with RAG (semantic search over book content), context-aware tools, and execution of user-defined skills. The application follows a local-first architecture with robust offline capabilities and optional cloud sync. The codebase is structured as a pnpm monorepo with four main packages: 'core' (shared business logic, types, stores, AI, RAG, sync, stats, TTS), 'app' (Tauri desktop client with React+shadcn UI), 'app-expo' (Expo/React Native mobile client), and 'cli' (agent integration via MCP and managed shims). The application exhibits high craftsmanship in its platform abstraction layer, persistent store pattern, and hybrid search engine. However, there is significant platform-driven code duplication (desktop vs. mobile UI components) and a complex dependency graph with multiple patched packages, indicating some architectural debt.

RATING: 8.2/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
yurijmikhalevich/rclip ★ 1004 83 APPLICATION

rclip is a command-line semantic photo search tool that indexes local image collections using a CLIP model (OpenCLIP ViT-B/32-256) and supports natural-language, image-to-image, and combined queries with boolean operations. The core architecture is monolithic: a Python package with modules for model inference (ONNX/CoreML), SQLite-based feature caching, image preprocessing, and a Textual terminal user interface for interactive browsing. It is fully offline and privacy-preserving, supporting a wide range of image formats including HEIC, raw (CR2, DNG, ARW), and standard web formats. The tool is distributed via PyPI, Snap, AppImage, Homebrew, and Windows MSI, with careful compliance management for third-party licenses, codecs, and model artifacts. It includes an extensive test suite (unit and end-to-end), CI/CD via GitHub Actions, and a compliance toolkit that enforces license policies during builds. The codebase is well-structured and demonstrates good engineering practices, though it relies on a pinned version of textual-image that uses a private API, introducing some technical drift risk.

RATING: 8.2/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
FreePeak/LeanKG ★ 220 28 APPLICATION

LeanKG is a Go-based knowledge graph engine for AI-assisted development. It indexes source code from multi-language repositories into a graph of elements (functions, types, classes) and relationships (calls, imports, implements), stored in SQLite or PostgreSQL with optional vector embeddings for semantic search. The system provides a CLI, REST API, MCP (Model Context Protocol) server, and a React web UI (force-directed graph, file tree, code panel). Core capabilities include incremental indexing with three-signal change detection, a four-tier query ladder (cold/exact/fuzzy/semantic), impact analysis with blast radius, organizational knowledge management (incidents, notes, env reports), ontology matching, federation across servers, and token-budgeted compression for AI tool integration. The architecture is modular: the store backend interface supports SQLite and PostgreSQL with a shared migration ledger; indexing uses regex extractors for 40+ languages with an optional tree-sitter CGO tier; embeddings use a provider abstraction (OpenAI-compatible, llama.cpp sidecar, deterministic). The codebase is well-structured with extensive tests, hermetic test patterns, and deterministic output design. Notable reusability includes the compress package (shell output, git diff), auth token system, store abstraction pattern, and A/B benchmarking harness.

RATING: 8.1/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
omar-haris/smart-coding-mcp ★ 199 31 APPLICATION

This repository implements an MCP (Model Context Protocol) server that provides semantic code search capabilities for AI assistants. It enables developers to search their codebases by meaning rather than just keywords, using local AI models to ensure privacy and avoid external API calls. The system features semantic code search using embeddings (nomic-embed-text-v1.5 with MRL), incremental indexing with file watching, efficient SQLite-based caching of embeddings, cross-platform package version checking across 20+ ecosystems, workspace switching capabilities, and resource throttling to prevent system overload during indexing. The codebase demonstrates strong engineering practices with proper error handling, modular design, and attention to user experience.

RATING: 8.1/10 MAINT: maintained DRIFT: low
▸ 3 reusable components found
supermemoryai/supermemory ★ 30968 2714 APPLICATION

Supermemory is a commercial-grade AI memory and context engine that provides persistent long-term memory for AI agents. The repository implements the client-side integration SDKs, an MCP (Model Context Protocol) server, a memory graph visualization component, and supporting infrastructure. In production, it connects to an external cloud API (api.supermemory.ai) that handles document ingestion, semantic search, user profiles, and knowledge graph construction. The codebase is organized as a monorepo with distinct packages for TypeScript/Python SDKs covering multiple AI frameworks (Vercel AI SDK, OpenAI, Mastra, Claude, etc.), a Cloudflare Workers-based MCP server with OAuth and widget UI, a ship-grade memory-graph React component with force-directed canvas rendering, and a comprehensive validation schema package. The architecture demonstrates strong engineering practices: strict Zod validation, middleware injection patterns, caching and deduplication logic, and thorough testing across languages. Notable skill is evident in the memory-graph canvas engine (viewport, simulation, spatial indexing, version chain visualization) and the shared memory-context injection utilities. The main downside is significant logic duplication across four Python SDK packages and their TypeScript counterparts, which increases maintenance risk. The repo is actively developed with CI/CD pipelines publishing to npm and PyPI.

RATING: 8.0/10 MAINT: active DRIFT: low
▸ 5 reusable components found
NirDiamant/RAG_Techniques ★ 29755 3646 DATA_RESEARCH

This repository is a comprehensive, educational collection of 42+ Jupyter notebooks and runnable scripts demonstrating a wide array of Retrieval-Augmented Generation (RAG) techniques. It is primarily a data_research and educational resource, not a deployable application or library. The codebase serves as a practical cookbook for engineers and researchers, covering the full RAG stack from basic chunking and retrieval (e.g., simple RAG, BM25) to advanced methods like GraphRAG, Self-RAG, HyDE, RAPTOR, and agentic RAG. It also includes a dedicated evaluation framework with notebooks and reusable scripts for measuring faithfulness, relevance, and correctness using tools like DeepEval and custom LLM judges. The architecture is modular, with a shared helper_functions.py providing common utilities for PDF loading, embedding, and retrieval, and an evaluation/ module offering reusable evaluation pipelines. The runnable scripts in all_rag_techniques_runnable_scripts/ provide cleaner, class-based implementations of the techniques that are more suitable for integration into other projects than the notebooks themselves. While the code is well-structured for an educational project and demonstrates high craftsmanship in its reusable components, it is not designed for production deployment. Reproducibility is limited by the lack of a pinned dependency file and reliance on external API keys. The repository is actively maintained and highly influential (29k+ stars), making it a valuable reference for anyone building or evaluating RAG systems.

RATING: 7.7/10 REPRO: 3.0/10 MAINT: maintained DRIFT: medium
▸ 4 reusable components found
$ loading more...
$ submit: