Web-Skript

Technische Details: Web-Skript.

Reviewe jede Website – gebaut mit Astro, Hugo, WordPress oder von Hand –, ohne ihren Build zu ändern. Eine Zeile in der Seite genügt:

<script src="https://deciwa.danwos.dev/js/0.2/deciwa.js" defer></script>

Der deciwa-Button erscheint unten rechts auf jeder Seite, die das Skript lädt. deciwa findet die Elemente der Seite selbst – Abschnitte, Absätze, Listenpunkte, Tabellenzeilen, Codeblöcke und Bilder – und zeigt dieselbe Review-Oberfläche wie die Sphinx-Integration.

Was du wissen musst – nichts

Ohne jede Einstellung

Elemente

gefunden in <main>, sonst <article>, sonst <body>; Navigation, Kopf- und Fußzeile und Formulare bleiben außen vor

Feedback wird gespeichert

in deinem Browser, pro Website; Export gibt es als eine Datei weiter

Eine Seite erkennt man an

ihrer Adresse, z. B. danwos.dev/services/

Im Review-Modus wählt ein Klick ein Element aus, auch wenn das Element ein Link ist oder einen enthält – eine Card, die ein einziger großer Link ist, öffnet die Review-Karte. Ctrl/Cmd + Klick folgt dem Link; die Navigation außerhalb des Inhalts funktioniert weiter.

Optionale Einstellungen

Alle Einstellungen sind Attribute am Script-Tag. Lass sie weg, bis du sie brauchst.

Attribut

Wirkung

data-root="main"

nur diesen Teil der Seite reviewen (ein CSS-Selektor)

data-ignore=".cookie-banner, aside"

diese Teile auslassen

data-activate="param"

deciwa erst zeigen, nachdem ?deciwa in der Adresse stand – für öffentliche Websites, deren Besucher es nicht sehen sollen; es bleibt in diesem Tab an bis ?deciwa=off

data-server="http://127.0.0.1:4337"

Feedback bei einem deciwa-Server statt im Browser speichern (später, siehe Roadmap)

Eine Seite kann ihre Quelldatei nennen, damit die KI weiß, welche Datei sie ändern soll:

<meta name="deciwa-source" content="src/content/pages/services.md">

Statt jede Seite zu markieren, kann das Repository Adressen einmal in .deciwa/config.toml Dateien zuordnen (Dateiformat). Beides ist optional: ohne sie wird jede Seite unter ihrer Adresse geführt, und nichts geht verloren, wenn später eine Zuordnung dazukommt.

Vom Browser ins Repository

  1. Reviewe die Seiten; das Feedback bleibt im Browser.

  2. Export im Panel speichert eine JSON-Datei. Sie enthält das Feedback und die Elemente jeder Seite, die dieser Browser gesehen hat.

  3. Einmal deciwa init im Repository der Website, dann deciwa import export.json. Es ersetzt die Review-Daten der Seiten in der Datei und lässt alles andere in .deciwa/ unberührt – eine ältere Datei wird abgelehnt, außer mit --force.

  4. deciwa todo listet die offenen Aufgaben für die KI oder einen Entwickler, mit der Quelldatei und der Adresse der Seite:

$ deciwa import deciwa-review-20261020.json
replaced: 2 annotations in 2 sources
  mapped to src/content/tools/de/monsterbrain.mdx
$ deciwa todo
yu6xkuap  note      src/content/tools/de/monsterbrain.mdx (danwos.dev/de/tools/monsterbrain)  html:paragraph:monsterbrain/Warum monsterbrain#2
          “Satz ist zu lang, bitte in zwei Sätze teilen.”

Seiten Dateien zuordnen (optional)

Ohne Zuordnung wird eine Seite unter ihrer Adresse geführt, und deciwa todo nennt nur die Adresse. Regeln in .deciwa/config.toml sagen deciwa, aus welcher Datei eine Seite stammt; ein Stern steht für einen beliebigen Teil der Adresse und wird in derselben Reihenfolge in den Dateinamen eingesetzt:

[web]
sources = [
  { url = "/*/tools/*", file = "src/content/tools/*/*.mdx" },
  { url = "/*/tools/*", file = "src/content/tools/*/*.md" },
]

Die erste Regel, deren Datei existiert, gewinnt, also wird /de/tools/monsterbrain zu src/content/tools/de/monsterbrain.mdx. Eine später ergänzte Regel verschiebt das Feedback, das unter der Adresse geführt wurde: deciwa remap.

Die Chrome-Erweiterung wird dasselbe Skript nutzen, damit es auch auf Seiten funktioniert, die sich nicht ändern lassen.