Benutzer-Werkzeuge

Webseiten-Werkzeuge


ki:sitzungen:2026-10-10_dokuwiki-github-sync

DokuWiki → GitHub-Synchronisation & KI-Wissensbasis

Datum 2026-10-10
KI Claude (claude-opus-5-5)
Status in Arbeit
Vorherige Sitzung –
Bezug ki, vorlage

Ziel

Das DokuWiki (Version 2, Testsystem auf lima-city.de) soll als zentrale Wissensbasis für mehrere KIs dienen. Die Textseiten werden dazu automatisch in ein privates GitHub-Repository übertragen, auf das die KIs zugreifen. Zusätzlich werden Gesprächsergebnisse verschiedener KIs als Sitzungszusammenfassungen gesammelt.

Ergebnis / aktueller Stand

  • Das Git-Repository liegt in data/ auf dem lima-city-Webspace. Versioniert werden nur pages/ und .gitignore.
  • Der erste Push nach nemwar-ed/edwiki2.0, Branch stable, war erfolgreich: 78 Seiten plus .gitignore.
  • gitbacked ist eingerichtet und getestet. Jede Seitenänderung wird automatisch committet und gepusht. Medien-Uploads werden ignoriert.
  • Der alte, öffentlich lesbare .git-Ordner im Webroot (von früheren Versuchen) ist gelöscht.
  • Das Einrichtungsskript (edwiki-git-setup.php) ist nach Gebrauch entfernt.
  • Die Seiten ki und vorlage sind angelegt. Sitzungszusammenfassungen kommen in den Namensraum ki:sitzungen.

Entscheidungen

  • Repository in data/ statt im Webroot. data/ ist per .htaccess geschützt (HTTP 403), der Webroot schützt dagegen keine versteckten Ordner.
  • Git-Identität lokal im Repository (.git/config), nicht global. Auf dem Webspace ist HOME nicht gesetzt, deshalb wirkt git config --global nicht.
  • Fine-grained PAT nur für dieses Repository, nur mit Contents read/write. Er steht in der Remote-URL in data/.git/config.
  • Branch stable statt main.
  • Datenfluss nur in eine Richtung: Ins Repository schreibt ausschließlich das Wiki. Direkte Commits oder Uploads auf GitHub würden die Historie auseinanderlaufen lassen, danach schlägt jeder Push aus dem Wiki fehl.
  • Sitzungszusammenfassungen werden als Wiki-Seiten in ki:sitzungen angelegt (DokuWiki-Syntax), nicht in einem separaten Repository. gitbacked überträgt sie automatisch.

Verworfen

  • Inline-Umgebungsvariablen (GIT_AUTHOR_NAME usw.) in einem einzelnen Shell-Befehl. Das löst nur den ersten Push, nicht die späteren Commits durch gitbacked.
  • Force-Push. Nicht nötig, das GitHub-Repository war leer.
  • .git im DokuWiki-Root. Der Ordner war öffentlich abrufbar (/.git/config).
  • Leeres Feld repoPath in gitbacked. Es wird relativ zum DokuWiki-Root aufgelöst und hätte dort ein neues .git angelegt. Richtig ist ./data.
  • Separates Repository für Sitzungen. Das wäre ein zweiter Ort und bringt keinen Vorteil gegenüber dem Wiki-Namensraum.
  • Wissensdatei-Upload in einen Custom GPT. Das ist ein statischer Stand und nicht tagesaktuell.

Offene Punkte

  • FIXME Zugriffsrechte für ki:* prüfen bzw. setzen (@ALL: keine, @admin: löschen), falls das Wiki öffentlich lesbar ist.
  • FIXME Die FIXME-Stellen auf ki ausfüllen (Beschreibung des Wikis, Namensräume).
  • FIXME Testen, ob die GitHub-App mit ChatGPT Go nutzbar ist (Einstellungen → Apps). Laut OpenAI brauchen manche Funktionen Plus.
  • FIXME Testen, ob „Code importieren“ im kostenlosen Gemini verfügbar ist. Offiziell dokumentiert ist es nur für Workspace-Konten. Limit: 1 Repository pro Chat, 5.000 Dateien / 100 MB.
  • FIXME Mistral Le Chat: Den GitHub-Connector (Beta, im Gratis-Tarif enthalten) testen.
  • Skalierung auf ca. 4.500 Seiten: Die GitHub-Integration in Claude Projects lädt nur, was in den Kontext passt. Deshalb gezielt nur pages/ki/ oder einzelne Namensräume auswählen. Bei Gemini liegen 4.500 Dateien nahe am Limit.
  • Ablaufdatum des PAT im Blick behalten. Ist er abgelaufen, schlagen die Pushes fehl.

Nächste Schritte

  1. Diese Seite als ersten Test nutzen: Prüfen, ob die anderen KIs sie über GitHub finden und lesen können.
  2. Claude: Ein Projekt anlegen, das GitHub-Repository verknüpfen und pages/ki/ auswählen. Synchronisiert wird von Hand über „Sync now“.
  3. Die offenen Tests für ChatGPT, Gemini und Mistral durchführen.
  4. Lokal auf CachyOS klonen: git clone -b stable https://github.com/nemwar-ed/edwiki2.0.git ~/edwiki-repo
  5. Später beim Umzug zu UDMedia: Das Einrichtungsskript um einen Schritt erweitern, der das bestehende Repository klont, statt ein neues anzulegen. Dort eventuell periodisch per Cron pushen statt nach jedem Commit.

Technische Details

  • Webspace: lima-city, Apache 2.4, PHP 8.3, git 2.43 (/usr/bin/git), proc_open verfügbar, HOME nicht gesetzt
  • Pfad: /home/webpages/lima-city/nemwar/dokuwiki/data
  • data/.gitignore:
/*
!/.gitignore
!/pages/
  • gitbacked-Konfiguration:

^ Einstellung ^ Wert ^

pushAfterCommit an
periodicPull aus
repoPath ./data
repoWorkDir leer (Standard)
ignorePaths data/media/
addParams Standard (-c user.name=„%user%“ -c user.email=„<%mail%>“)

* gitbacked setzt den Commit-Autor aus Name und E-Mail des Wiki-Benutzers. Im Wiki-Profil muss deshalb eine E-Mail-Adresse eingetragen sein.

  • Bei Git-Fehlern zeigt DokuWiki beim Speichern eine Fehlermeldung. Die Seite selbst ist trotzdem gespeichert.

Für die nächste KI

Die technische Synchronisation Wiki → GitHub läuft stabil. Ab jetzt geht es um die Anbindung der KIs und um den Alltags-Workflow mit den Sitzungszusammenfassungen. Wichtigste Regel: Nie direkt ins Repository nemwar-ed/edwiki2.0 schreiben. Alles läuft über das Wiki. Zuerst ki lesen.

ki/sitzungen/2026-10-10_dokuwiki-github-sync.txt · Zuletzt geändert: von nemwar