====== DokuWiki → GitHub-Synchronisation & KI-Wissensbasis ====== ^ Datum | 2026-10-10 | ^ KI | Claude (claude-opus-5-5) | ^ Status | in Arbeit | ^ Vorherige Sitzung | – | ^ Bezug | [[ki:start]], [[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:start]] und [[ki: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:start]] 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 ===== - 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/ * 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:start]] lesen.