Quick answer

A self-hosted AI agent is an agent runtime, meaning the reasoning loop, its tools and its memory, running on hardware you control. The model is a separate decision: a local open-weight model on your GPU, or a frontier model over an API. I host the runtime, memory and tool gates and rent the model; that is where the risk lives.

By LK Wood IV · Published 2026-09-12 · Updated 2026-09-12 · ~8 min read · St. Louis County, MO

TL;DR · Self-hosted AI agent

  • An agent is three layers: a runtime (the loop, the tools it may call, the memory it keeps), a model, and the channels it lives in. Self-hosting means the runtime and the memory run on hardware you control.
  • The model is a separate choice. Fully local means an open-weight model on your GPU; the same runtime can also call a frontier model over an API. Both count as a self-hosted agent. A managed server someone else runs does not.
  • What I run: two CLI agents on my desktop, memory in a local Qdrant and Neo4j, 15 plus 5 MCP servers across two configs, 13 hooks that gate tool calls, and a frontier model over the API. The local-model option is measured on the same RTX 5080.
  • Start with the runtime that matches the job: OpenClaw for an assistant in your chats, OpenHands or a CLI agent for code, n8n's AI Agent node for automations. Pick the model by VRAM last.

Search for this phrase and you get two kinds of page. One is a ranked list of seven tools, rarely with any evidence that the writer runs them. The other is a vendor explaining why its platform is the answer. I run a self-hosted agent every working day, my whole site is built and maintained through it, and the question the lists skip is the one that matters: which parts are on your machine, and which parts are not. This page answers that first, names the 2026 runtimes second, and ends with the exact inventory of what runs on my desk.

What self-hosted means for an agent, layer by layer

An LLM on its own answers a prompt. An agent is what wraps it. Strip any of the 2026 runtimes down and you find the same three layers.

The runtime. A loop that sends the model a goal, reads back a tool call, runs the tool, and feeds the result back until the goal is met. It owns the tool list, the permissions, and the memory that persists between runs. OpenClaw’s README describes its version of this as a Gateway, “the local control plane for sessions, tools, events” and channel connections. This is the layer that touches your files, your shell, your accounts. It is the layer to self-host.

The model. The runtime does not care where the model lives. OpenClaw’s README puts it plainly. Models and agent runtimes, Claude, Codex and local models among them, “are plugins you can swap without changing anything else.” A local open-weight model on your GPU and a frontier model over an API plug into the same loop. The difference is where your prompts go, what it costs per token, and how smart the answers are.

The channels and tools. Chat platforms, a browser, a code editor, a database, MCP servers. OpenClaw’s README names Discord, iMessage, Slack, Teams, Telegram, WhatsApp, plus “20+ more.” Each connection is a credential the runtime holds on your behalf.

So the definition I use is short. A self-hosted AI agent is an agent runtime and its memory running on hardware you control. The model can be local or rented. If the runtime runs on a server someone else administers for you, it is hosted, whatever the marketing says; a managed OpenClaw box is a fine product and it is not this.

The three configurations, and which one is yours

Fully local. Runtime, memory, model, all on your box. Nothing leaves. The cost is a GPU with enough VRAM for a model good enough to drive tools reliably. On my RTX 5080, which has 16 GB, the site’s throughput dataset measured gpt-oss 20B decoding at 178 to 190 tokens per second with ollama 0.32.1, Qwen 2.5 14B at 94 to 97, and Llama 3.2 3B at 298 to 313, each the median of three runs. Those are comfortable speeds for an agent loop. The catch is quality: in the coding eval on the same card, gpt-oss 20B swept the eight tasks at the 16 GB tier, and that is the ceiling of what fits without spilling to system RAM. The VRAM-tier guide maps the rest.

Local runtime, rented model. Runtime, memory, tool gates and credentials on your box; the model over an API. Your prompts leave, your files and keys do not, and you get frontier-model quality for tool use. This is what I run, and it is the configuration most of the “self-hosted agent” tutorials quietly assume when they show an API key in the config.

