================================================================================
napp-it cs -- Claude Desktop Setup (Deutsch)
KI-gestützte Entwicklung mit direktem Dateisystemzugriff,
SSH-Tools und ZFS-Snapshot-Backup
Datei: csweb-gui/_my/howto.ai/setup_claude_de.info
================================================================================
================================================================================
Vorwort
================================================================================
napp-it ist eine copy and run user extendable web management suite für single
Servers oder ganze servergruppen. Es besteht aus frontend webserver (pure Perl)
und backend services für remote control via encrypted socket connections. Keine
Abhängigkeiten/ Modificationen außerhalb des napp-it cs Ordners /opt/csweb-gui
Frontend und backend laufen auf Free-BSD, Illumos, Linux, OSX, Solaris, Windows.
================================================================================
ÜBERSICHT
================================================================================
Dieses Setup ermöglicht Claude vollständigen Zugriff auf das napp-it cs
Projekt (C:\opt\csweb-gui) -- ohne ZIP-Upload/Download-Zyklus. Claude liest
und bearbeitet Dateien direkt auf der Platte. Versionierung erfolgt via
robocopy -> ZFS-Snapshots auf einem OmniOS/Illumos NAS.
Komponenten:
1. Claude Desktop für Windows -- KI-Client mit MCP-Erweiterungen
2. MCP Filesystem Extension -- direkter Lese-/Schreibzugriff C:\opt
3. MCP Desktop Commander -- Windows-Terminal, Shell, Prozesse
4. SSH-Tools (PuTTY-Suite) -- remote Zugriff auf Member-Server
5. Robocopy + ZFS-Snapshots -- Backup und Versionierung
================================================================================
1. VORAUSSETZUNGEN
================================================================================
- Windows 10/11 (64-bit)
- napp-it cs installiert unter C:\opt\csweb-gui
- Strawberry Perl unter C:\opt\perl (im napp-it cs Paket enthalten)
- NAS/OmniOS-Host mit ZFS erreichbar im LAN (hier: 192.168.2.203)
- SMB-Freigabe "opt" auf dem NAS (\\192.168.2.203\opt) als Sync-Ziel
- Internet-Zugang für Claude Desktop Download
================================================================================
2. CLAUDE DESKTOP INSTALLIEREN
================================================================================
1. Download: https://claude.ai/download -> "Download for Windows"
2. Installer ausführen (claude-setup.exe) -- keine Admin-Rechte nötig
3. Claude Desktop starten, mit claude.ai Account anmelden
(Empfehlung: Claude Pro, ca. 17 USD/Monat -- größeres Kontextfenster,
kein Throttling bei intensiver Nutzung)
4. Beim ersten Start erscheint der Chat direkt -- kein weiteres Setup nötig
================================================================================
3. MCP FILESYSTEM EXTENSION EINRICHTEN
================================================================================
Die Filesystem-Extension gibt Claude direkten Lese-/Schreibzugriff auf
ausgewählte Verzeichnisse -- ohne dass Dateien hochgeladen werden müssen.
3.1 Extension installieren
Claude Desktop -> Menü (☰ oben links) -> Settings -> Extensions
-> "Filesystem" suchen -> Install / Add
Alternativ: Claude Desktop -> Settings -> Developer -> Edit Config
Datei öffnen: %APPDATA%\Claude\claude_desktop_config.json
3.2 Erlaubte Verzeichnisse konfigurieren
In claude_desktop_config.json den Filesystem-Eintrag anpassen:
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"C:\\opt"
]
}
}
}
Damit hat Claude Zugriff auf C:\opt\ und alle Unterordner.
ACHTUNG: C:\opt\ssh\ enthält den privaten SSH-Key -- Claude greift
nur lesend darauf zu (für Kommandos), schreibt dort nie hin.
3.3 Claude Desktop neu starten
Nach Änderungen an claude_desktop_config.json: Claude Desktop
vollständig beenden (Tray-Icon -> Quit) und neu starten.
3.4 Zugriff testen
Im Chat: "Liste die Dateien in C:\opt" -- Claude sollte die Ordner
auflisten können ohne dass eine Datei hochgeladen wurde.
================================================================================
4. MCP DESKTOP COMMANDER EINRICHTEN (Windows Terminal / Shell)
================================================================================
Desktop Commander gibt Claude Zugriff auf eine persistente Windows-Shell
(PowerShell/cmd), kann Prozesse starten, Dateien suchen und mehr.
4.1 Installation
Claude Desktop -> Settings -> Extensions -> "Desktop Commander" suchen
-> Install
Oder manuell in claude_desktop_config.json:
{
"mcpServers": {
"desktop-commander": {
"command": "npx",
"args": ["-y", "@wonderwhy-er/desktop-commander"]
}
}
}
4.2 Erlaubte Verzeichnisse (optional einschränken)
Desktop Commander kann system-weit Befehle ausführen. Für mehr
Kontrolle: in den Desktop Commander Einstellungen allowedDirectories
auf ["C:\\opt"] begrenzen.
4.3 Typische Nutzung
Claude kann damit direkt:
- perl -c Syntaxprüfungen ausführen
- sync_version.bat starten
- plink.exe / pscp.exe aufrufen
- Prozesse starten/stoppen (server.pl, webserver.pl)
- Logs tail-en (Get-Content ... -Wait)
================================================================================
5. SSH-TOOLS EINRICHTEN (PuTTY-Suite)
================================================================================
SSH-Tools ermöglichen Claude remote-Zugriff auf Member-Server und den
NAS-Host für Snapshot-Verwaltung und Log-Analyse.
5.1 PuTTY-Tools installieren
Benötigte Dateien unter C:\opt\ssh\ ablegen:
plink.exe SSH-Client (Kommandozeile) -- von putty.org
pscp.exe SCP/SFTP Dateiübertragung -- von putty.org
puttygen.exe Key-Konvertierung -- von putty.org
id_rsa.ppk Privater Schlüssel (PuTTY-Format)
Download: https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
-> plink.exe, pscp.exe, puttygen.exe direkt herunterladen
5.2 SSH-Key erstellen oder konvertieren
Option A -- Neuen Key erstellen:
puttygen.exe starten -> Generate -> Maus bewegen -> Save private key
-> als C:\opt\ssh\id_rsa.ppk speichern
Public Key aus dem Textfeld kopieren
Option B -- Bestehenden OpenSSH-Key konvertieren:
puttygen.exe -> Conversions -> Import Key -> id_rsa (OpenSSH-Format)
-> Save private key -> C:\opt\ssh\id_rsa.ppk
5.3 Public Key auf Ziel-Hosts deployen
Auf jedem Member-Server (root@HOST):
mkdir -p ~/.ssh
echo "ssh-rsa AAAA... your-key" >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
Auf dem NAS-Host (192.168.2.203):
Gleich wie oben -- authorized_keys für root einrichten.
5.4 Verbindung testen
In PowerShell / cmd:
C:\opt\ssh\plink.exe -ssh -batch -i C:\opt\ssh\id_rsa.ppk root@192.168.2.203 hostname
Erwartet: Hostname des NAS ohne Passwortabfrage.
Beim ersten Verbindungsaufbau: Host-Key-Fingerprint einmalig bestätigen
(dann in der Registry gespeichert, -batch funktioniert danach).
5.5 Host-Keys vorab akzeptieren (für -batch Betrieb)
Einmalig OHNE -batch verbinden um den Host-Key zu speichern:
C:\opt\ssh\plink.exe -ssh -i C:\opt\ssh\id_rsa.ppk root@192.168.2.203 hostname
-> "Store key in cache? (y/n)" mit y bestätigen.
Danach funktioniert -batch ohne Rückfrage.
================================================================================
6. ROBOCOPY SYNC + ZFS SNAPSHOT BACKUP
================================================================================
6.1 SMB-Freigabe auf NAS einrichten
Auf dem OmniOS/Illumos NAS:
zfs create tank/daten1/opt (oder anderer Poolname)
zfs set sharesmb=name=opt tank/daten1/opt
svcadm restart smb/server
Unter Windows: \\192.168.2.203\opt sollte erreichbar sein.
Laufwerksbuchstabe zuweisen (optional):
net use Z: \\192.168.2.203\opt /persistent:yes
6.2 sync_version.bat anlegen
Datei: C:\opt\sync_version.bat
Inhalt: siehe bestehendes Script (bereits unter C:\opt vorhanden).
Das Script:
1. Erstellt ZFS-Snapshot daten1/opt@TIMESTAMP via plink.exe
2. Startet robocopy C:\opt -> \\192.168.2.203\opt /MIR
3. Schließt tmp\ und ssh\ vom Sync aus
4. Schreibt Protokoll nach C:\opt\sync_version.log
6.3 Autosnap auf NAS einrichten (Sicherheitsnetz)
Auf dem NAS -- ZFS Autosnap alle 15 Minuten via cron:
crontab -e
*/15 * * * * zfs snapshot daten1/opt@auto-$(date +\%Y\%m\%d_\%H\%M)
Oder über napp-it cs Jobs > Snap konfigurieren.
Empfehlung: 8 Tage Aufbewahrung (ca. 768 Snapshots).
6.4 Snapshot-Recovery
Verfügbare Snapshots anzeigen:
C:\opt\ssh\plink.exe -ssh -batch -i C:\opt\ssh\id_rsa.ppk root@192.168.2.203 ^
"ls /daten1/opt/.zfs/snapshot/ | tail -20"
Einzelne Datei wiederherstellen:
C:\opt\ssh\pscp.exe -i C:\opt\ssh\id_rsa.ppk ^
"root@192.168.2.203:/daten1/opt/.zfs/snapshot/TIMESTAMP/csweb-gui/PFAD/ZUR/DATEI" ^
C:\opt\csweb-gui\PFAD\ZUR\DATEI
Danach: perl -c auf die wiederhergestellte Datei ausführen.
================================================================================
7. CLAUDE DESKTOP -- ALLGEMEINE ANWEISUNGEN (System Prompt)
================================================================================
Claude Desktop -> Menü -> Settings -> General Instructions for Claude:
Empfohlener Text:
-----------------------------------------------------------------------
napp-it cs Projekt liegt in C:\opt\csweb-gui.
Lese zu Sessionbeginn die Guideline: csweb-gui/data/howto.ai/guideline.info
und alle weiteren *.info Dateien in diesem Ordner sowie in _my/howto.ai/.
Vor größeren Änderungen: sync_version.bat starten und auf Erfolg warten.
Bei Problemen: Wiederherstellung aus ZFS-Snapshots via pscp.exe möglich
(siehe _my/howto.ai/extra.info).
-----------------------------------------------------------------------
Diese Anweisungen gelten für jeden neuen Chat automatisch.
================================================================================
8. TYPISCHER ARBEITSABLAUF (tägliche Nutzung)
================================================================================
1. Claude Desktop starten
2. Neuen Chat öffnen
3. Claude bestätigt automatisch:
- Projekt C:\opt\csweb-gui gelesen
- Guideline und alle *.info gelesen
- sync_version.log geprüft (Backup aktuell?)
- Versionen admin.pl / server.pl angezeigt
4. Aufgabe beschreiben (auf Deutsch, Screenshot einfügen wenn nötig)
5. Bei größeren Änderungen: Claude startet sync_version.bat vorher
6. Claude bearbeitet Dateien direkt (kein ZIP-Upload nötig)
7. Browserseite neu laden -> Änderungen sofort sichtbar
8. Bei server.pl-Änderungen: Backend via napp-it cs neu starten
================================================================================
9. REMOTE-ZUGRIFF AUF MEMBER-SERVER (Logs, Diagnose)
================================================================================
Logs lesen:
plink.exe -ssh -batch -i C:\opt\ssh\id_rsa.ppk root@192.168.2.185 ^
"tail -50 /opt/csweb-gui/tmp/error.log"
ZFS-Status:
plink.exe -ssh -batch -i C:\opt\ssh\id_rsa.ppk root@192.168.2.185 ^
"zpool status"
Datei vom Member holen:
pscp.exe -i C:\opt\ssh\id_rsa.ppk ^
root@192.168.2.185:/opt/csweb-gui/tmp/error.log ^
C:\tmp\error_185.log
Datei auf Member schreiben:
pscp.exe -i C:\opt\ssh\id_rsa.ppk ^
C:\opt\csweb-gui\data\cs_server\server.pl ^
root@192.168.2.185:/opt/csweb-gui/data/cs_server/server.pl
================================================================================
10. TROUBLESHOOTING
================================================================================
Claude sieht keine Dateien in C:\opt
-> Filesystem Extension nicht installiert oder falscher Pfad in Config
-> claude_desktop_config.json prüfen, Claude Desktop neu starten
plink.exe fragt nach Passwort
-> Host-Key noch nicht akzeptiert: einmalig ohne -batch verbinden
-> PPK-Key falsch: puttygen.exe -> Load -> id_rsa.ppk -> Verify
robocopy schlägt fehl (Zugriff verweigert)
-> SMB-Freigabe prüfen: net use \\192.168.2.203\opt
-> Windows Anmeldedaten für NAS hinterlegen:
Systemsteuerung -> Anmeldeinformationsverwaltung -> Windows-Anmeldeinformationen
================================================================================