Complete Installation Guide
This guide covers the complete installation process for Tabby AI Keyboard, including all prerequisites, optional features, and advanced configuration.System Requirements
Operating System
Architecture
RAM
Disk Space
Prerequisites
Required Software
Node.js 18+
Python 3.12+
pnpm Package Manager
uv Python Package Manager
Docker Desktop
API Keys
Required
- OpenAI API Key - Get it from platform.openai.com/api-keys
Optional AI Providers
- Google Generative AI - ai.google.dev
- Groq - console.groq.com
- Cerebras - cerebras.ai
- XAI - x.ai
- OpenRouter - openrouter.ai
Additional Services
- Tavily API Key - For web search capabilities - tavily.ai
- Neo4j Instance - For knowledge graph visualization (optional) - neo4j.com/cloud/platform/aura-graph-database
Installation Steps
1. Clone Repository
2. Install Dependencies
Install dependencies for each component:Frontend (Electron + Next.js)
- Electron 38
- Next.js 15
- React 19
- Vercel AI SDK
- UI components (Radix UI, Tailwind CSS)
Next.js Backend
- AI SDK integrations
- Supabase client
- API route handlers
Memory Backend (Python)
- FastAPI
- Mem0
- Supabase vector store
- Neo4j connector (optional)
3. Database Setup
Start Docker Desktop
Initialize Supabase
Start Local Supabase
Verify Database Schema
supabase/migrations/.Verify by visiting Supabase Studio:Create Storage Buckets
- PowerShell
- Supabase Studio UI
Supabase Management Commands
4. Neo4j Setup (Optional)
Create Neo4j Instance
- Go to Neo4j AuraDB
- Sign up for a free account
- Create a new free instance
Save Credentials
- URI (e.g.,
neo4j+s://xxxxx.databases.neo4j.io) - Username (usually
neo4j) - Password (generated password)
- Instance ID
- Instance Name
Wait for Instance
5. Environment Configuration
Create and configure environment files for each component.Create Environment Files
Configure Frontend
frontend/.env.local:Configure Next.js Backend
nextjs-backend/.env.local:Configure Memory Backend
backend/.env:Running Tabby
Development Mode
Start all services in separate terminal windows:Terminal 1: Start Supabase
Terminal 2: Start Memory Backend
http://localhost:8000Terminal 3: Start Next.js Backend
http://localhost:3001Terminal 4: Start Windows MCP (Optional)
Terminal 5: Start Electron App
http://localhost:3000Verify Installation
Check that all services are running:Building for Production
Local Build
Create a production executable:.exe installer will be created in frontend/dist/.
GitHub Releases
For automated releases via GitHub Actions:Configure GitHub Secrets
GH_TOKEN- GitHub Personal Access Token withreposcope- All
NEXT_PUBLIC_*variables from.env.local - All
SUPABASE_*variables
Trigger Release
- Read the version from
package.json - Create a Git tag (e.g.,
v0.1.1) - Push the tag to GitHub
- Trigger the GitHub Action
- Build the Windows executable
- Create a draft GitHub Release
Post-Installation
Access System Tray
- Show Actions Menu
- Brain Panel
- Settings
- Quit
Configure Settings
- Select your preferred AI model
- Configure output mode (Paste/Typewriter)
- Customize keyboard shortcuts
- Set up custom actions
Learn Shortcuts
Troubleshooting
Docker Desktop Issues
Docker Desktop Issues
- Ensure Docker Desktop is running
- Check available disk space (need at least 5GB)
- Verify Docker is not blocked by antivirus/firewall
- Try restarting Docker Desktop
- Run
docker system pruneto clean up old images
Port Conflicts
Port Conflicts
- Stop services using those ports
- Or modify the ports in configuration files
Python/uv Issues
Python/uv Issues
- Verify Python 3.12+ is installed:
python --version - Reinstall uv:
pip install --upgrade uv - Delete
.venvfolder inbackend/and runuv syncagain - Check that Supabase connection string is correct
Node.js/pnpm Issues
Node.js/pnpm Issues
- Verify Node.js 18+:
node --version - Clear pnpm cache:
pnpm store prune - Delete
node_modulesandpnpm-lock.yaml, then runpnpm install - Check all environment variables are set
Supabase Storage Issues
Supabase Storage Issues
- Create buckets manually via Supabase Studio at
http://localhost:54323 - Ensure service_role key is correct in PowerShell command
- Check bucket names are exactly:
context-capturesandproject-assets - Verify buckets are set to “Public”
Neo4j Connection Issues
Neo4j Connection Issues
- Verify Neo4j instance is running in AuraDB dashboard
- Check credentials (URI, username, password) are correct
- Ensure URI includes
neo4j+s://protocol - Test connection using Neo4j Browser