A high-performance semantic search engine for Tana that syncs nodes to a local vector store for instant, conceptual retrieval. Built to bypass the limitations of keyword-only search by providing deep, semantic understanding of your knowledge graph.
- Local Semantic Sync: Automatically pulls nodes from your Tana workspace and indexes them into a local vector store.
- FastEmbed BGE Model: Utilises the
BAAI/bge-small-en-v1.5model for high-quality embeddings without requiring an external API (runs entirely on your machine). - LanceDB Vector Store: Uses the high-performance LanceDB for serverless, disk-based vector storage.
- Hybrid Search Logic: Designed to work alongside Tana's native keyword search for the ultimate "Second Brain" retrieval experience.
- Background Automation: Includes scripts for scheduled syncs via
launchdor cron.
- Python 3.10+
- LanceDB: Disk-persistent vector database.
- FastEmbed: Lightweight CPU-optimised embedding generation.
- Tana MCP: Interfaces with Tana via the Model Context Protocol.
- A Tana account and an active Tana Token.
- Python installed on your system.
- Tana Desktop app (recommended for local MCP bridge).
-
Clone the repository:
git clone https://github.com/krshirkoohi/Tana-Embeddings-Public.git cd Tana-Embeddings-Public -
Install dependencies:
pip install -r requirements.txt
-
Configure Environment: Create a
.envfile in the root directory (this is ignored by Git):TANA_TOKEN=your_tana_token_here
To pull your latest Tana nodes and update the local vector store:
python3 sync_tana.pyTo search your Tana workspace conceptually:
python3 search_tana.py "How do I handle project management in Tana?"This tool is designed with privacy in mind. Your embeddings are generated locally and stored on your own disk. No data is sent to external embedding providers (unless you explicitly configure the Google AI Gemini model).
Created as part of the APOPHIS / Gemini CLI workspace for Kavia.