Documentation

FindexAI Documentation

Complete guide to installing, configuring, and using FindexAI - the AI-powered browser extension for intelligent search and discovery.

Quick Start

1. Install Extension

Choose your browser and follow the installation guide.

2. Self-Host Backend

Clone the repository and start the backend service with Docker.

git clone https://github.com/tashifkhan/Findex.git
cd Findex/backend && cp .env.example .env
docker-compose up -d

Overview

FindexAI transforms the traditional "Ctrl+F" search into a semantic, multi-agent, and vector-based discovery engine. Whether you're searching through long articles, YouTube videos, or live web content, FindexAI leverages advanced language models, vector search, and a modular architecture to help you find information faster and more intelligently.

AI-Powered Search

Semantic search across web pages, YouTube videos, and documents

Browser Extension

Works in Chrome and Firefox with AI chat sidebar

Multi-Agent Architecture

Web search, YouTube, and HTML page agents

Key Features

AI Chat Sidebar

  • • Instantly access AI-powered chat with keyboard shortcuts
  • • Ask questions about current page content
  • • YouTube video transcript analysis
  • • Real-time web search integration

Multi-Agent Architecture

  • • Web Search Agent (SearchXNG) for real-time answers
  • • YouTube Agent for video transcript analysis
  • • HTML Page Agent for on-page content conversion
  • • Vector similarity search with FAISS

Browser Integration

  • • Chrome and Firefox support
  • • YouTube UI injection with chat overlays
  • • Enhanced find-in-page functionality
  • • Multiple theme support

Model Agnostic

  • • Support for OpenAI, Anthropic, local LLMs
  • • Bring Your Own Keys (BYOK)
  • • Configurable model selection
  • • Secure API key management

Self-Hosting with Docker

Prerequisites

  • • Docker Engine installed on your system
  • • Docker Compose installed on your system
  • • A .env file with required environment variables

Quick Setup

cp backend/.env.example backend/.env
nano backend/.env # Add your API keys
docker-compose up -d

Docker Commands

Basic Operations

# Start services
docker-compose up -d
# View logs
docker-compose logs -f findex-backend
# Stop services
docker-compose down

Development

# Rebuild image
docker-compose build findex-backend
# Run with rebuild
docker-compose up --build -d
# No cache rebuild
docker-compose build --no-cache

API Endpoints

Once the backend is running, you can access the API at http://localhost:5454

Health Check

GET /health

Video Info

POST /video-info

Ask Question

POST /ask

Environment Variables

Make sure to set GOOGLE_API_KEY and other required environment variables in your .env file. The .env file contains sensitive information and should not be committed to version control.

Architecture

System Architecture Flow:
Browser Extension (React) → API Calls → Backend API (FastAPI)
Backend → Agents → [Web Search Agent | YouTube Agent | HTML Page Agent]
Backend → Vector Search → FAISS Vector DB
Backend → Model Agnostic → OpenAI/Anthropic/Local LLMs
Backend → (Planned) → SQLite DB

Backend Components

  • FastAPI: Orchestrates agentic workflows and vector DB lookups
  • Modular Agents: Web search, YouTube, and HTML page processing
  • LLM Integration: Google Gemini, OpenAI, Anthropic via LangChain
  • Vector Search: FAISS for lightning-fast retrieval
  • Configuration: Environment variables and API key management

Frontend Components

  • Extension: Chrome/Firefox support with manifest V3
  • Content Scripts: Inject sidebar UI and search tools
  • Background Script: Manages shortcuts and extension events
  • Side Panel: AI chat and Q&A interface
  • Theme Engine: Multiple UI themes and customization

API Reference

Base URL: http://localhost:5454

All API endpoints accept JSON payloads and return JSON responses. The API uses standard HTTP status codes for responses.

Note: Interactive API documentation is available at http://localhost:5454/docs when the backend is running.

Health Check

GET/health

Returns the health status of the backend service.

Request

GET /health
No body required

Response

{
  "status": "healthy",
  "message": "FindexAI backend is running"
}

Video Information

POST/video-info

Retrieves metadata and information for a YouTube video.

Request

POST /video-info
{
  "url": "https://youtube.com/watch?v=dQw4w9WgXcQ"
}

Response

{
  "title": "Video Title",
  "description": "Video description...",
  "uploader": "Channel Name",
  "duration": 180,
  "view_count": 1000000,
  "tags": ["tag1", "tag2"]
}

