Arkane OS

Ausprobieren · Version 0.27

Bauen, prüfen, starten.

Das ganze System entsteht als ein einziges signiertes Abbild: make image baut den Kern und die eingebauten Cells, signiert jede einzeln und dazu ein Verzeichnis, das jede Prüfsumme nennt. arkctl image verify prüft diese Signaturen ohne Netzverbindung, qemu-run.sh startet genau das geprüfte Abbild. Kein Installationsprogramm, kein Download-Portal: ein Repository und eine Quittung.

  1. 1Bauen und starten
  2. 2Apps und eigene Cells
  3. 3KI-Agent anbinden
  4. 4Vorher wissen

1Bauen und starten

Vom Repository zum laufenden System.

  • Voraussetzungen

    Rust nightly mit dem Ziel x86_64-unknown-none (festgelegt in rust-toolchain.toml), bootimage, QEMU (qemu-system-x86) und binutils. KVM ist nicht nötig, aber die einzige Umgebung, in der Zahlen zur Geschwindigkeit etwas bedeuten.

  • Abbild bauen

    make image baut Kern und Cells, erzeugt beim ersten Lauf eigene Schlüssel und signiert das Ergebnis. Die Kette aus Hauptschlüssel, Liste erlaubter Signierer und Signatur des Abbilds ist echt; ihre Wurzel ist, wer baut.

  • Prüfen, dann starten

    arkctl image verify prüft die Quittung offline. qemu-run.sh startet das System ohne weiteren Eingriff, bis alle Cells laufen. Danach erreichbar: Weboberfläche unter https://localhost:9443, Chat-Schnittstelle auf Port 8081, MCP für App-Werkzeuge auf Port 8082.

$ git clone https://github.com/arkane-studio/arkane-os
$ cd arkane-os && make image
$ arkctl image verify dist-image/arkane-os-v0.27
$ dist-image/arkane-os-v0.27/qemu-run.sh

2Apps und eigene Cells

Eine App installieren ist dieselbe Vertrauensfrage wie eine Cell starten.

Ein App-Paket besteht aus einem Manifest und einem signierten Abbild der Cell und wird über seinen Inhalt angesprochen. arkctl app install prüft es gegen die Liste erlaubter Signierer und verweigert unbekannte Pakete, bevor irgendetwas davon läuft.

Eine eigene Cell beginnt mit arkctl new: ein Rust-Paket auf Basis von arkane-sdk, ein signierter Vertrag, dann arkctl bundle pack. arkctl manifest fill trägt die Prüfsumme des Abbilds ins Manifest ein. Ein grosses Modell zerlegt arkctl model pack in signierte Stücke von 2 MiB, damit Arkane es bei Bedarf nachladen kann.

Aktualisieren ohne Ausfall: arkctl cell rollout startet die Kopien einer Gruppe nacheinander neu, jeweils erst, wenn die vorige bereit ist. 802 Anfragen, keine fehlgeschlagen.

$ arkctl app install spin
$ arkctl app install shady-vendor.arkbundle
bundle verify failed (refusing to install): SignerNotAllowed
$ arkctl new my-cell && cd my-cell && arkctl bundle pack
$ arkctl model pack llama-6g.bin
$ arkctl cell rollout inference

Hinweis. Der Befehlsblock zeigt den Ablauf schematisch; die genaue Ausgabe hängt von Version und Paket ab.

3KI-Agent anbinden

Betrieb über MCP, ohne Mensch dazwischen.

Ein Agent bekommt ein eigenes Konto mit der Rolle operator, also nur so viele Rechte wie nötig; das erste Konto muss admin sein. Mit dem Token aus seiner Anmeldung ruft der Agent POST https://<host>:9443/mcp auf: 13 Werkzeuge, jede Änderung im Protokoll, bevor sie wirkt.

Das Muster: deploy_diff nennt die geplanten Änderungen, deploy_apply bekommt sie als expect_ops zurück. Hat sich der Zustand inzwischen geändert, bricht die Anwendung ab. So handelt kein Agent auf einer veralteten Annahme.

Wird das Konto des Agenten gelöscht oder seine Rolle geändert, ist sein Token sofort ungültig (ARK_TOKEN_INVALID); er muss sich neu anmelden und bekommt die neue Rolle. Nach fünf falschen Passwörtern für einen Namen antwortet die Anmeldung mit 429, nennt den Grund der Sperre und wie lange sie dauert (Retry-After). Die Anmeldung für die Weboberfläche und die für Tokens zählen getrennt.

$ arkctl users init && arkctl users add admin --role admin
$ arkctl users add agent --role operator       # nur nötige Rechte

# Seite des Agenten: ein MCP-Aufruf
POST https://<host>:9443/mcp
Authorization: Bearer <token>
{ "method": "tools/call",
  "params": { "name": "deploy_diff", "arguments": { "manifest": "…" } } }

{ "method": "tools/call",
  "params": { "name": "deploy_apply",
              "arguments": { "manifest": "…", "expect_ops": [ … ] } } }

# Zugang in der Weboberfläche abgeschaltet: jeder Aufruf
403 ARK_MCP_DISABLED
Anleitung für Clients
docs/sdk/mcp_ops.md
Vorführung
make mcp-ops-demo
Fakten für Agenten
facts.json, alle Zahlen mit Bedingungen · llms.txt, die Kurzfassung
Rollen
viewer: 7 Werkzeuge, nur lesend · operator und admin: alle 13

4Vorher wissen

Was man vor dem ersten Start wissen sollte.

  • Ziel

    Das Abbild ist für QEMU mit KVM gebaut. Betrieb direkt auf der Hardware kommt frühestens nach 1.0.

  • Schlüssel

    Ein frischer Checkout erzeugt eigene Schlüssel. Die Signaturkette ist echt, aber ihre Wurzel ist, wer baut; es gibt keinen zentralen Signierer.

  • TCG

    Ohne KVM läuft alles, nur langsamer. Das Gate mit dem 6-GiB-Modell brauchte unter TCG gut 12 Minuten, unter KVM gut 3 Minuten (Läufe vom 23. und 24.10.2026 auf zwei verschiedenen Rechnern). Zahlen zur Geschwindigkeit aus TCG sagen nichts aus.

  • Gates

    Der volle Testlauf umfasst heute 68 Gates; vor jeder Version müssen alle bestehen.

  • Stand

    Das Repository ist massgebend: git tag und git log für die Geschichte, docs/roadmap/ für die Planung, docs/bench/ für die Messberichte.