Skip to content

Releases: buckster123/ApexOS-RS

v0.1.0-beta — ApexOS-RS

Pre-release

Choose a tag to compare

@buckster123 buckster123 released this 05 Jul 15:57
v0.1.0-beta
445d55a

ApexOS-RS v0.1.0-beta — an AI agent that lives on the hardware in your drawer 🧠

The first public beta of ApexOS-RS: a self-contained AI agent operating system in one pure-Rust stack. Flash it onto a spare Pi, mini-PC, or old laptop and that board becomes a persistent, embodied, self-improving agent — one that keeps its own memories across reboots, has a face and a voice, reads its sensors, joins a colony of other nodes, edits its own personality, and can rebuild and hot-swap its own binary with an automatic safety net.

No Chromium. No Electron. No cloud required. Runs fully offline against a local model, or against an API — your call. Memories, soul, and data stay on your device.

This is a beta. It runs live, daily, on a real three-node colony — two Pi 5 kiosks (one carrying a full BME688 + MLX90640 sensor head) and an x86 laptop. The core loops are field-tested; broader hardware coverage is what a beta is for.


✨ What's in it

🔄 It rewrites itself. The frontier piece: the daemon rebuilds and hot-swaps its own binary from a committed git ref — gated by build → test → an adversarial LLM review of the diff — while a privileged watchdog health-checks the new process and automatically rolls back to the last good binary if it doesn't come up healthy. agentd runs non-root under ProtectSystem=strict, so even a buggy or compromised agent physically cannot brick the node. Proven on real hardware.

🧠 It remembers. Cerebro, a cognitive memory cortex (FTS5 + optional semantic embeddings) that survives reboots. The agent wakes up oriented — where it left off, its skills, its intentions — and consolidates memory nightly while idle, no prompting.

🌐 It's a colony. Nodes discover each other over mDNS, pair with one-time codes, message agent-to-agent, relay files, spawn sub-agents across nodes, and federate memories — provenance-stamped copies between separate memory stores, never a blind merge. They even exchange what they learned in their sleep: the nightly dream digest shares newly-consolidated skills across the mesh, echo-guarded so knowledge converges instead of ping-ponging. A GPU box can join and serve big models to the whole cluster with no restart.

🗣️ It has a voice. Fully local speech — Kokoro-82M neural TTS + Whisper STT, on-device — with optional cloud voices (ElevenLabs / OpenAI) and espeak as the always-works fallback. Runtime-tunable per node.

🧬 It evolves. The agent proposes and applies changes to its own identity (soul.md), policy, and plugins at runtime — every change reversible. Skills grow in memory under selection pressure. It can even request new hardware when it wants a capability it lacks.

🤖 It has a body. An expressive GPU-rendered face (12 emotions, gaze, blinks), air-quality + thermal sensing, camera vision, and GPIO. Embodiment scales with whatever hardware is actually present.

📱 It's reachable. An installable PWA / browser UI for headless nodes and phones — profile login (one-tap or PIN), streaming chat, tool approvals, a file browser, and voice. Label a USB stick APEX-* and it becomes a portable agent workspace.


🖥️ Runs on what you already have

Same binaries everywhere — the tier is just environment, no per-device builds:

Tier Hardware Notes
Nano Pi Zero 2W, any 512 MB board software renderer, FTS5 memory, API model
Micro Pi 4 1–2 GB semantic embeddings, small local or API model
Standard Pi 5, x86 mini-PC, M1 Mini Ollama 7–13B
Pro x86 + GPU (CUDA/ROCm/Metal) Ollama 30–70B local
Titan DGX Spark / Station 70B+, serves the mesh

One ~47 MB UI binary, ~115 MB RSS on a Pi 5, boots to UI in ~200 ms. Modes: kiosk (Pi + HDMI), headless (server/laptop, browser + PWA), desktop (x86 windowed).

🚀 Install

curl -fsSL https://raw.githubusercontent.com/buckster123/ApexOS-RS/main/install.sh | sudo bash

Auto-detects tier + mode. After install, any node serves the PWA at http://<node-ip>:8787; update later with apexos-update. See the README for flags and the manual path.

🔒 Security posture

An LLM with real capabilities on real hardware is an unusual attack surface, and we treat it that way: the model handles the chaos, Rust handles the system safety. Path confinement (TOCTOU-safe), per-agent workspace + identity stamping, a policy/approval gate that defaults to ask, systemd sandboxing, token-gated network surface, SSRF guarding (now covering encoded-IPv4 and IPv6 literals), self-update privilege separation, and an offline adversarial red-team suite over the wire protocol + confinement + guards. The trust model and an honest known-residuals list are in SECURITY.md. Keep nodes on a trusted LAN — the token gate is not designed for the open internet.

🤝 Try it, break it, tell us

  • Issues welcome — from install papercuts to architecture arguments.
  • Security findings: please disclose privately (see SECURITY.md).
  • Forking or building on it: see AGENTS.md. Apache-2.0 — attribution appreciated, upstreaming appreciated more.

License: Apache-2.0 · Built in the open, on the hardware you already own.