Hosted, called self-hosted. A vendor’s cloud runs the runtime for you. Dify’s homepage offers “cloud, VPC, or self-hosted” and is honest about which is which. Ollama’s homepage leads with paid hosted usage, “Run open models. Get more usage,” with the local download still there underneath. Read the deploy line before you believe the adjective.

The runtimes people mean in 2026

Every row was opened on 2026-09-12. The star count and version are what the pages showed that day.

RuntimeWhat it isModelSelf-hosting shapeSource
OpenClawPersonal assistant that lives in your chat apps; Gateway plus native appsPlugins: Claude, Codex, local modelsNode 24.16+ or 26.1+ on your machine; about 390k GitHub stars; stewarded by the OpenClaw Foundation, a 501(c)(3) with no paid tierREADME
OpenHandsAutonomous coding agent with a visual Agent Canvas, SDK, cloud and enterprise tiersYour choice via configSelf-hostable; its own June 2026 post ranks seven self-hosted coding agentsDocs
n8n AI Agent nodeAn agent step inside a visual workflow automationAny connected chat modelRuns wherever your n8n runs; the Docker setup on this site is the pathDocs
Dify“The Platform for Production-Ready Agentic Workflows,” RAG and tools in one workspaceRich model support“Deploy on cloud, VPC, or self-hosted”Site
LangGraphCode-first framework for stateful, durable agent graphsAnyA library; you host whatever you buildOverview
CrewAICode-first framework for role-based multi-agent crewsAnyA library with a paid cloud beside itDocs
LocalAIOpen-source, MIT-licensed runtime, v4.8.0, for “text, voice, vision, image, video, 3D and agent workloads”LocalOne binary on the machine you ownSite
OllamaThe model runtime most of the above call for local inference; not an agent itselfLocal open-weightDownload for your OS; the Docker-with-GPU tutorial covers the Linux and WSL2 pathSite

Two things the table settles. Ollama and LocalAI are model layers rather than agents, and every agent runtime on the list can point at them. And OpenClaw is the one built for a person rather than a developer; its whole pitch is that the agent meets you in the chat you already use.

What I run, and what stays on my desk

This is an inventory, read on 2026-09-12, of the machine this page was written on.

The runtime is two CLI agents on a Windows 11 desktop: Claude Code 2.1.251 and Codex CLI 0.153.4. Both run the loop locally, in my repositories, with my shell. Their tool access goes through 13 Python hooks that run before and after tool calls and block what I have told them to block. That is the permission layer, and it is the part I would never rent.

Memory is local. A Qdrant instance on localhost holds seven collections of decisions, operations notes and article text that the agents search before they build anything; a Neo4j instance answers on the same machine for the graph side; and 75 Markdown memory files sit under the project directory for the things that must survive a cold start. Nothing in that layer has ever been on a server I do not own.

Tools are MCP servers: 15 in the Codex configuration and 5 in the project’s own file, for search-console data, a browser, GitHub, the vector store and the rest. I measured what that costs in the MCP server benchmark: 178 to 422 MB of resident RAM per server, and 962 MB for a five-server stack, before a single model loads. Budget for it.

The model is rented. The two CLI agents call frontier models over the API, so my prompts and the file contents they include leave the machine; my credentials, my hooks and my memory do not. The local alternative is measured rather than imagined. The RTX 5080 in this desktop, on driver 616.56 today, is the card behind the throughput dataset above, which was captured on driver 610.88; ollama 0.32.1 ran gpt-oss 20B on it at 178 to 190 tokens per second in August. Ollama is not installed on this desktop as I write this, and neither is Docker; every MCP server runs as a native process. If I moved the model local tomorrow, that dataset says the 16 GB tier would hold, and the coding eval says what I would give up.

Security in one paragraph

An agent that can run tools can run the wrong tool. OpenClaw’s README says it without softening: “Tools run on the host for the main session unless you configure sandboxing,” followed by a security guide, an exposure runbook and a sandboxing guide to read “before connecting other users or exposing the Gateway remotely.” My hooks are the same idea in a different runtime. Whatever you install, decide what it may touch before you hand it a credential, keep the control plane off the public internet, and treat every chat channel you connect as a door.

What to run first

