Self-hosted · Your data, your models, your control

Your Data. Your AI.

AutoBot is the control plane for self-hosted AI. Your data, memory, agents, and knowledge graph live on your infrastructure — pointed at any brain you choose. Run local models today, a frontier API tomorrow. Swap the brain; keep everything you've built.

Free to explore, self-host, modify, and build on — forever. Individuals and hobbyists pay nothing, ever.

Production support & compliance →
3 steps to working dashboard
# Step 1 — clone
$ git clone https://github.com/mrveiss/AutoBot-AI && cd AutoBot-AI
# Step 2 — start
$ docker compose up -d --build
# Step 3 — open dashboard, add your docs and fleet nodes
→ Dashboard http://localhost/
→ Service Lifecycle Manager http://localhost/slm
✓ FastAPI backend · Redis · ChromaDB · Ollama all included
✓ Ask: "Summarise last week's Ansible failures and suggest fixes"

A control plane you own — not a SaaS you rent

You hold the data

Docker on a single VM or bare metal. No SaaS, no telemetry. Your documents, memory, and knowledge graph never leave your infrastructure.

You choose the brain — per agent

The SLM manager controls your AI infrastructure: vector DB, Redis, and which agent uses which provider — local or frontier. Swap providers without losing memory, agents, or knowledge graph.

It scales with you

Start single-node; split frontend, databases, and workers across a distributed fleet — no re-architecture.

From first deploy to production operations

All model inference, document storage, and fleet data stays on your servers. No SaaS, no telemetry, no vendor lock-in.

Chat with your infrastructure docs

Upload runbooks, man pages, or architecture diagrams. Ask in plain language — AutoBot retrieves and answers from your own indexed content, not training data.

Turn runbooks into actions

Give the agent a task and let it run: execute shell commands, trigger Ansible playbooks, or chain multi-step operations across your fleet — with confirmation gates.

Enroll fleet nodes over SSH

Add servers from the dashboard. AutoBot generates an SSH key pair, registers the node, and makes it available for remote commands and health checks immediately.

Build repeatable workflows

Schedule a weekly health check → summarise → Slack-ready report. Workflows run on cron, trigger on events, or execute on demand with a single click.

Run models on your hardware

Ollama, vLLM, llama.cpp, or any OpenAI-compatible endpoint. AutoBot routes to the fastest available compute — including NPU acceleration via OpenVINO.

Keep data local with open components

FastAPI backend · PostgreSQL/SQLite · Redis · ChromaDB · Ollama. Every component is replaceable, self-hosted, and ships in the Docker Compose bundle.

One stack, everything included

Vue 3 frontend → FastAPI backend → PostgreSQL / Redis / ChromaDB / Ollama → Ansible / browser worker. Every layer is open source and replaceable.

1 FastAPI Backend + SLM

SLM (Service Lifecycle Manager) is the admin control plane — it handles deployments, health checks, config, and user management separately from chat traffic, so a heavy inference job never blocks an operator command.

  • FastAPI · 4 uvicorn workers
  • Multi-provider LLM gateway (Ollama, vLLM, Anthropic, OpenAI)
  • Redis session cache · WebSocket streaming
  • PostgreSQL or SQLite for persistence

2 Fleet + Ansible Workers

Each worker VM has one job and communicates via Redis. Ansible provisions and updates everything — no SSH drift, no manual config. Add a node from the dashboard and it's registered in seconds.

  • Ansible playbook execution with confirmation gates
  • Browser worker (Playwright) for web automation
  • NPU worker (OpenVINO) for hardware-accelerated inference
  • Redis Stack — sessions, pub/sub, rate limiting

3 ChromaDB Knowledge Engine

Upload docs once, query forever. ChromaDB stores vector embeddings alongside keyword index. Every system prompt gets your top relevant facts prepended automatically — no retrieval round-trip at chat time.

  • ChromaDB · fastembed (ONNX, no GPU needed)
  • Hybrid search: semantic vectors + BM25 keyword
  • Auto-indexes: runbooks, man pages, codebase
  • Memory extracted and consolidated from every session
6
VM roles supported
Apache-2.0
Open source license
25 min
Full fleet setup
Models supported