Video Subtitles

POST/subs

Retrieves and cleans subtitles for a YouTube video.

Request

POST /subs
{
  "url": "https://youtube.com/watch?v=dQw4w9WgXcQ",
  "lang": "en"
}

Response

{
  "subtitles": "Complete subtitle text..."
}

Ask Question (YouTube)

POST/ask

Ask a question about a YouTube video using AI analysis of the video content and transcript.

Request

POST /ask
{
  "url": "https://youtube.com/watch?v=dQw4w9WgXcQ",
  "question": "What is the main topic discussed?"
}

Response

{
  "answer": "The main topic is...",
  "video_title": "Sample Video Title",
  "video_channel": "Channel Name",
  "video_duration": 180
}

Website Analysis

POST/website

Ask a question about the content of a web page. The backend fetches, converts to Markdown, and analyzes the page.

Request

POST /website
{
  "url": "https://example.com/article",
  "question": "What are the key points mentioned?"
}

Response

{
  "answer": "The key points are...",
  "page_title": "Article Title",
  "page_url": "https://example.com/article"
}

Web Search Agent

POST/crawller

Ask a question using the web search agent to get real-time information from the internet.

Request

POST /crawller
{
  "question": "What are the latest AI developments?"
}

Response

{
  "answer": "Based on recent sources...",
  "sources": [
    "https://example.com/news1",
    "https://example.com/news2"
  ]
}

Error Responses

400 Bad Request

{
  "detail": "Invalid URL format"
}

500 Internal Server Error

{
  "detail": "Internal server error occurred"
}

Testing the API

• Use the interactive documentation at http://localhost:5454/docs

• Test endpoints with curl, Postman, or your preferred HTTP client

• All endpoints require a running backend service

• Make sure to set proper Content-Type headers: application/json

Use Cases

For Students & Researchers

  • • Quickly find specific information in research papers
  • • Search through lecture videos and academic content
  • • Extract key insights from long-form content
  • • Cross-reference information across multiple sources

For Developers

  • • Navigate complex documentation faster
  • • Find code examples and API references
  • • Understand frameworks and libraries semantically
  • • Search through tutorial videos and guides

For Knowledge Workers

  • • Analyze content and extract insights
  • • Compare information across multiple sources
  • • Get AI assistance for content understanding
  • • Streamline research and information gathering

For Content Creators

  • • Gather information for articles and videos
  • • Verify facts and find supporting content
  • • Research topics efficiently
  • • Find inspiration from existing content

Installation Guide

Backend Setup

1. Install Dependencies

cd backend
pip install -r requirements.txt

2. Run Backend Server

uvicorn app.main:app --reload

3. Configure API Keys

Set your LLM API keys in the backend configuration as required.

Extension Setup

1. Chrome Installation

  • • Go to chrome://extensions/
  • • Enable "Developer mode"
  • • Click "Load unpacked"
  • • Select the extension folder

2. Firefox Installation

  • • Go to about:debugging#/runtime/this-firefox
  • • Click "Load Temporary Add-on"
  • • Select manifest.json from extension folder

3. Usage

  • • Press Ctrl+Shift+F to open sidebar
  • • Configure themes and settings
  • • Start asking questions about web content

Roadmap

Completed

  • • LangChain setup with SearchXNG integration
  • • YouTube & HTML page agents
  • • Modular FastAPI backend architecture
  • • React-based extension UI
  • • Multi-theme support
  • • Chrome and Firefox compatibility
  • • Chrome vector DB integration
  • • Sophisticated Theming Engine
  • • Chat history

In Progress

  • • ReAct agent support
  • • BYOKs (Bring your own keys)
  • • Model selector & configuration UI
  • • Extension build & distribution scripts

GitHub Repository

tashifkhan/Findex

AI-powered browser extension for semantic search and discovery

Repository Structure

  • /backend - Python FastAPI server with agents
  • /extension - Browser extension for Chrome/Firefox
  • /landing_page - Next.js landing page and documentation
  • docker-compose.yml - Docker configuration for self-hosting

Contributing

  • • Fork the repository and create a feature branch
  • • Submit pull requests with clear descriptions
  • • Follow the coding standards and guidelines
  • • Report issues and suggest improvements

Ready to Get Started?

Transform your browsing experience with AI-powered search and discovery