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

Zugriffsrechte für
ki:* prüfen bzw. setzen (@ALL: keine, @admin: löschen), falls das Wiki öffentlich lesbar ist.

Die

-Stellen auf
ki ausfüllen (Beschreibung des Wikis, Namensräume).

Testen, ob die GitHub-App mit ChatGPT Go nutzbar ist (Einstellungen → Apps). Laut OpenAI brauchen manche Funktionen Plus.

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.

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
Diese Seite als ersten Test nutzen: Prüfen, ob die anderen KIs sie über GitHub finden und lesen können.
Claude: Ein Projekt anlegen, das GitHub-Repository verknüpfen und pages/ki/ auswählen. Synchronisiert wird von Hand über „Sync now“.
Die offenen Tests für ChatGPT, Gemini und Mistral durchführen.
Lokal auf CachyOS klonen: git clone -b stable https://github.com/nemwar-ed/edwiki2.0.git ~/edwiki-repo
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/
^ 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.
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.