"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.
| 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 |
"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 |
"There are two tools AiTao needs that aren't bundled with it."
Ollama runs AI models on your machine. AiTao talks to Ollama to answer your questions.
macOS:
brew install ollamaWindows:
Download and run the installer from https://ollama.com/download
Verify it works:
ollama --versionMeilisearch is a fast, local full-text search engine. It's what makes keyword searches instant.
macOS:
brew install meilisearchWindows:
Included automatically in the AiTao Windows portable setup — no manual step required.
"I have the prerequisites. Now I install AiTao itself."
# Download AiTao
git clone https://github.com/shamantao/aitao.git
cd aitao
# Run the installer (sets up the Python environment automatically)
./install.shUnzip the downloaded archive, then double-click setup.bat. The installer handles everything.
"I just installed AiTao. The quickest way to configure it is the interactive wizard."
./aitao.sh initThe 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.
"AiTao needs an AI model — it's like the brain of the assistant. I download it once and it stays on my computer."
# This downloads the model from the internet — do this once
ollama pull llama3.1:8bHow 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.
# List models you have installed
ollama listYou'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.
"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_youtells AiTao about you.include_pathstells 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.templatefor the full annotated config reference.
"Everything is configured. Now I start AiTao."
./aitao.sh startThis 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 dashboardThe 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"AiTao is running. How do I actually talk to it?"
./aitao.sh chatType your question and press Enter. AiTao searches your indexed documents and answers with context from them.
AiTao exposes a standard API that most AI chat interfaces support.
Open WebUI (ChatGPT-like interface in your browser):
- Connect Open WebUI to
http://localhost:8200/v1 - 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.
"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-KEYPurchase a key at https://shamantao.com.
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 --helpSee docs/MCP_SERVER.md for the full reference (all transports, client configs, CLI, security).
# 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"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
Full release history: CHANGELOG.md
Technical architecture (layers, storage, plugin system, event bus): docs/ARCHITECTURE.md
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 🌍