Skip to content

shamantao/aitao

Repository files navigation

AiTao — Your Private, Local AI Assistant

"Your data stays yours. No cloud. No compromise."

AiTao is a free, open-source AI assistant that runs entirely on your computer. It reads your files, remembers their content, and answers questions about them — without sending anything to the internet.


Table of Contents — Your setup roadmap

Step What you'll do
1. Before you start Check software requirements
2. Install prerequisites Ollama + Meilisearch
3. Install AiTao The installer does the heavy lifting
4. Download an AI model The brain of your assistant
5. Configure AiTao 3 fields — 5 minutes
6. Start AiTao Your files get read once
7. Chat with your documents CLI or a graphical interface
8. Activate Premium (optional) Unlock advanced features

1. Before you start

"What do I need to have installed before running AiTao?"

Requirement Minimum Notes
OS macOS 13+ / Windows 11 Intel or Apple Silicon
RAM 8 GB 16 GB recommended for better models
Disk 20 GB free For AI models + your document index

2. Install prerequisites

"There are two tools AiTao needs that aren't bundled with it."

Ollama — the AI engine

Ollama runs AI models on your machine. AiTao talks to Ollama to answer your questions.

macOS:

brew install ollama

Windows:
Download and run the installer from https://ollama.com/download

Verify it works:

ollama --version

Meilisearch — the search engine

Meilisearch is a fast, local full-text search engine. It's what makes keyword searches instant.

macOS:

brew install meilisearch

Windows:
Included automatically in the AiTao Windows portable setup — no manual step required.


3. Install AiTao

"I have the prerequisites. Now I install AiTao itself."

macOS

# Download AiTao
git clone https://github.com/shamantao/aitao.git
cd aitao

# Run the installer (sets up the Python environment automatically)
./install.sh

Windows

Unzip the downloaded archive, then double-click setup.bat. The installer handles everything.


First-time setup wizard (recommended)

"I just installed AiTao. The quickest way to configure it is the interactive wizard."

./aitao.sh init

The wizard asks you 3 questions (folders to index, AI model to use, your name) and writes a minimal config/config.toml for you. Skip to Step 6 when done.

Want to configure manually instead? Keep reading Step 4 and 5.


4. Download an AI model

"AiTao needs an AI model — it's like the brain of the assistant. I download it once and it stays on my computer."

Step 4a — Pull a model

# This downloads the model from the internet — do this once
ollama pull llama3.1:8b

How to choose a model:
Browse https://ollama.com/models — filter by tags (general, code, vision…).

RAM guideline: 8 GB RAM → 7b models work well. 16 GB+ → 13b+ models give better answers.


Step 4b — Find the exact model name for your config

# List models you have installed
ollama list

You'll see output like:

NAME                    ID              SIZE
llama3.1:8b             ...             4.7 GB
qwen2.5-coder:7b        ...             4.4 GB

The NAME column is exactly what to put in your config file in Step 5.

Alternative LLM engines: AiTao also works with llama.cpp (llama-server), LM Studio, and vLLM — any server that exposes an OpenAI-compatible API. Set [llm] backend = "openai" and [llm.openai] base_url = "http://..." in your config. Ollama remains the default and the easiest option.


5. Configure AiTao

"I need to tell AiTao three things: who I am, where my files are, and which model to use."

Open config/config.toml.starter (or edit config/config.toml directly).
You only need to fill in 3 sections:

# --- WHO ARE YOU? -------------------------------------------------------------
[identity]
who_are_you = "Marie, French graphic designer, 38 years old, Barcelona"

What this does: AiTao injects this description into every conversation. It adapts its tone, language, and suggestions to you — like briefing a new assistant on day one.
This is about you, not about your documents.

# --- WHICH FOLDERS TO INDEX? --------------------------------------------------
[indexing]
include_paths = [
    "/Users/marie/Documents",
    "/Users/marie/Desktop",
]

What this does (RAG): AiTao reads these files once and permanently remembers their content. When you ask a question, it searches through what it has read before answering — so it talks about your documents, not generic internet knowledge.
who_are_you tells AiTao about you. include_paths tells AiTao about your documents. Both enrich answers, but differently.

# --- WHICH AI MODEL TO USE? ---------------------------------------------------
[llm]
default_model = "llama3.1:8b"   # Use the exact NAME shown by 'ollama list'

That's it. Save the file and move on.

Advanced options: See config/config.toml.template for the full annotated config reference.


6. Start AiTao and index your files

"Everything is configured. Now I start AiTao."

./aitao.sh start

This starts the core services: Meilisearch, the background worker, and the AiTao API. The MCP server is not started automatically — it is optional (see step 9).
The first time, indexing takes a while — AiTao is reading all your files.

Check progress:

./aitao.sh dashboard

The dashboard shows how many documents have been indexed and whether there are any errors.
Wait until the queue is empty before expecting full search results.

Stop AiTao:

./aitao.sh stop

7. Chat with your documents

"AiTao is running. How do I actually talk to it?"

Option A — Terminal chat

./aitao.sh chat

Type your question and press Enter. AiTao searches your indexed documents and answers with context from them.

Option B — Graphical interface (recommended for beginners)