Pick by the job rather than the star count.

  • You want an assistant in Discord, Telegram or WhatsApp. OpenClaw. One install script, Node 24.16+ or 26.1+, and it meets you in the chat you already use. Read its security guide first.
  • You want an agent that writes code in your repositories. OpenHands, or a CLI agent the way I run it. The coding eval on this site says which local model is worth pointing it at on a 16 GB card.
  • You want automations that call a model as one step. n8n’s AI Agent node on the self-hosted n8n stack.
  • You are building something custom. LangGraph or CrewAI, and you host the result.
  • You want zero bytes leaving the house. Any of the above pointed at Ollama or LocalAI, sized by the VRAM-tier guide, on hardware from the self-hosted AI stack page.

Whichever you choose, the layer worth owning is the one that holds your keys and your memory. Host that. Rent the model until your GPU says otherwise.

Sources

Frequently asked questions

Can I create an AI agent myself?
Yes, and in 2026 you rarely need to write the loop. OpenClaw installs with the one-line script in its README on a machine with Node 24.16+ or 26.1+ and runs as a personal assistant in Discord, Telegram, Slack and other chats; n8n’s AI Agent node builds one visually; LangGraph and CrewAI are the code-first frameworks. What you supply is the model (local or API), the tools you allow, and the rules for what the agent may touch. I run mine as two CLI agents with local memory and hook-enforced tool gates.
What is the 30% rule in AI?
It is a slogan, not a standard, and the pages that rank for it disagree with each other. The Economic Times’ October 2025 explainer says AI does about 70 percent of repetitive work and humans keep 30; Coco Coders’ version, written for students, keeps AI to 30 percent of a piece of work. Neither has anything to do with self-hosting. If you take one thing from it, take the part both agree on: a human stays responsible for the output.
What are the 7 types of AI agents?
There is no canonical seven. IBM’s reference lists five main types: simple reflex, model-based reflex, goal-based, utility-based and learning agents. Red Hat’s September 2025 guide grades agent types by complexity starting from functional agents. IBM’s five plus hierarchical and multi-agent systems, which Red Hat’s ranked guide also includes on its way to eight, is how a list gets to seven. A self-hosted agent of the kind on this page is a goal-based agent with tools and memory; the taxonomy does not change what you install.
What AI models can I self host?
Any open-weight model your GPU can hold. On my RTX 5080, with 16 GB of VRAM, the site’s own August 2026 dataset measured gpt-oss 20B at 178 to 190 tokens per second, Qwen 2.5 14B at 94 to 97, and Llama 3.2 3B at 298 to 313 with ollama 0.32.1. Larger models spill into system RAM and slow down. The VRAM-tier guide on this site maps models to cards; the model is the one layer of an agent you can also rent instead of host.

Evidence ledger

Last updated
Methodology
See our methodology for research and review standards. It draws on 17 cited sources, listed below, each checked against the original page on the date above. The ‘what I run’ section is an inventory of my own desktop on 2026-09-12: the installed versions of the two CLI agents, the count of MCP servers in their configuration files, the memory services answering on localhost, the hook and memory-file counts, and the GPU and driver reported by nvidia-smi. The tokens-per-second figures are quoted from TechFuelHQ’s RTX 5080 throughput dataset, captured on this desktop’s card in August 2026 on driver 610.88, and the MCP memory figures from the site’s MCP-server benchmark, measured on one Windows 11 machine in August 2026; both are linked below and I did not re-run them for this page. The inventory also includes the Qdrant collection count, read from the running instance, and the fact that the MCP servers run as native processes rather than containers, read from their configuration entries. Ollama and Docker are not installed on this desktop today, which the page says. Every vendor claim is quoted from the vendor’s own page or README, opened live on 2026-09-12, and the two taxonomy questions in the FAQ are answered from the pages Google ranks first for them, opened the same day.
Update log
  • 2026-09-12 — Page updated.
Corrections
Spotted an error or a stale number? Email hello@techfuelhq.com. Confirmed corrections are added to the update log above.

About the author

Written by Lowell K. Wood IV, who builds and runs TechFuelHQ from St. Louis, Missouri.