OneTwoApps App Ratings & ReviewsEinrichtung im Browser

Einrichtung im Browser · ratings.sh admin · nur auf diesem Rechner

Jede Einstellung als Frage. Geprüft, bevor sie gespeichert wird.

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.

14Schritte, von „Was möchten Sie tun?“ bis Speichern
4Dateien, mehr darf die Seite nicht schreiben
0Schlüssel in der Datei, nur Namen von Umgebungsvariablen
1Sicherung vor jedem Speichern
Beispiel

So fragt die Seite

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?

Niemand soll Schlüsselnamen kennen müssen, um eine App einzutragen.

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.

Aufgaben statt DateienStartseite

„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.

Fragen in Klartextjedes Feld

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.

Sofort geprüftdieselben Regeln

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.

Listen links, Formular rechtsKunden, Apps, Themen …

Alle Einträge einer Liste auf einen Blick, der gewählte daneben zum Bearbeiten. Neue Einträge sind sofort gewählt.

Nur, was abweichtAmpel, Weiche, Bericht

Wer nichts ändert, behält die Vorgabe. Gespeichert werden nur Abweichungen, sodass spätere bessere Vorgaben des Programms automatisch gelten.

Mit Sicherungvor dem Speichern

Bevor eine Datei überschrieben wird, kommt die alte Fassung in den Sicherungsordner. Eine Datei mit Fehlern wird nie geschrieben.

Starten

Ein Befehl, eine Seite, und nach der Arbeit „Beenden“.

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.

1

Starten

./ratings.sh admin, im Kurzmenü 7 oder im großen Menü 9. Der Browser öffnet die Seite mit einem frischen Zugangstoken.

2

Einstellen

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.

3

Speichern und beenden

„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

Vierzehn Schritte, in fünf Gruppen. Du musst nicht alle durchgehen.

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.

Was möchten Sie tun?Start

Aufgaben zum Anklicken und der Stand der Konfiguration: welche Datei, wie viele Kunden und Apps, ob KI und Benachrichtigung an sind.

GrundeinstellungenKonfiguration

Adresse des Berichts für andere, Wartezeit zwischen zwei Abrufen, Startdatum des ersten Abrufs, Ordner, Sicherungen, Protokoll.

ZugängeKonfiguration

Apple-Schlüssel (.p8) und Google-Dienstkonto, als Pfad zu einer Datei oder als Name einer Umgebungsvariable. Nie der Schlüssel selbst.

Kunden und AppsKonfiguration

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).

Ampel und WeicheKonfiguration

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.

AnsichtenBericht

Je Personengruppe eine Ansicht: bis zu acht eigene Reiter, darauf die Funktionen des Berichts in deiner Reihenfolge; exportierbar und importierbar. Mehr unten.

KI-AnalyseKonfiguration

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.

WettbewerberKonfiguration

Fremde Apple-Apps je Kunde, aus dem öffentlichen Feed, ohne Zugang zu fremden Konten.

BenachrichtigungKonfiguration

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.

Ereignisseereignisse.json

Newsletter, Störung, Werbeaktion: erscheint in den Diagrammen, damit du einen Ausschlag erklären kannst.

Thementhemen.json

Woran der Bericht „Anmeldung“, „Absturz“ und Co. erkennt, mit Testfeld: Beispieltext eingeben und sehen, welche Themen treffen.

Fragen an die KIfragen.json

Die vorgefertigten Fragen, die im Reiter „KI-Anfragen“ zum Anklicken bereitstehen.

Dateien ansehennur lesen

Alle fünf Dateien vollständig, wie gespeichert oder mit deinen Änderungen, mit Knopf zum Kopieren. Hier lässt sich nichts eingeben.

Prüfen und speichernAbschluss

Alle Fehler und Hinweise auf einen Blick, je Datei der Stand, dann „Speichern“.

Sofort geprüft

Ein falscher Wert fällt beim Tippen auf, nicht erst beim nächtlichen Abruf.

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.

Kunden und Apps · App „Kasse Nord“Apple-ID der Appabc 1546Nur die Zahl, 5 bis 15 Ziffern.1546732190✓ passt zum FormatPrüfung 400 ms nach dem letztenTastendruck, Regeln der SkripteSchrittleisteGrundeinstellungenKunden und AppsZugängeKI-Analyse1
Fehler zeigen sich dort, wo sie entstehenEine falsche Apple-ID färbt das Feld rot und schreibt den Grund darunter, vollständig, nicht abgekürzt. In der Schrittleiste steht die Zahl der Fehler an „Kunden und Apps“. Nach der Korrektur verschwindet beides. Gespeichert wird nur eine Datei ohne Fehler; Hinweise, etwa eine noch nicht gesetzte Umgebungsvariable, halten das Speichern nicht auf.

