skye-harris/hass_local_openai_llm

Home Assistant LLM integration for local OpenAI-compatible services (llamacpp, vllm, etc)

What it solves

Home Assistant's built-in conversation agents are tied to specific providers. This integration lets you plug in any OpenAI-compatible LLM server, whether it's local (Ollama, llama.cpp, LM Studio) or cloud (DeepSeek, OpenRouter, Gemini). It adds missing features like streaming, image inputs, and custom server-specific settings.

How it works

You install the integration via HACS or manually, then configure it through the Home Assistant UI by pointing it at your LLM server's URL. Once set up, it creates conversation agents and AI task entities that you can use in automations and voice assistant. It includes per-server options (for example, llama.cpp sampling parameters, DeepSeek thinking mode, vLLM token budget) and an experimental RAG mode that queries a Weaviate vector database to inject relevant context into prompts.

Who it's for

Home Assistant power users who want to use a self-hosted or cloud LLM of their choice as their assistant's brain. It's especially useful for people who run local inference servers and want tight integration with Home Assistant's voice and automation features.

Highlights

  • Works with any OpenAI-compatible API endpoint (Ollama, llama.cpp, vLLM, OpenRouter, DeepSeek, etc.)
  • Streamed responses and TTS streaming for conversational agents
  • Optional API key for local servers
  • Automatically strips thinking tags from reasoning models
  • Per-server configuration options (DeepSeek, llama.cpp, LocalAI, vLLM)
  • Experimental retrieval-augmented generation using Weaviate
  • Image input and image generation support for AI task entities
  • Custom HTTP headers and request body parameters for advanced tweaking

Related

  • Project
  • Project
  • Project
  • Project