← Zpět na AURA

AURA Link
Napoj cokoliv do widgetu.

Jarvis, domácí server, e-shop, CI pipeline, počet objednávek, teplota v sauně. Když to umí vrátit malý JSON přes HTTPS, AURA to zobrazí jako krásný widget na iPhonu — a část i v CarPlay.

1 · Jak to funguje

  1. Někde vystavíš HTTPS endpoint, který vrací JSON níže (statický soubor stačí!).
  2. V aplikaci AURA vytvoříš widget AURA Link a vložíš URL (Designer → Obsah → AURA Link → „Načíst a otestovat").
  3. Widget se sám obnovuje (výchozí ~5 min) a hodnota se propisuje na plochu, zamčenou obrazovku i do auta.

2 · Formát odpovědi

{
  "title":    "Jarvis",              // titulek widgetu
  "value":    "37 úkolů",            // HLAVNÍ hodnota (string, číslo i bool)
  "subtitle": "3 hotové dnes",       // řádek pod hodnotou
  "symbol":   "brain.head.profile",  // SF Symbol (developer.apple.com/sf-symbols)
  "progress": 0.62                   // 0–1 → prstenec/průběh
}
PoleTypPopis
valuePOVINNÉstring · number · boolHlavní zobrazená hodnota. Čísla se formátují automaticky, bool jako ✓/✕.
titlevolitelnéstringTitulek. Když chybí, použije se titulek nastavený v aplikaci.
subtitlevolitelnéstringDoplňkový řádek (detail, čas, kontext).
symbolvolitelnéstringJméno SF Symbolu pro slot Ikona (např. bolt.fill, server.rack).
progressvolitelnénumber 0–1Vyplní slot Průběh (prstenec).

Neznámá pole se ignorují — můžeš si do odpovědi klidně přidat vlastní. Odpověď max 64 kB, timeout 8 s.

3 · Bezpečnost

4 · Rychlé recepty

Statický soubor (nejjednodušší test)

# kamkoliv, kde máš HTTPS hosting (Cloudflare Pages, GitHub Pages…)
echo '{"title":"Test","value":"Funguje!","symbol":"checkmark.seal.fill"}' > aura.json

Jarvis / domácí server (Mac, Raspberry…)

# 1) endpoint — jeden soubor server.py:
from http.server import BaseHTTPRequestHandler, HTTPServer
import json

class H(BaseHTTPRequestHandler):
    def do_GET(self):
        data = {"title": "Jarvis",
                "value": "37 úkolů",
                "subtitle": "3 hotové dnes",
                "symbol": "brain.head.profile",
                "progress": 0.62}
        body = json.dumps(data).encode()
        self.send_response(200)
        self.send_header("Content-Type", "application/json")
        self.end_headers()
        self.wfile.write(body)

HTTPServer(("127.0.0.1", 8477), H).serve_forever()

# 2) HTTPS zadarmo přes Tailscale (doma i na cestách):
tailscale serve --bg 8477
# → https://tvuj-mac.tailnet-xxxx.ts.net → vlož do AURA

Tip pro Jarvis: nech Jarvise při každém cyklu zapisovat aura.json (počet úkolů, poslední akce, nálada systému…) a servíruj ho přes tailscale serve. Widget se stane živým oknem do tvého druhého mozku.

Nech si endpoint vygenerovat AI

Prompt: „Napiš mi endpoint (Node/Python/Workers), který vrací JSON
{title, value, subtitle, symbol, progress} podle formátu
aura-widgets.pages.dev/docs a nasaď ho na Cloudflare Workers."

Cloudflare Worker (hodnota z čehokoliv)

export default {
  async fetch() {
    // sem dosaď vlastní logiku (DB, API, počítadlo…)
    const orders = 12;
    return Response.json({
      title: "E-shop",
      value: `${orders} objednávek`,
      subtitle: "dnes",
      symbol: "cart.fill",
      progress: Math.min(orders / 20, 1)
    });
  }
}

5 · Ověření

curl -s https://tvuj-endpoint/aura.json | python3 -m json.tool

V aplikaci pak Designer → widget AURA Link → „Načíst a otestovat" — uvidíš živou hodnotu rovnou v náhledu.

Formát je stabilní (v1). Nová pole budou vždy jen volitelná — existující endpointy se nikdy nerozbijí.