About this project

Oneiron is an embedded retrieval engine designed for memory-first AI applications. Unlike traditional stacks that require separate services for vector, text, and graph databases, Oneiron runs in-process as a Rust library with C FFI bindings. This architecture eliminates network hops and consistency issues, making it suitable for deployment on mobile devices (iOS, Android), desktops, Node.js, or as a standalone daemon via `oneiron-server`. The engine leverages a single LMDB environment with ACID transactions to provide atomic multi-database writes. It supports five distinct retrieval signals: - **Vector**: HNSW (flat NSW) with SIMD acceleration for semantic similarity. - **Text**: BM25 inverted index for exact keyword matching. - **Graph**: Personalized PageRank over typed edges for relational entity discovery. - **Temporal**: Bi-temporal range indexes for event-based queries. - **Phonetic**: Code-based posting lists for fuzzy matching from voice/ASR inputs. These signals can be combined using Reciprocal Rank Fusion with per-signal boosts. The system stores entity blobs in MessagePack format and packs context into LLM-ready structures. Oneiron is distributed under the Apache 2.0 license and provides both a Rust library interface and a local daemon for server-side deployments.