taOS logo

taOS

jaylfc/taOS

Self-hosted AI agent OS with memory, chat, and multi-framework group chat support.

GraphCanon updated 1mo · GitHub synced 1mo · 26 views this month

459 stars34 forksLast push 1mo Python AGPL-3.0

Decision brief

taOS is a self-hosted AI operating system tailored for environments requiring data sovereignty and privacy. It offers unique offline-first capabilities along with multi-framework support on consumer hardware.

Good fit when

  • You require an AI agent OS that prioritizes your hardware ownership and offline capabilities, ensuring your data remains private without needing continuous internet access.
  • Your environment consists of diverse hardware like Orange Pi or Raspberry Pi, where you aim to deploy auto-clustering for more efficient resource utilization.

Avoid when

  • You prioritize cloud-based AI services with real-time data processing over self-hosted and offline solutions.
  • Your infrastructure is primarily composed of enterprise-grade servers that already support advanced clustering software, making taOS's auto-clustering less beneficial.

Observed Jul 12, 2026 · Source: enrich:decision_facts

Verify the decision

Maintenance and security

Full trust report
Maintenance
Very active (3d since push)
As of 1mo
Provenance
Not a fork · Personal account
As of 1mo
Security (OSV)
No lockfile
As of 1mo

Public GitHub metadata and optional OSV scans. Signals, not a guarantee. Trust methodology.

Install

pip install taOS
PyPI

Similar tools

Same-category neighbours. No typed graph edges are catalogued for this tool yet.

Evidence and technical details

Sourced facts, taxonomy, compatibility claims, README excerpt, and machine-readable endpoints.

Overview

taOS is a self-hosted operating system designed for AI agents, featuring offline AI memory, local-first functionality, full web desktop environment, and support for various hardware including Orange Pi, Raspberry Pi, and Apple Silicon. It offers auto-clustering capabilities for consumer hardware and integrates multiple AI frameworks.

Capability facts

CLI
CLI entrypoint

Source: pyproject.toml:[project.scripts] · Jul 26, 2026

Languages
python

Source: github.language+pyproject.toml · Jul 26, 2026

Categories

Compatibility

Sourced claims from the README excerpt - not unsourced marketing copy.

Python runtimePython

Source: README excerpt (regex_v1, Jul 26, 2026)

stallers touch. Nothing is hidden behind a vendored binary; everything is plain Python, plain systemd, plain shell.
Source link

Tags

README

Quick Start

Controller (server):


---

# Debian / Ubuntu / Fedora / Arch / Alpine / macOS, one-line install
curl -fsSL https://raw.githubusercontent.com/jaylfc/taOS/master/scripts/install-server.sh | sudo bash

Run without sudo to install as a user-mode systemd unit instead. The script is idempotent, safe to re-run on an existing install. Supports env-var overrides for install path, branch, and port.


Linux / macOS, one-line worker install (auto-detects headless,


service otherwise; works on a fresh Debian install or your existing box)

curl -fsSL https://raw.githubusercontent.com/jaylfc/taOS/master/scripts/install-worker.sh | sudo bash -s -- http://your-server:6969


Windows 10/11, one-line worker install (PowerShell, mirrors the


Agent Deployment

5-step wizard: pick framework → choose model → configure → deploy into an isolated container (LXC on bare metal, Docker on VPS, auto-detected). Each agent gets its own memory system (taOSmd instance), its own file storage, and its own network identity. The framework runs inside the container but taOS manages everything around it: memory, channels, secrets, model access, scheduled tasks, and inter-agent communication. This means the framework is a swappable component, not a lock-in decision.

Running taOS inside an LXC (e.g. Proxmox)? Deploying an agent creates a nested container, which an unprivileged LXC cannot do -- the kernel can't remap the nested container's filesystem, so the deploy fails with an idmapped storage / change ownership error. Run the taOS LXC as privileged with nesting enabled. On Proxmox: untick Unprivileged container and set Options → Features → nesting=1 (plus keyctl=1, fuse=1), then redeploy. Bare-metal and VM installs are unaffected. (taOS detects this and surfaces the fix in the deploy error.)

The Agents app on mobile -- one tap from empty to your first deployed agent.


Supported Hardware

CategoryHardwareNotes
Apple SiliconMac Mini, MacBook, Mac Studio, Mac Pro (M1-M5)Ollama (Metal) or MLX backend, 8-192GB unified memory
ARM + Rockchip NPUOrange Pi 5/5 Plus, Rock 5B6 TOPS NPU, primary SBC target
Raspberry PiPi 4 (8GB), Pi 5 (8/16GB)CPU-only or with accelerator HATs
Pi AcceleratorsHailo-10H (40T), M5Stack LLM-8850 (24T)LLM-capable accelerators
NVIDIAGTX 1050 Ti through RTX 4090/5090CUDA 4-32GB or Vulkan legacy
AMDRX 6600 through RX 7900 XTXROCm 4-24GB
AndroidFlagship phones/tablets (12-16GB)7-8B models at 15-30 tok/s via Termux + llama.cpp
iOS/iPadOSiPad Pro M4, iPhones (6-8GB+)Dashboard via PWA, future native worker app
CPU OnlyAny deviceSmallest quantized models
Mixed ClusterAll of the above combinedA Mac, a Pi, a gaming PC, and an old phone, all working together

What the install creates on your box

Full transparency on every file, service, user, and port the installers touch. Nothing is hidden behind a vendored binary; everything is plain Python, plain systemd, plain shell.


Controller install (scripts/install-server.sh)

Run curl -fsSL https://raw.githubusercontent.com/jaylfc/taOS/master/scripts/install-server.sh | sudo bash on a fresh Debian / Ubuntu / Fedora / Arch / Alpine box to get the controller fully installed, repo cloned to ~/tinyagentos/, venv created, all deps installed, and both tinyagentos.service (port 6969) and qmd.service (port 7832) registered and started.

WhereWhat
/etc/systemd/system/tinyagentos.serviceMain controller systemd unit. Runs uvicorn on port 6969.
/etc/systemd/system/qmd.serviceEmbedding backend (embed / rerank / query ex

For agents

This page has a .md twin and JSON over the API.

Was this helpful?

Anonymous feedback helps us improve pages and translations.