|
| 1 | +<div align="center"> |
| 2 | + |
| 3 | +# 🧠 The AI OS |
| 4 | + |
| 5 | +### Five open-source AI agents. One operating system. |
| 6 | + |
| 7 | +<p align="center"> |
| 8 | + <a href="LICENSE"><img src="https://img.shields.io/badge/License-MIT-8B5CF6?style=for-the-badge" alt="MIT License"></a> |
| 9 | + <img src="https://img.shields.io/badge/Windows-first-0A84FF?style=for-the-badge&logo=windows&logoColor=white" alt="Windows first"> |
| 10 | + <img src="https://img.shields.io/badge/Python-3.9+-3776AB?style=for-the-badge&logo=python&logoColor=white" alt="Python"> |
| 11 | + <img src="https://img.shields.io/badge/Node-%E2%89%A520-339933?style=for-the-badge&logo=nodedotjs&logoColor=white" alt="Node"> |
| 12 | + <img src="https://img.shields.io/badge/Bun-1.3-000000?style=for-the-badge&logo=bun&logoColor=white" alt="Bun"> |
| 13 | +</p> |
| 14 | + |
| 15 | +<p align="center"> |
| 16 | + <img src="https://img.shields.io/badge/opencode-coding_engine-EC4899?style=flat-square" alt="opencode"> |
| 17 | + <img src="https://img.shields.io/badge/hermes-autonomous_agent-F59E0B?style=flat-square" alt="hermes"> |
| 18 | + <img src="https://img.shields.io/badge/openclaw-channel_gateway-EF4444?style=flat-square" alt="openclaw"> |
| 19 | + <img src="https://img.shields.io/badge/openclaw--os-dashboard-06B6D4?style=flat-square" alt="openclaw-os"> |
| 20 | + <img src="https://img.shields.io/badge/LifeOS-shared_skills-8B5CF6?style=flat-square" alt="LifeOS"> |
| 21 | +</p> |
| 22 | + |
| 23 | +**[Quickstart](#-60-second-quickstart)** · **[Architecture](#️-architecture)** · **[Commands](#️-command-reference)** · **[Full docs](README.aios.md)** · **[Website](docs/index.html)** |
| 24 | + |
| 25 | +</div> |
| 26 | + |
| 27 | +--- |
| 28 | + |
| 29 | +**The AI OS** takes five independent open-source agent projects and makes them work as **one auto-configured system** you drive from a single command: **`aios`**. |
| 30 | + |
| 31 | +One control script. One config file. One `.env`. `aios setup` installs every toolchain, wires the projects together, and mounts your shared skills. `aios start` brings the whole stack up — with an interactive dashboard as the **front door**. |
| 32 | + |
| 33 | +> You can't fuse three runtimes and five package managers into a single file — that would just break everything. So "one file" here means **one control surface** (`aios`) over five real, unmodified projects, not a Frankenstein merge. It installs, configures, wires, runs, tests, and debugs all of them. |
| 34 | +
|
| 35 | +<div align="center"> |
| 36 | + |
| 37 | +``` |
| 38 | +aios setup → aios start → aios url |
| 39 | +``` |
| 40 | + |
| 41 | +</div> |
| 42 | + |
| 43 | +## ✨ What you get |
| 44 | + |
| 45 | +| | | |
| 46 | +|---|---| |
| 47 | +| **One command to rule them all** | `aios setup` installs bun / pnpm / uv / Node, installs every project's deps, builds what needs building, and wires it all together. Idempotent and safe to re-run. | |
| 48 | +| **One key, every agent** | Set your model provider + API key **once** in `.env`. `aios` maps it into each project's own config, so all four agents share one key. Change it in one place. | |
| 49 | +| **A dashboard as the front door** | The **openclaw-os** generative-UI workspace is served inside the gateway — sessions, live apps, charts, and forms in one pane of glass. | |
| 50 | +| **Health-checked orchestration** | `aios start` waits until every service is actually up. `aios status` shows ports, PIDs, and health. `aios stop` kills the whole tree — no orphans. | |
| 51 | +| **Doctor that tells you the fix** | `aios doctor` diagnoses toolchains, config, deps, and port conflicts — and prints the exact command to fix each one. | |
| 52 | +| **Unified testing & debugging** | `aios test` runs every project's real suite. `aios test --smoke` drives the whole stack end-to-end. `aios debug` dumps resolved config with secrets masked. | |
| 53 | +| **Windows-first, cross-platform** | Built and verified on Windows 11 (PowerShell), with POSIX / macOS / Linux / WSL parity. | |
| 54 | +| **Nothing hidden** | Zero-dependency Python control script. Every project stays intact and upgradable. Your secrets never leave `.env`. | |
| 55 | + |
| 56 | +## 🧩 The five projects |
| 57 | + |
| 58 | +| Project | Role in The AI OS | Port | Upstream | |
| 59 | +|---|---|---|---| |
| 60 | +| **opencode** | Coding-agent engine (headless server + SDK) | `4096` | [opencode.ai](https://opencode.ai) | |
| 61 | +| **hermes** | Autonomous agent — memory, cron, learning loop, dashboard | `9119` | [Nous Research](https://github.com/NousResearch/hermes-agent) | |
| 62 | +| **openclaw** | Multi-channel messaging gateway + plugin host | `18789` | [openclaw.ai](https://github.com/openclaw/openclaw) | |
| 63 | +| **openclaw-os** | The dashboard / front door (served inside openclaw) | `18789/plugins/openclawos/` | [thesys](https://github.com/thesysdev/openclaw-os) | |
| 64 | +| **LifeOS** | Shared identity + skills mounted into the agents | — | [danielmiessler/LifeOS](https://github.com/danielmiessler/LifeOS) | |
| 65 | + |
| 66 | +## 🚀 60-second quickstart |
| 67 | + |
| 68 | +**Windows (PowerShell):** |
| 69 | + |
| 70 | +```powershell |
| 71 | +cd "The AI OS" |
| 72 | +
|
| 73 | +.\aios.ps1 setup # install toolchains + deps, create .env, render config, build, wire |
| 74 | +# → the wizard asks for your model provider + API key |
| 75 | +
|
| 76 | +.\aios.ps1 start # bring up all services |
| 77 | +.\aios.ps1 url # print the dashboard URL and open it |
| 78 | +``` |
| 79 | + |
| 80 | +**macOS / Linux / WSL / Git Bash:** |
| 81 | + |
| 82 | +```bash |
| 83 | +./aios setup && ./aios start && ./aios url |
| 84 | +``` |
| 85 | + |
| 86 | +Something off? Run **`aios doctor`** first — it names the problem and the exact fix. |
| 87 | + |
| 88 | +## 🗺️ Architecture |
| 89 | + |
| 90 | +``` |
| 91 | + ┌────────────────────────────────────────┐ |
| 92 | + │ openclaw-os · dashboard / front door │ |
| 93 | + │ http://127.0.0.1:18789/plugins/openclawos/ |
| 94 | + └────────────────────┬───────────────────┘ |
| 95 | + served as a plugin inside |
| 96 | + ┌────────────────────▼───────────────────┐ |
| 97 | + │ openclaw gateway :18789 │ channels + plugin host |
| 98 | + └─────────────────────────────────────────┘ |
| 99 | + ┌────────────────────────────┐ ┌────────────────────────────┐ |
| 100 | + │ hermes dashboard :9119 │ │ opencode server :4096 │ |
| 101 | + │ autonomous · memory · cron│ │ coding engine · HTTP/SDK │ |
| 102 | + └────────────────────────────┘ └────────────────────────────┘ |
| 103 | + ┌─────────────────────────────────────────┐ |
| 104 | + │ LifeOS — shared skills mounted in agents │ |
| 105 | + └─────────────────────────────────────────┘ |
| 106 | +
|
| 107 | + Single source of truth: aios.config.yaml + .env → rendered into each project's config |
| 108 | + Single control surface: ./aios <command> → state kept under .aios/ |
| 109 | +``` |
| 110 | + |
| 111 | +**hermes and openclaw** both do "gateway" work, so by design they run as **separate, toggleable** |
| 112 | +services (9119 vs 18789) instead of being merged. Default split: openclaw = channels + dashboard, |
| 113 | +hermes = autonomous jobs + memory + cron, opencode = the coding engine both can call. |
| 114 | + |
| 115 | +## 🎛️ Command reference |
| 116 | + |
| 117 | +| Command | What it does | |
| 118 | +|---|---| |
| 119 | +| `aios setup` | Install toolchains + deps, run the secrets wizard, render config, build, mount skills, wire the dashboard. Idempotent. | |
| 120 | +| `aios start [svc\|all]` | Start service(s), wait on health checks, keep unified logs. | |
| 121 | +| `aios stop [svc\|all]` | Stop service(s); kills the whole process tree (no orphans). | |
| 122 | +| `aios status` | Table of each service: state, port, PID, health. | |
| 123 | +| `aios doctor` | Diagnose tools, config, deps, ports — with exact fixes. | |
| 124 | +| `aios test [svc\|all]` | Run each project's real test suite; aggregated summary. | |
| 125 | +| `aios test --smoke` | Health-based end-to-end check across the stack. | |
| 126 | +| `aios debug [svc]` | Dump resolved config, masked secrets, service state, logs. | |
| 127 | +| `aios logs [svc] -n N` | Tail a service log from `.aios/logs/`. | |
| 128 | +| `aios wire` | (Re)install the openclaw-os dashboard plugin into openclaw. | |
| 129 | +| `aios update` | Reinstall deps + re-render config after project updates. | |
| 130 | +| `aios url` | Print the dashboard + service URLs. | |
| 131 | + |
| 132 | +## ⚙️ Configuration |
| 133 | + |
| 134 | +- **`.env`** — secrets only (`AIOS_LLM_PROVIDER`, `AIOS_LLM_API_KEY`, `AIOS_DEFAULT_MODEL`, optional channel tokens). Git-ignored automatically. |
| 135 | +- **`aios.config.yaml`** — non-secret wiring (enabled services, ports, model routing, health URLs). Copy from `aios.config.example.yaml`. |
| 136 | + |
| 137 | +Edit one key in `.env`, run `aios setup`, and every agent is reconfigured. Full reference in **[README.aios.md](README.aios.md)**. |
| 138 | + |
| 139 | +## 🙏 Built on |
| 140 | + |
| 141 | +The AI OS is an integration layer. All the heavy lifting is done by these excellent open-source |
| 142 | +projects — go star them: |
| 143 | + |
| 144 | +- **[opencode](https://opencode.ai)** — the open-source AI coding agent |
| 145 | +- **[hermes-agent](https://github.com/NousResearch/hermes-agent)** by Nous Research — the self-improving agent |
| 146 | +- **[openclaw](https://github.com/openclaw/openclaw)** — the personal AI assistant gateway |
| 147 | +- **[openclaw-os](https://github.com/thesysdev/openclaw-os)** by thesys — the generative-UI workspace |
| 148 | +- **[LifeOS](https://github.com/danielmiessler/LifeOS)** by Daniel Miessler — the AI-powered life OS |
| 149 | + |
| 150 | +Each project keeps its own license (all MIT / open source); their `LICENSE` files ship unmodified. |
| 151 | + |
| 152 | +## 📄 License |
| 153 | + |
| 154 | +The `aios` orchestrator and docs are released under the **MIT License**. Bundled projects retain |
| 155 | +their own licenses. See [`LICENSE`](LICENSE). |
| 156 | + |
| 157 | +<div align="center"> |
| 158 | +<sub>Built with <a href="https://claude.com/claude-code">Claude Code</a> · The AI OS</sub> |
| 159 | +</div> |
0 commit comments