Ansichten

Jede Personengruppe bekommt ihren Bericht. Was angezeigt wird, wird auch gedruckt.

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.

Vorschau statt FormularReiter und Karten

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.

Jede Funktion einmal46 Funktionen

„+ Funktion“ zeigt nur, was noch frei ist. Einzeldiagramme darfst du mehrfach legen. Entfernst du einen Reiter, werden seine Funktionen wieder frei.

Eine Datei je Gruppeindex.html · ansicht-<name>.html

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.

MitnehmenExport · Import

Eine Ansicht als JSON exportieren und in einer anderen Installation importieren; Vorlagen „Standard“ und „Minimal“ zum Starten.

Speichern

Vier Prüfungen, dann wird geschrieben. Danach sagt die Seite, was neu starten muss.

„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.

1 · PrüfenRegeln der Skripte,0 Fehler nötig2 · Unverändert?Datei seit dem Ladennicht fremd geändert3 · Sichernalte Fassung in denSicherungsordner4 · Schreibenatomar, Rechte 0600,unter der DatensperreGespeichert – bitte neu startenAlle Skripte lesen die Einstellungen beim Start.Läuft der KI-Fragedienst: Strg+C, dann ./ratings.sh ai-report.
Nichts wird halb geschriebenHat jemand die Datei inzwischen außerhalb der Seite geändert, lehnt der Dienst das Speichern ab und bittet, neu zu laden, damit keine Änderung verloren geht. Sonst wandert die alte Fassung in den Sicherungsordner, bei den Ereignissen als geprüftes ZIP des Datenordners. Danach erscheint ein Fenster: welche Dateien gespeichert wurden und dass laufende Skripte die alte Fassung behalten, bis sie neu starten.

Sicherheit

Eine Seite, die Konfiguration schreiben darf, muss eng begrenzt sein. Das ist sie.

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.

Nur 127.0.0.1Netz

Der Dienst hört nur auf die lokale Adresse. Von einem anderen Rechner im Netz ist er nicht erreichbar.

Token je StartZugang

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.

Herkunft geprüftOrigin · Host

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.

Genau fünf Dateienfeste Liste

Konfiguration, Themen, Fragen, Ereignisse. Einen Pfad aus der Anfrage nimmt der Dienst nie an; andere Dateien kann die Seite weder lesen noch schreiben.

Keine Schlüssel in der DateiGeheimnisse

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.

Sicherung und Konfliktvor dem Schreiben

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

Was die Seite liest und schreibt, steht hier vollständig.

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.

DateiInhaltSicherung vor dem Speichern
config/config.jsonKunden, Apps, Zugänge (nur Namen und Pfade), Wettbewerber, KI, Benachrichtigung, Ampel, Weiche, GrundeinstellungenKopie im Sicherungsordner
config/themen.jsonThemen mit Suchbegriffen und Bereich (App oder Anbieter)Kopie im Sicherungsordner
config/fragen.jsonvorgefertigte Fragen für „KI-Anfragen“Kopie im Sicherungsordner
data/ereignisse.jsonEreignisse für die Diagrammegeprü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

Meist ist der Dienst beendet oder die Datei wurde nebenher geändert.

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.

Seite lädt nichtsStart

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.

„… wurde inzwischen außerhalb des Werkzeugs geändert“Speichern

Jemand hat die Datei nebenher bearbeitet. Neu laden, Eingaben erneut machen; überschrieben wird nichts.

„Umgebungsvariable … ist nicht gesetzt“Hinweis

Kein Fehler, das Speichern geht. Vor dem Abruf die Variable setzen, zum Beispiel in ~/.zshrc.

„… sieht nicht wie der Name einer Umgebungsvariable aus“Fehler

Im Feld steht der Schlüssel selbst. Dort gehört nur der Name hin, etwa OPENAI_API_KEY.

Änderung wirkt nichtnach dem Speichern

Laufende Skripte und der KI-Fragedienst lesen die Einstellung beim Start. Neu starten und den Bericht neu erzeugen.

Schritt zeigt rote ZahlSchrittleiste

Den Schritt öffnen, die Meldung steht oben in der Karte und am Feld. „Prüfen und speichern“ listet alle auf einmal.