ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
翻譯準備中
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Wer sagt Ja? – Mehrspieler-Quiz zu den Wahlprogrammen von Bund und Ländern
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗Spielen: wersagtja.de
Ein Quiz zu Wahlprogrammen für bis zu acht Personen – zur Bundestagswahl 2025 und zu Landtagswahlen, je Wahl ein eigener Katalog. Eine Frage, alle Parteien: Wer sagt im Programm Ja? Wer richtig liegt, bekommt Punkte – wer schneller ist, mehr. Nach jeder Frage zeigt das Spiel für alle Parteien die Stelle im Programm mit Wortlaut, Seite und Link.
Punkte gibt es fürs Wissen über Programme, nie für eine eigene Meinung. Keine Konten, keine Datenbank, keine KI im Spiel: Das Spiel läuft zwischen den Browsern der Mitspielenden.
Alle Fragen stehen in public/fragen.json und werden hier gepflegt. Die Datei hat zwei Listen: wahlen und
fragen. Je Wahl:
| Feld | Inhalt |
|---|---|
id | Stabile Kennung aus Kleinbuchstaben und Ziffern, etwa btw25 oder be26 – steht in Adressen (#/be26/fragen) |
name, kurz, datum | Voller Name („Bundestagswahl 2025“), Kurzform für Knöpfe („Bund 2025“), Wahltag als ISO-Datum |
bisher | Nur für kommende Wahlen, freiwillig: die bei der letzten Wahl ins Parlament gewählten Parteien mit Quelle (wahl, parteien, quelle) – für die Ankündigungsseite |
parteien | Die Parteien dieser Wahl mit id, name, kurzname, farbe und programm_url – jede Wahl hat ihre eigene Liste. Leer für einen Platzhalter (vergangene Wahl ohne erfasste Programme oder kommende Wahl): steht in der Auswahl, ist aber nicht spielbar |
Die erste Wahl der Datei ist die Standardwahl: Sie gilt für Adressen ohne Wahl (#/fragen), alte Links bleiben so
gültig. Mit mehr als einer Wahl zeigt die Startseite eine Auswahl; ein Raum spielt immer die Wahl der Spielleitung,
Gäste folgen automatisch. Je Frage:
| Feld | Inhalt |
|---|---|
id | Stabile Kennung, über alle Wahlen eindeutig, nie ändern – die Aufnahmen heißen danach (frage-<id>.mp3, loesung-<id>.mp3); neue Wahlen bekommen ein Präfix (be-1) |
wahl | Kennung der Wahl, zu der die Frage gehört |
frage, beschreibung | Klare Ja/Nein-Frage mit Fragezeichen – zuspitzen ist erwünscht (siehe „Ausgewogenheit“) – und eine Erläuterung, die den heutigen Stand nennt |
positionen | Genau eine je Partei der Wahl: ja, nein, teils oder keine_aussage. Ja, Nein und teils immer mit wörtlichem zitat und beleg_url (Seite im Programm), keine Aussage mit begruendung, was durchsucht wurde |
zielkonflikte | Argumente beider Seiten mit Quelle (optional, leere Liste) |
ki_entwurf | true, solange die Positionen nicht von Menschen geprüft sind – das Spiel sagt das dann an |
geprueft | Je Position optional: { "von": "Volt Deutschland", "issue_url": "https://github.com/…/issues/12" }, wenn jemand die Position bestätigt hat – das Issue ist der Nachweis |
Was richtig ist, leitet das Spiel ab (src/katalog.ts): Gefragt wird immer, wer Ja sagt. Richtig sind nur
Parteien mit ja; „keine Aussage“ wird nie als Ja oder Nein gewertet und so angezeigt – ein Kreuz dort ist kein
Treffer, weil die Partei nicht Ja sagt. Eine Frage, zu der keine Partei Ja sagt, ist nicht spielbar – ebenso eine, bei der keine Partei Nein sagt oder
nichts dazu sagt, denn „teils“ zählt weder als richtig noch als falsch. npm run fragen zeigt je Wahl und Frage, wer Ja sagt, und meldet
Fehler; npm test prüft die Datei ebenso. Neue oder geänderte Fragen brauchen danach neue Aufnahmen
(npm run stimmen, kostet ElevenLabs-Credits) – ebenso jede neue Wahl die Ansage ihrer Antwortmöglichkeiten.
Zurzeit sind alle Fragen KI-Entwürfe, noch nicht von Menschen geprüft – das Spiel sagt das auf der Startseite und in jeder Auflösung.
Neue Fragen mit Belegen ergänzen: Die Programme liegen als PDF und Textauszug unter .cache/landtagswahlen/<wahl>/
(nicht eingecheckt, pdftotext -layout und pdftotext; bei Spaltensatz zusätzlich _sp.txt oder pdftotext -raw
als _raw.txt). Dort stehen die neuen Fragen in neue-fragen.json, je Partei die Recherche in neu-<kurz>.json nach
scripts/recherche/anleitung.md. npm run ergaenzen -- <wahl> prüft jedes Zitat wörtlich gegen den Programmtext und
zeigt, welche Fragen spielbar wären; mit --schreiben (und optional --nur id1,id2) kommen sie in public/fragen.json,
bestehende Fragen bleiben unverändert.
Zum Prüfen zeigt #/fragen alle Fragen mit Position, Wortlaut und Beleg jeder Partei, nach Partei filterbar
(#/fragen/volt); andere Wahlen stehen davor (#/be26/fragen/volt). Je Position öffnen „Position bestätigen“ und „Fehler melden“ ein vorausgefülltes GitHub-Issue mit
Frage, Partei, eingetragener Position, Zitat und Beleg (src/uebersicht.ts). Bestätigt jemand eine Position, kommt
das Issue als geprueft an die Position; Übersicht und Auflösung zeigen sie dann als geprüft.
Das Spielprinzip bleibt: Gefragt wird immer, wer Ja sagt, nie nach Nein. Die Fragen dürfen und sollen zuspitzen – gerade Themen, die in der Bevölkerung heiß diskutiert werden. Weicher formuliert wären sie kaum greifbar.
Ausgewogen sein muss die Auswahl der Fragen, nicht ihr Ton. Jede Partei soll ihre zentralen Forderungen als Ja-Frage wiederfinden, egal wo sie steht. Diskussion und erste Analyse: Issue #1.
Leitlinie für neue Fragen:
begruendung genau angeben.npm run fragen zeigt je Frage die Richtung und je Wahl die Verteilung, die Profilfragen je Partei und Warnungen (⚠)
zu diesen Punkten; die Warnungen sind ein Arbeitsauftrag und lassen die Prüfung nicht scheitern. Die Übersicht
(#/fragen) zeigt dieselben Zahlen unter „Ausgewogenheit dieses Katalogs“. Berechnet werden sie in
src/ausgewogenheit.ts:
econ_pos_norm und soci_pos_norm (PWIB).
Der Auszug für unsere zehn Wahlen liegt unverändert mit Dokumentation in daten/pwib/;
ein Test prüft die Werte in src/ausgewogenheit.ts gegen die CSV. Die Skala ist nicht 0 bis 10 und kann negativ
werden, es zählt nur die Rangfolge je Wahl. „Union“ im Bund ist das gemeinsame Programm (de2025cdu), nicht die
CSU-Bayern-Agenda. Volt fehlt im Datensatz, die Freien Wähler in Sachsen-Anhalt und Mecklenburg-Vorpommern auch;
sie zählen dort nicht mit, ergänzt wird nichts. Quelle: Bräuninger, Thomas; Debus, Marc; Müller, Jochen; Stecker,
Christian (2020): Parteienwettbewerb in den deutschen Bundesländern. 2., vollständig überarbeitete Auflage.
Wiesbaden: Springer VS, doi:10.1007/978-3-658-29222-5. Fortgeschriebene
PWIB-Wordscores-Daten, Schätzstand 20.10.2026; Auszug für Wer sagt Ja? vom 28.10.2026. Das Buch beschreibt die
Methode; die jüngeren Wahlen stammen aus der Fortschreibung. Die Autoren haben die Ablage im Repository mit
vollständiger Quellenangabe für diese Prüfung erlaubt; eine allgemeine Lizenz für den PWIB-Datensatz ist damit
nicht verbunden.CHES): Chapel Hill Expert Survey 2024, Einordnung der Bundesparteien durch Fachleute, LRECON und
GALTAN (0 bis 10). „Union“ ist das nach Zweitstimmen 2021 gewichtete Mittel von CDU und CSU. Volt Deutschland fehlt
in CHES 2024; wir nehmen das Mittel aus dem CHES-Wert für Volt Nederland (4,70 / 1,09) und einer Schätzung aus den
Antworten von Volt in unseren Katalogen (3,4 / 2,75, dort, wo die Antworten am besten zur Antwortstruktur der
übrigen Parteien passen) – also 4,05 / 1,92 (). Wo die Richtung einer Frage in der Gegenprobe anders
ausfällt, steht es in und in der Übersicht; eine Schlagseite nur nach CHES erscheint als Warnung
„Gegenprobe mit CHES“. Wahlen ohne PWIB-Werte werden an CHES gemessen. Quelle: Rovny, Polk, Bakker, Hooghe, Jolly,
Marks, Steenbergen & Vachudova (2025), „The 2024 Chapel Hill Expert Survey on political party positioning in
Europe“, 97, 102981, ;
Daten von .Methode, Begründung und geprüfte Alternativen: Issue #1, „Methode der Überarbeitung“. Die Schwellen sind Konventionen und werden mit Fachleuten abgestimmt.
VITE_FIREBASE_DATABASE_URL funktionieren Räume nur zwischen
Tabs desselben Browsers.VITE_STUN_URLS für Direktverbindungen übers Internet; die Datenschutzerklärung nennt den Server dann.sitemap.xml,
llms.txt für KI-Agenten (Vorlage src/llms.txt, beim Build um die Wahlen ergänzt), je Wahl eine Markdown-Fassung
(<wahl>/index.md), public/robots.txt (lässt Suchmaschinen und KI-Agenten ausdrücklich zu) und ein Textblock in
index.html für Crawler ohne JavaScript. Die Bilder (public/vorschau.*, public/icon-*.png) erzeugt
npm run vorschau mit Chrome und ffmpeg. Die öffentliche Adresse steht fest in index.html, src/seiten.ts,
public/robots.txt und src/llms.txt – bei einer eigenen Domain dort ändern.#/ Start, #/<raumname> Einladung, #/fragen alle Fragen mit Belegen (#/fragen/<partei> nur eine
Partei, #/fragen/<partei>/<frage-id> springt zur Frage, #/<wahl>/fragen/… für andere Wahlen als die
Standardwahl), #/impressum, #/datenschutz.w in die Realtime Database ein; erlauben die veröffentlichten
Regeln das Feld noch nicht, schreibt die App den Eintrag ohne (firebase/database.rules.json neu veröffentlichen).cp .env.example .env
npm install
npm run dev # Entwicklung
npm run build # dist/
npm run lint && npm run typen && npm test
npm run stimmen -- --nur-zeigen # zählt fehlende Aufnahmen (ElevenLabs, Schlüssel in .env.local)
Veröffentlichung: Der Workflow pages.yml baut bei jedem Push auf main und
veröffentlicht auf GitHub Pages unter https://wersagtja.de/ (eigene Domain in den Pages-Einstellungen; die alte
Adresse ma3u.github.io/wer-sagt-ja/ leitet dorthin weiter). Vor dem öffentlichen Start die Angaben in
src/betreiber.ts ausfüllen.
Suchmaschinen: Die App liegt unter einer Adresse, ihre Unterseiten hinter #/… – die nimmt keine Suchmaschine einzeln
auf. Darum erzeugt der Build (src/seiten.ts, eingebunden in vite.config.ts) je spielbarer Wahl eine
statische Seite mit allen Fragen, Positionen und Belegen (etwa /landtagswahl-sachsen-2024/, für KI-Agenten auch als
index.md), die Methodenseite als /methode/ und die Seite zum Mitmachen als /mitmachen/
(src/methodeSeite.tsx, mit dem Stil der App gerendert), sitemap.xml und llms.txt; public/robots.txt verweist darauf. Neue Wahlen kommen damit von selbst dazu.
Kommende Wahlen ohne Programme bekommen schon vorher eine Ankündigung unter derselben Adresse (Wahltag, bisher), damit
sie im Wahlkampf bereits im Index steht.
Nach jedem Deploy meldet pages.yml alle Adressen der Sitemap über IndexNow an Bing, Yandex und andere; der
öffentliche Schlüssel liegt als public/<schlüssel>.txt auf der Seite.
src/ App: Quiz.tsx (Start, Räume), Ansicht.tsx (Frage, Auflösung, Ergebnis), spielleitung.ts (Regeln),
verbindung.ts (WebRTC + Firebase), show/ (Moderation, Ton), Uebersicht.tsx (alle Fragen), Rechtliches.tsx,
ausgewogenheit.ts (Richtung und Profilfragen je Katalog)
public/ fragen.json (Fragen und Positionen), audio/ (Stimmen und Geräusche), Vorschaubilder, robots.txt
scripts/ fragen.ts (Übersicht, Prüfung und Ausgewogenheit), stimmen.ts (ElevenLabs), vorschau.ts, aufraeumen.ts (Firebase)
firebase/ Regeln der Realtime Database
AGPL-3.0-or-later. Der ursprüngliche Code entstand als Quiz-Modus eines anderen AGPL-Projekts; die Urheberrechte der damaligen Mitwirkenden bleiben bestehen.
VOLT_QUELLENnpm run fragennpm run fragen nennt je Frage die Zahl der einbezogenen Parteien (n). Antworten alle gleich, ist ρ nicht definiert
(nicht bestimmbar). Ab |ρ| ≥ 0,5 ist die Frage auf der Dimension gerichtet; das Vorzeichen sagt, von welchem Pol das
Ja kommt, bei wenigen Parteien nur unsicher. Je Dimension steht auch das mittlere ρ da – nahe 0 heißt ausgeglichen.
Gleich viele Fragen von beiden Polen belegen für sich noch keine ausgewogene Themenauswahl.