Grows with your infrastructure

Start on a single machine. Expand to a full distributed fleet as your workload demands — without changing your workflow.

Single-node to fleet — no re-architecture

AutoBot runs on one machine out of the box. Add VMs via the setup wizard and Ansible provisions each role automatically — NPU worker, Redis, AI stack, browser VM.

Hardware acceleration at every tier

OpenVINO NPU routing assigns inference tasks to the fastest available compute — Intel NPU, GPU, or CPU — with automatic fallback. No manual routing config.

Redis-backed shared state across workers

All four uvicorn backend workers share session cache and rate-limit counters via Redis Stack. Adding more workers requires zero code change.

Ansible-managed configuration at scale

Every VM role is an Ansible playbook. Push config updates, rotate secrets, or deploy to 20 nodes in one command — no SSH drift.

1→∞
VMs supported
4
Concurrent backend workers
8+
LLM providers
24 h
Session cache TTL
~25 min
Full 6-VM fleet from zero — automated by one install script

An AI that actually knows your system

AutoBot's knowledge base isn't a static FAQ — it's a living, queryable index of everything in your infrastructure: man pages, codebase, documents, and memory extracted from every conversation.

Index your content

Man pages, source code, internal docs, and PDFs are chunked, embedded with ONNX-accelerated fastembed, and stored in ChromaDB.

Hybrid retrieval

Each query runs both dense vector search and BM25 keyword matching, then merges results by relevance score — catching what pure vector search misses.

Essential story — always in context

The top facts about you and your system are condensed into a compact "essential story" block and prepended to every LLM system prompt — no round-trip needed.

Learns from every conversation

After each session, AutoBot extracts durable facts — preferences, project names, infra details — and adds them to memory. The agent improves with use.

Vector ChromaDB + fastembed

ONNX-accelerated embedding generation. No GPU required — the embedding model runs efficiently on CPU with sub-100ms latency per chunk.

Keyword BM25 hybrid search

Exact-match keyword search complements vector similarity. Critical for queries about specific command names, file paths, or error codes that embeddings can underweight.

Memory Persistent fact extraction

LLM-based extraction pulls structured facts from chat history. Content-addressed SHA-256 cache keys ensure stale summaries never outlive their source data.

Context Adaptive token budget

Context window usage scales automatically to the active model's declared capacity — a 128k-context model uses its full window, not a hardcoded 4k fallback.

Up in 25 minutes

One script bootstraps the control plane. The setup wizard walks through fleet configuration.

One-command bootstrap

sudo ./install.sh handles dependencies, SSL, and the initial SLM deploy.

Setup wizard

Open the web interface at https://autobot.local and follow the fleet configuration wizard.

Ansible-managed

All subsequent updates and VM configuration push via Ansible playbooks — no manual SSH required.

Full setup guide
bash
# 1. Clone
git clone https://github.com/mrveiss/AutoBot-AI
cd AutoBot-AI

# 2. Bootstrap control plane (~10 min)
sudo ./install.sh

# 3. Open setup wizard
#    https://<your-server-ip>

# 4. Add fleet VMs in the wizard
#    NPU worker · Redis · AI stack · Browser

# Full fleet ready in ~25 minutes

Built with the community

Every improvement ships faster with fresh eyes. Here's how to get involved.

1
Fork & clone

gh repo fork mrveiss/AutoBot-AI --clone

2
Create a branch

git checkout -b feature/your-feature origin/Dev_new_gui

3
Make your change

Write tests, follow the existing code style, keep commits focused.

4
Open a PR → Dev_new_gui

Describe what changed and why. CI runs automatically.

Not sure where to start? Browse good-first-issue tags for bite-sized tasks or check open issues for things you care about.

Keep AutoBot alive

AutoBot is free to run forever. Paid production support is how the project stays funded and maintained. You're paying for our time, guarantees, and compliance work — never for permission to use the software.

Vendor / OEM — reselling AutoBot-as-a-service requires a separate commercial agreement. Contact us to discuss.

Fund the free core

Love AutoBot but don't need a support contract? Sponsorships and one-time tips fund the free, open core that individuals and hobbyists use — separate from paid production support.