Your hardware.
Your AI agents.
Your data.
TinyAgentOS is a self-hosted platform that runs persistent AI agents on your own machines. An old laptop, a Raspberry Pi, an Orange Pi 5, a gaming PC, or all of them at once. No cloud accounts. No API costs. No data leaving your network.
A full agent runtime you actually control
TinyAgentOS is a self-hosted AI agent platform with a full browser-based desktop, 26 bundled apps, persistent per-agent memory, a distributed compute cluster, and a model browser covering 167,000+ models from HuggingFace. Install it on a single machine or spread compute across every spare device on your LAN.
The platform is framework-agnostic by design. It manages everything that matters - agent memory, files, communication channels, model access, configuration, and the full agent lifecycle, outside the execution engine. Switch from SmolAgents to LangChain to a custom loop and your agent keeps its entire history, all its connections, trained LoRA adapters, and API keys. No migration, no data loss, no reconfiguration.
Memory is offline-first. Every agent gets a persistent QMD store running inside its own container: FTS5 full-text search, sqlite-vec semantic search, and hybrid ranking, all on your own hardware with nothing reaching the network. Backup and restore survive complete platform reinstalls.
Built for people who prefer ownership
- Homelabbers Put idle NUCs, SBCs, and old desktops to work as an always-on agent cluster.
- Developers Framework-agnostic runtime and REST API make it easy to wire in any stack.
- Privacy-conscious users All inference, memory, and agent communication stays local by default.
- SBC enthusiasts First-class support for Rockchip NPU, Raspberry Pi, Orange Pi, and Termux on Android.
- Researchers Reproducible agent environments with full memory snapshots and training pipelines.
- Tinkerers Open source, fully hackable. AGPL-3.0. Contributions welcome.
How it fits together
Controller
A Python/FastAPI server hosts the web desktop, REST API, and agent orchestration. Install it on any Linux or macOS machine, or use the one-liner. The controller manages agents, models, memory, and worker connections.
Workers
Workers are lightweight processes that connect to the controller and expose local compute. Install one on every spare machine: NVIDIA desktops, Apple Silicon laptops, Rockchip SBCs, Raspberry Pis, even Android via Termux. The cluster auto-balances inference across whatever is online.
Agents
Each agent runs in its own container with isolated memory, files, skills, and communication channels. Deploy from the web UI or the API. Agents persist across reboots and can be moved between clusters without losing state.
Memory (QMD)
Every agent gets a QMD memory store: documents, embeddings, and conversation history in a local SQLite database. FTS5 keyword search and sqlite-vec vector search work fully offline. User memory is separate, private, and opt-in.
Runs on what you already have
Up in three steps
-
Install the controller
Run the installer on any Linux or macOS machine. It clones the repo, sets up a Python venv, installs dependencies, and registers a systemd service. Runs with or without sudo (user-mode fallback).
Linux / macOS# install controller (Debian, Ubuntu, Fedora, Arch, Alpine, macOS) curl -fsSL https://raw.githubusercontent.com/jaylfc/tinyagentos/master/scripts/install-server.sh | sudo bash # open the web UI open http://localhost:6969 -
Add workers
Install a worker on every machine you want to contribute compute. Workers auto-detect NVIDIA, AMD, Rockchip NPU, and Apple Silicon and register capabilities with the controller on connect.
Worker install# replace with your controller's IP/hostname curl -fsSL https://raw.githubusercontent.com/jaylfc/tinyagentos/master/scripts/install-worker.sh \ | sudo bash -s -- http://your-controller:6969 # Android (Termux) curl -sL https://raw.githubusercontent.com/jaylfc/tinyagentos/master/tinyagentos/worker/android_setup.sh | bash -
Deploy agents
Open the controller UI at port 6969. Use the Agents app to deploy from the catalog, upload a custom agent, or wire in a framework (SmolAgents, LangChain, OpenClaw, and more). Agents start immediately and persist through reboots.
API (optional)# deploy an agent via REST (alternatively use the web UI) curl -X POST http://localhost:6969/api/agents \ -H "Content-Type: application/json" \ -d '{"name": "my-agent", "framework": "smolagents"}'
Where to find us
The project is in active development. Bug reports, pull requests, and discussion are welcome on GitHub. Further community channels are being set up.