AiTao exposes a standard API that most AI chat interfaces support.

Open WebUI (ChatGPT-like interface in your browser):

  1. Connect Open WebUI to http://localhost:8200/v1
  2. Chat normally — AiTao handles the document enrichment behind the scenes

OnlyOffice AI (if you use OnlyOffice for documents):

  • Plugin: AI Agent sidebar (DD777)
  • Provider type: OpenAI Compatible (not "OpenAI")
  • URL: http://127.0.0.1:8200/v1
  • API Key: sk-local

Continue.dev (VS Code extension for coding):

{
  "models": [{
    "title": "AiTao",
    "provider": "openai",
    "model": "llama3.1:8b",
    "apiBase": "http://localhost:8200/v1"
  }]
}

See docs/GETTING_STARTED.md for full configuration guides.


8. Activate Premium (optional)

"What extra features do I get, and how do I unlock them?"

Feature Core (Free) Premium
Index files + full-text & semantic search
Works with Ollama, llama.cpp, LM Studio, or vLLM
Dashboard & CLI
Context-grounded answers (identity + indexed paths)
RAG-enriched chat (documents as answer context)
Advanced OCR (scanned PDFs, tables, handwriting)
Document translation (zh ↔ fr, en ↔ fr…)
Auto-categorization of indexed documents
Priority support

Not sure? Start with Core — it covers 90% of personal use cases. Upgrade when you need OCR on scanned documents or document translation.

Activate your license key:

./aitao.sh license activate YOUR-LICENSE-KEY

Purchase a key at https://shamantao.com.


9. Use AiTao with AI assistants (MCP)

AiTao includes an MCP (Model Context Protocol) server that lets Claude Desktop, VS Code GitHub Copilot, Cursor, Windsurf, and other compatible AI assistants call AiTao tools directly.

Available tools:

Tool Description Tier
aitao_search Search indexed documents Free
aitao_ingest Add a file to the knowledge base Free
aitao_stats Index statistics Free
aitao_translate Translate a document Premium
aitao_ocr Run OCR on an image or scanned PDF Premium
aitao_extract Extract structured data from a document Premium

Quick setup:

# 1. Get the config snippet for your AI client
./aitao.sh mcp config --transport stdio

# 2. Paste the snippet into your client config, then reload the client

# 3. (Optional) Run as a daemon instead:
./aitao.sh mcp serve --transport sse --daemon
./aitao.sh mcp config --transport sse

# To see all available mcp sub-commands and options:
./aitao.sh mcp --help

See docs/MCP_SERVER.md for the full reference (all transports, client configs, CLI, security).


Quick command reference

# Services
./aitao.sh start          # Start core services (Meilisearch, Worker, API)
./aitao.sh stop           # Stop core services
./aitao.sh restart        # Restart core services
./aitao.sh status         # Quick health check
./aitao.sh dashboard      # Full snapshot (services, models, index, errors)

# Documents
./aitao.sh scan run       # Scan folders for new files
./aitao.sh queue status   # Indexing queue progress

# Chat & Search
./aitao.sh chat           # Interactive chat
./aitao.sh search "your query"

# Models
./aitao.sh models list    # List configured models + Ollama presence
./aitao.sh models check   # Verify all declared models are available

# MCP Server (AI assistants integration)
./aitao.sh mcp serve      # Start MCP server (stdio, foreground)
./aitao.sh mcp serve --transport sse --daemon  # Start SSE daemon
./aitao.sh mcp stop       # Stop SSE/HTTP daemon
./aitao.sh mcp status     # Show daemon PID + HTTP probe
./aitao.sh mcp config     # Print config snippet for Claude Desktop / VS Code

# Setup
./aitao.sh init           # First-time configuration wizard

Troubleshooting

"Ollama is not running"

ollama serve              # macOS / Linux
# Windows: start the Ollama app from the system tray

"No models available"

ollama pull llama3.1:8b   # Download a model first

"Search returns no results"

./aitao.sh scan run       # Re-scan your configured folders
./aitao.sh queue status   # Wait until queue is empty

"Port 8200 already in use" — Change api.port in config/config.toml.

For more help: docs/GETTING_STARTED.md · GitHub Issues


Releases & architecture

Full release history: CHANGELOG.md

Technical architecture (layers, storage, plugin system, event bus): docs/ARCHITECTURE.md


License

AiTao Core is open source under the GNU Affero General Public License v3 (AGPL-3.0).

  • ✓ Free to use, study, and modify for personal use
  • ✓ No data leaves your machine — ever
  • ✗ You cannot bundle AiTao in a closed-source commercial product without a commercial license

AiTao Premium is activated by a license key (one key = one machine, perpetual, no subscription).

Full license: LICENSE — Commercial inquiries: license@shamantao.com


AiTao — Your Personal AI, Your Privacy, Your Planet 🌍

About

Local-first AI document assistant — semantic search across your private files in any language or format. Privacy-focused, no cloud, no data leaks. Built with open-source tools on consumer hardware to minimize ecological footprint.

Topics

Resources

License

Security policy

Stars

Watchers

Forks

Sponsor this project

Packages

 
 
 

Contributors