Einrichtung im Browser · ratings.sh admin · nur auf diesem Rechner
Das Werkzeug hat viele Einstellungen: Kunden, Apps, Zugänge, Wettbewerber, KI mit drei Modellen, Benachrichtigung, Ampel, Themen, Fragen, Ereignisse und den Zuschnitt des Berichts. Statt sie in einer JSON-Datei zu suchen, öffnet ein Befehl eine Seite im Browser. Sie stellt jede Einstellung als Frage in Klartext, mit Beispiel und Vorgabe, prüft jede Eingabe sofort mit denselben Regeln wie die Skripte und speichert erst, wenn alles stimmt, und vorher legt sie eine Sicherung an.
Was möchten Sie tun? › Eine neue App eintragen › Zugangsschlüssel hinterlegen › KI-Analyse einschalten › Reiter und Funktionen des Berichts Wie heißt die App? Kasse Nord Apple-ID der App (aus dem Store-Link) 1546732190 ✓ passt Länder für die Store-Note DE AT CH Nicht gespeichert: Konfiguration · 0 Fehler
Wozu?
Die Konfiguration ist eine Datei, config/config.json, dazu kommen die Themenwörter, die vorgefertigten Fragen und die Ereignisse. Wer sie von Hand pflegt, vertippt sich, vergisst ein Komma oder schreibt aus Versehen einen Schlüssel in die Datei. Die Einrichtung im Browser nimmt dir das ab und sagt dir sofort, was fehlt.
„Eine neue App eintragen“, „KI-Analyse einschalten“, „Reiter und Funktionen des Berichts“: Du wählst, was du tun willst, die Seite springt zum passenden Schritt.
Zu jeder Einstellung eine Frage, eine Erklärung, warum sie zählt, ein Beispiel und die Vorgabe des Programms. Deutsch und Englisch, hell und dunkel.
Jede Eingabe geht kurz nach dem letzten Tastendruck an den Dienst und wird mit den Prüfregeln der Skripte geprüft. Was bei der Einrichtung durchgeht, geht auch beim Abruf durch.
Alle Einträge einer Liste auf einen Blick, der gewählte daneben zum Bearbeiten. Neue Einträge sind sofort gewählt.
Wer nichts ändert, behält die Vorgabe. Gespeichert werden nur Abweichungen, sodass spätere bessere Vorgaben des Programms automatisch gelten.
Bevor eine Datei überschrieben wird, kommt die alte Fassung in den Sicherungsordner. Eine Datei mit Fehlern wird nie geschrieben.
Starten
Die Seite läuft über einen kleinen Dienst auf deinem Rechner. Er läuft nur, solange du ihn gestartet hast, und ist von keinem anderen Rechner aus erreichbar. Auf einem Server läuft er nicht.
./ratings.sh admin, im Kurzmenü 7 oder im großen Menü 9. Der Browser öffnet die Seite mit einem frischen Zugangstoken.
Links die Schritte, in der Mitte die Fragen. Rote Zahlen in der Schrittleiste sind Fehler, gelbe Hinweise. Unten steht immer, was noch nicht gespeichert ist.
„Speichern“ schreibt alle geänderten Dateien ohne Fehler. „Beenden“ oben rechts stoppt den Dienst, Strg+C im Fenster ebenso.
Andere Konfiguration? ./ratings.sh admin --config pfad/zur/config.json bearbeitet eine andere Datei, zum Beispiel die eines zweiten Kunden. Fehlt die Datei, startet die Seite mit der Vorlage config.example.json.
Die Schritte
Die Reihenfolge ist ein Vorschlag für die erste Einrichtung. Später springst du direkt zu dem Schritt, den du brauchst, oder wählst auf der Startseite eine Aufgabe.
Aufgaben zum Anklicken und der Stand der Konfiguration: welche Datei, wie viele Kunden und Apps, ob KI und Benachrichtigung an sind.
Adresse des Berichts für andere, Wartezeit zwischen zwei Abrufen, Startdatum des ersten Abrufs, Ordner, Sicherungen, Protokoll.
Apple-Schlüssel (.p8) und Google-Dienstkonto, als Pfad zu einer Datei oder als Name einer Umgebungsvariable. Nie der Schlüssel selbst.
Je Kunde die Apps mit Apple-ID oder Google-Paketname, Ländern für die Store-Note, Zielgruppe und Code-Familie (Apps aus einem gemeinsamen Code).
Ab wann eine App gelb oder rot wird und ab wie vielen Apps ein Problem als gemeinsamer Code gilt, als Sätze mit Zahlenfeldern. Die Regel „offene 1–2 ★ ohne Antwort“ ist ein Häkchen, Vorgabe aus.
Je Personengruppe eine Ansicht: bis zu acht eigene Reiter, darauf die Funktionen des Berichts in deiner Reihenfolge; exportierbar und importierbar. Mehr unten.
Anbieter, Name der Schlüsselvariable, je Anbieter drei Modelle (Analyse, KI-Anfragen, KI-Crashanalyse), Monatsbudget, was die KI tun darf, die Sicherheitsschalter der Crash-Analyse.
Fremde Apple-Apps je Kunde, aus dem öffentlichen Feed, ohne Zugang zu fremden Konten.
E-Mail, Slack, Teams oder Webhook nach dem täglichen Lauf, mit Auslösern: neue schlechte Rezensionen, Ampelwechsel, Absturzsprung. Mit Feld „Testnachricht senden“: Weg wählen, Text schreiben, absenden.
Newsletter, Störung, Werbeaktion: erscheint in den Diagrammen, damit du einen Ausschlag erklären kannst.
Woran der Bericht „Anmeldung“, „Absturz“ und Co. erkennt, mit Testfeld: Beispieltext eingeben und sehen, welche Themen treffen.
Die vorgefertigten Fragen, die im Reiter „KI-Anfragen“ zum Anklicken bereitstehen.
Alle fünf Dateien vollständig, wie gespeichert oder mit deinen Änderungen, mit Knopf zum Kopieren. Hier lässt sich nichts eingeben.
Alle Fehler und Hinweise auf einen Blick, je Datei der Stand, dann „Speichern“.
Sofort geprüft
Jedes Feld prüft zuerst selbst das Format, etwa ob eine Apple-ID nur aus Ziffern besteht. Kurz nach dem letzten Tastendruck schickt die Seite die ganze Datei an den Dienst, und der prüft sie mit genau den Regeln, mit denen auch collect.py und report.py sie lesen. Jede Meldung landet bei dem Schritt, zu dem sie gehört.
Ansichten
Im Schritt „Ansichten“ legst du je Personengruppe fest, wie der Bericht aussieht: bis zu acht eigene Reiter mit Namen, darauf die 46 Funktionen des Berichts (Antwortkarten, Ampel, Tabellen, Diagramme einzeln oder alle) in deiner Reihenfolge, jede Funktion nur einmal. Die Standardansicht wird index.html, jede weitere ansicht-<name>.html; eine Ansicht ohne KI enthält keinen KI-Text. Ansichten lassen sich als JSON exportieren und anderswo importieren. Gedruckt wird je Reiter genau das, was er zeigt.
Rechts siehst du den Bericht im Kleinen: Reiterleiste oben, darunter die Funktionen des gewählten Reiters als Kärtchen mit einem Symbol dafür, wie sie aussehen (Tabelle, Kacheln, Liste, Diagramm). Klick öffnet ein Fenster.
„+ Funktion“ zeigt nur, was noch frei ist. Einzeldiagramme darfst du mehrfach legen. Entfernst du einen Reiter, werden seine Funktionen wieder frei.
Die Standardansicht wird index.html, jede weitere eine eigene Datei. Ohne KI enthält die Datei keinen KI-Text. Feste Reiter (Wettbewerber, KI-Anfragen, KI-Crashreports) je Ansicht an oder aus, „Datenstand“ immer zuletzt.
Eine Ansicht als JSON exportieren und in einer anderen Installation importieren; Vorlagen „Standard“ und „Minimal“ zum Starten.
Speichern
„Speichern“ schreibt jede geänderte Datei einzeln. Für jede gilt derselbe Weg; scheitert eine Station, bleibt die Datei auf der Platte, wie sie war.
Sicherheit
Die Einrichtung im Browser ist eine bewusste Ausnahme von der Regel „kein Server“. Deshalb ist sie so gebaut, dass sie nur von dir, nur auf diesem Rechner und nur für fünf Dateien funktioniert. Sie stellt keine Verbindung ins Internet her.
Der Dienst hört nur auf die lokale Adresse. Von einem anderen Rechner im Netz ist er nicht erreichbar.
Bei jedem Start entsteht ein neues, zufälliges Token. Der Browser bekommt es nur im Adressteil nach dem #, der nie an einen Server geht; in der Seite selbst steht es nicht.
Anfragen von fremden Webseiten weist der Dienst ab, ebenso Anfragen unter einem fremden Hostnamen. Das schützt davor, dass eine geöffnete Webseite heimlich die Konfiguration ändert.
Konfiguration, Themen, Fragen, Ereignisse. Einen Pfad aus der Anfrage nimmt der Dienst nie an; andere Dateien kann die Seite weder lesen noch schreiben.
Die Seite fragt nur nach dem Namen einer Umgebungsvariable oder dem Pfad zu einer Schlüsseldatei. Steht Schlüsseltext in der Konfiguration, verweigert sie das Speichern. Ob eine Variable gesetzt ist, beantwortet der Dienst mit ja oder nein, den Wert liest er nie aus.
Vor jedem Speichern eine Kopie der alten Fassung. Hat jemand die Datei inzwischen geändert, wird nicht überschrieben.
Auf dem Server gibt es diese Seite nicht. Der veröffentlichte Bericht ist eine einzelne HTML-Datei ohne Dienst. Die Einrichtung läuft nur dort, wo du ./ratings.sh admin startest, und nur, bis du sie beendest.
Die fünf Dateien
Im Schritt „Dateien ansehen“ siehst du jede davon im Ganzen, wie sie auf der Platte liegt oder mit deinen Änderungen. Wer lieber direkt in der Datei arbeitet, kann das weiter tun; die Seite erkennt fremde Änderungen.
| Datei | Inhalt | Sicherung vor dem Speichern |
|---|---|---|
config/config.json | Kunden, Apps, Zugänge (nur Namen und Pfade), Wettbewerber, KI, Benachrichtigung, Ampel, Weiche, Grundeinstellungen | Kopie im Sicherungsordner |
config/themen.json | Themen mit Suchbegriffen und Bereich (App oder Anbieter) | Kopie im Sicherungsordner |
config/fragen.json | vorgefertigte Fragen für „KI-Anfragen“ | Kopie im Sicherungsordner |
data/ereignisse.json | Ereignisse für die Diagramme | geprüftes ZIP des Datenordners |
Kommentar-Schlüssel wie _hinweis und unbekannte Zusatzschlüssel schreibt die Seite unverändert zurück. Wie viele Sicherungen bleiben, bestimmt settings.backupKeep.
Wenn etwas nicht klappt
Die Meldungen stehen auf der Seite beim passenden Schritt, vollständig und ohne Abkürzung. Die Prüfmeldungen der Skripte sind deutsch, die Seite selbst gibt es auf Deutsch und Englisch.
Der Dienst ist beendet oder das Token ist von einem früheren Start. ./ratings.sh admin neu starten, die Seite öffnet sich mit neuem Token.
Jemand hat die Datei nebenher bearbeitet. Neu laden, Eingaben erneut machen; überschrieben wird nichts.
Kein Fehler, das Speichern geht. Vor dem Abruf die Variable setzen, zum Beispiel in ~/.zshrc.
Im Feld steht der Schlüssel selbst. Dort gehört nur der Name hin, etwa OPENAI_API_KEY.
Laufende Skripte und der KI-Fragedienst lesen die Einstellung beim Start. Neu starten und den Bericht neu erzeugen.
Den Schritt öffnen, die Meldung steht oben in der Karte und am Feld. „Prüfen und speichern“ listet alle auf einmal.