Local-first AI assistant for Linux system administration.
Halbert runs on your machine using local LLMs by default—no cloud required. Optionally connect to cloud APIs (OpenAI, Claude, Gemini) if you prefer. It ingests system logs, tracks configuration changes, and answers questions grounded in real system data.
- Local LLM — Runs on Ollama by default, no cloud required
- Cloud optional — Connect OpenAI, Claude, or Gemini if you prefer
- System-aware — Ingests journald logs and hardware sensors
- RAG-powered — Answers grounded in Linux documentation
- Safe by default — Dry-run mode, approval system, policy engine
- Self-identifying — The LLM identifies as your computer
# 1. Install Ollama
curl -fsSL https://ollama.ai/install.sh | sh
ollama pull mistral-small # Recommended: vision + 128K context
# Or for 24GB GPUs: ollama pull qwen2.5:14b
# 2. Clone and install
git clone https://github.com/EricBintner/Halbert.git
cd Halbert
python3 -m venv .venv
source .venv/bin/activate
pip install -e halbert_core/
# 3. Start the web dashboard
make dev-web
# Open http://localhost:8000
# or for Tauri build
make dev | GPU VRAM | Chat Model | Features | Notes |
|---|---|---|---|
| 48GB+ (RTX 5090) | mistral-small:24b |
👁️ Vision, 128K context | Best choice - one model does everything |
| 24GB (RTX 4090) | qwen2.5:14b |
128K context | Add pixtral:12b for vision |
| Apple 64GB+ | mistral-small:24b |
👁️ Vision, 128K context | Works via unified memory |
★★ Top Pick: mistral-small:24b (v3.1+) includes built-in vision, 128K context, and function calling. No need for separate Specialist or Vision models!
See Quick Start Guide for full setup.
- Linux (Ubuntu 22.04+, Fedora 38+, Arch)
- Python 3.11+
- 8 GB RAM minimum
- Ollama
| Document | Description |
|---|---|
| Visual Walkthrough | Screenshot tour of every feature |
| Installation | Full setup guide |
| CLI Reference | All commands |
| Configuration | Config files |
| Architecture | System design |
| API Reference | Dashboard API |
See documentation/ for full docs.
# Ask questions
python Halbert/main.py ask "How do I free up disk space?"
# Start dashboard
python Halbert/main.py dashboard
# Ingest system logs
python Halbert/main.py ingest-journald
# Track config changes
python Halbert/main.py snapshot-configs┌────────────────────────────────────────┐
│ Halbert │
├────────────────────────────────────────┤
│ CLI / Dashboard │
├────────────────────────────────────────┤
│ Runtime Engine (LangGraph) │
├────────────┬──────────────┬────────────┤
│ Memory │ RAG │ Tools │
│ (ChromaDB) │ (Docs + KB) │ (System) │
├────────────┴──────────────┴────────────┤
│ Ollama (Local) or Cloud API (Optional) │
└────────────────────────────────────────┘
Ask questions in natural language — Halbert knows your system
See CONTRIBUTING.md.
GPL-3.0. See LICENSE.
