System-level dependencies required by Cognithor, organized by feature.
| Dependency | Version | Purpose | Install |
|---|---|---|---|
| Python | >= 3.12 | Runtime | python.org/downloads |
| pip | >= 23.0 | Package manager | Included with Python |
| Dependency | Version | Purpose | Install |
|---|---|---|---|
| Ollama | >= 0.3 | Local LLM inference | ollama.com/download |
After installing Ollama, pull the required models:
ollama pull qwen3:32b # Planner model
ollama pull qwen3:8b # Executor model
ollama pull nomic-embed-text # Embedding model| Dependency | Version | Purpose | Install |
|---|---|---|---|
| Node.js | >= 18 | React UI build | nodejs.org |
| npm | >= 9 | Node package manager | Included with Node.js |
| Dependency | Version | Purpose | Install |
|---|---|---|---|
| ffmpeg | >= 5.0 | Audio format conversion | apt install ffmpeg / brew install ffmpeg / ffmpeg.org |
Python packages (installed via pip install cognithor[voice]):
faster-whisper— Speech-to-Textpiper-tts— Text-to-Speech (Piper voices auto-download from HuggingFace)sounddevice— Audio I/O
| Dependency | Version | Purpose | Install |
|---|---|---|---|
| Chromium | (managed) | Headless browser | playwright install chromium |
| Dependency | Purpose | Install |
|---|---|---|
| bubblewrap | L1 namespace isolation | apt install bubblewrap |
| nsjail | L1 namespace isolation (alternative) | github.com/google/nsjail |
| Docker | L2 container isolation | docs.docker.com |
Python packages (installed via pip install cognithor[documents]):
fpdf2— PDF generationpython-docx— DOCX generation
| Dependency | Version | Purpose | Install |
|---|---|---|---|
| PostgreSQL | >= 14 | Alternative database backend | postgresql.org |
All configuration can be set via environment variables (prefix JARVIS_).
Place them in ~/.jarvis/.env for automatic loading.
# Ollama (default, no key needed — just install and run)
OLLAMA_HOST=http://localhost:11434 # Custom Ollama URL
# Cloud providers (pick one)
OPENAI_API_KEY=sk-...
ANTHROPIC_API_KEY=sk-ant-...
GOOGLE_API_KEY=...
GROQ_API_KEY=gsk_...
DEEPSEEK_API_KEY=...
MISTRAL_API_KEY=...
TOGETHER_API_KEY=...
OPENROUTER_API_KEY=...
XAI_API_KEY=...
CEREBRAS_API_KEY=...
GITHUB_TOKEN=...
HUGGINGFACE_API_KEY=...
MOONSHOT_API_KEY=...JARVIS_TELEGRAM_TOKEN=...
JARVIS_DISCORD_TOKEN=...
JARVIS_SLACK_TOKEN=...
JARVIS_WHATSAPP_TOKEN=...
JARVIS_SIGNAL_TOKEN=...
JARVIS_MATRIX_TOKEN=...
JARVIS_TEAMS_APP_ID=...JARVIS_API_TOKEN=... # Protect the Control Center API
JARVIS_API_HOST=127.0.0.1 # Bind address (default: localhost only)
JARVIS_API_CORS_ORIGINS=... # Comma-separated allowed origins- Cognithor runs natively on Windows 10/11 (no WSL required).
- Use the bootstrap script for automated setup:
python scripts/bootstrap_windows.py - PATH: After
pip install -e ".[all]", thecognithorcommand may not be found if Python'sScriptsdirectory is not in your PATH. Usepython -m cognithoras a reliable alternative that always works. - To fix PATH permanently: add
%APPDATA%\Python\PythonXY\Scripts(or theScriptsfolder inside your venv) to your system PATH. - Long path support: Enable via Group Policy or registry if paths exceed 260 chars.
- Apple Silicon (M1+): Ollama runs natively with Metal acceleration.
- Install Xcode Command Line Tools:
xcode-select --install - Homebrew recommended:
brew install python@3.12 ollama ffmpeg
- Any distro with Python 3.12+ and systemd (for Ollama service).
- For full sandbox isolation, install
bubblewraporDocker.
Run the built-in health check after installation:
python scripts/preflight_check.pyThis validates Python version, Ollama connectivity, required models, directory permissions, and optional dependency availability.