Skip to content

krshirkoohi/Tana-Embeddings-Public

Repository files navigation

Tana Semantic Search (Local BGE + LanceDB)

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.

🚀 Features

  • 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.5 model 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 launchd or cron.

🛠️ Technical Stack

  • Python 3.10+
  • LanceDB: Disk-persistent vector database.
  • FastEmbed: Lightweight CPU-optimised embedding generation.
  • Tana MCP: Interfaces with Tana via the Model Context Protocol.

📋 Prerequisites

  • A Tana account and an active Tana Token.
  • Python installed on your system.
  • Tana Desktop app (recommended for local MCP bridge).

⚙️ Setup

  1. Clone the repository:

    git clone https://github.com/krshirkoohi/Tana-Embeddings-Public.git
    cd Tana-Embeddings-Public
  2. Install dependencies:

    pip install -r requirements.txt
  3. Configure Environment: Create a .env file in the root directory (this is ignored by Git):

    TANA_TOKEN=your_tana_token_here

🔍 Usage

Syncing Nodes

To pull your latest Tana nodes and update the local vector store:

python3 sync_tana.py

Performing Semantic Search

To search your Tana workspace conceptually:

python3 search_tana.py "How do I handle project management in Tana?"

🛡️ Security & Privacy

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.

About

A high-performance semantic search engine for Tana using Local BGE embeddings and LanceDB.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors