Porten AI: run your Assist LLM on your own GPU, with a community network as backup

Hi everyone,

I've built a custom integration that connects Home Assistant to Porten, a network of community-hosted GPUs. The setup I actually run at home: my own GPU box serves the model, Home Assistant talks to it through the integration, and anything served by my own hardware is free.

So in practice it's a self-hosted LLM assistant, but with two things I couldn't get from a plain local setup:

  1. If my node is busy or down, or I want a model that doesn't fit my card, the request can fall through to other nodes on the network instead of failing. (Or not: a "my nodes only" API key hard-locks everything to your own hardware.)
  2. When my GPU is idle it serves other people's requests and earns per token. The box pays for itself.

For the cloud-fallback part: nodes are community GPUs in Europe and the network doesn't log prompts or answers. But if you run your own node with a locked key, nothing ever leaves your house at all.

What the integration does:

  • Multiple agents, each with its own model, personality and permissions. I have a strict butler for voice control and a stateless judge for automations.
  • Full Assist device control through HA's LLM API with native tool calling. Works fine on small models, and in Swedish too, "slå på kaffebryggaren" just works.
  • Vision: attach camera snapshots in Assist chat and ask about them.
  • AI Tasks: call ai_task.generate_data with a schema and get typed JSON back for your automations. I use it for things like "is the bedroom too warm for sleeping?" and get a boolean plus a motivation back.
  • English and Swedish translations, defaults tuned for small thinking models.

Install: add https://github.com/porten-ai/ha-porten as a custom repository in HACS (Integration), then add the Porten AI integration with an API key from porten.ai. Connecting a GPU as a node is a one-line installer on the machine.

Source is MIT: https://github.com/porten-ai/ha-porten

It's a fresh release so I'd love feedback, especially from people with voice pipelines or camera setups. Issues and PRs very welcome.