Inhaltsverzeichnis
DokuWiki → GitHub-Synchronisation & KI-Wissensbasis
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 nurpages/und.gitignore. - Der erste Push nach
nemwar-ed/edwiki2.0, Branchstable, 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.
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 istHOMEnicht gesetzt, deshalb wirktgit config --globalnicht. - Fine-grained PAT nur für dieses Repository, nur mit Contents read/write. Er steht in der Remote-URL in
data/.git/config. - Branch
stablestattmain. - 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:sitzungenangelegt (DokuWiki-Syntax), nicht in einem separaten Repository. gitbacked überträgt sie automatisch.
Verworfen
- Inline-Umgebungsvariablen (
GIT_AUTHOR_NAMEusw.) 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.
.gitim DokuWiki-Root. Der Ordner war öffentlich abrufbar (/.git/config).- Leeres Feld
repoPathin gitbacked. Es wird relativ zum DokuWiki-Root aufgelöst und hätte dort ein neues.gitangelegt. 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.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_openverfügbar,HOMEnicht 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.
