Externer Zugriff (CLI und AI-Clients)
Externer Zugriff ermöglicht es lokalen Kommandozeilenprogrammen und MCP-fähigen AI-Clients, Skripte in ScriptCat über sctl zu verwalten.
AI client ── stdio MCP ──▶ sctl mcp ── local control API ──▶ sctl serve ── WebSocket ──▶ ScriptCat
CLI ────────────────────────────────────────────────────────▲
sctl serve ist ein separater lokaler Daemon, der explizit gestartet werden muss. sctl mcp und Anfragebefehle starten ihn niemals automatisch.
sctl hört standardmäßig auf 127.0.0.1. Es hört nur auf einer anderen Schnittstelle, wenn --listen-address explizit übergeben wird. ws:// verschlüsselt keinen Geschäftsverkehr, verwenden Sie eine Nicht-Standard-Adresse nur in vertrauenswürdigen Netzwerken.
1. sctl installieren
curl -fsSL https://raw.githubusercontent.com/scriptscat/sctl/main/scripts/install.sh | sh
oder Windows PowerShell:
irm https://raw.githubusercontent.com/scriptscat/sctl/main/scripts/install.ps1 | iex
sctl version
2. Daemon starten und registrieren
2.1 Datenverzeichnis wählen
export SCTL_DATA_DIR=/absolute/path/to/sctl-data
sctl serve
sctl status
sctl mcp
2.2 Daemon starten
sctl serve
2.3 In ScriptCat aktivieren und paarweisen
-
Öffnen Sie Einstellungen → Werkzeuge → Externer Zugriff in ScriptCat und schalten Sie um.
-
Bestätigen Sie, dass die sctl-Adresse mit dem Daemon übereinstimmt.
-
Führen Sie in einem anderen Terminal aus:
sctl connect -
Geben Sie den 8-Zeichen-Terminalcode ein.
-
Verbindung überprüfen:
sctl status
Der Code sieht wie A1B2-C3D4 aus, läuft nach 2 Minuten ab und funktioniert nur einmal. Fügen Sie ihn niemals in einen AI-Chat, Issue, Log oder MCP-Konfiguration ein.
3. Berechtigungen und Bestätigung
| Fähigkeit | Standardverhalten |
|---|---|
| Skripte auflisten und Metadaten lesen | Direkt zurückgeben |
| Skriptquelle lesen oder suchen | Folgt der Quellenlese-Richtlinie |
| Skript installieren, bearbeiten, aktivieren, deaktivieren oder löschen | Folgt der Schreib-Richtlinie |
4. Kommandozeilenverwendung
sctl get # Skripte auflisten
sctl get <uuid> # Metadaten lesen
sctl get <uuid> -o source # Vollständige Quelle ausgeben
sctl get <uuid> -o source --lines 20-80
sctl grep <uuid> "fetch(" # Wörtliche Quellensuche
sctl grep <uuid> "pattern" -E # Regulärer Ausdruck
sctl install <url|file>
sctl edit <uuid> --replace OLD --with NEW
sctl enable <uuid>
sctl disable <uuid>
sctl delete <uuid>
sctl status
5. AI-Client verbinden (MCP)
{
"mcpServers": {
"scriptcat": {
"command": "/absolute/path/to/sctl",
"env": {
"SCTL_DATA_DIR": "/absolute/path/to/sctl-data"
},
"args": ["mcp", "--name", "my-ai-client"]
}
}
}
Aktuelle Tools:
| Tool | Zweck | Bestätigungsrichtlinie |
|---|---|---|
scripts_list | Skriptübersichten auflisten | Keine |
scripts_metadata_get | Metadaten eines Skripts lesen | Keine |
scripts_source_get | Quelle nach UUID lesen | Quellenlese-Richtlinie |
scripts_source_grep | Quelle durchsuchen | Quellenlese-Richtlinie |
scripts_install_request | Skriptinstallation anfordern | Schreib-Richtlinie |
scripts_edit_request | Inhaltsgestützte Bearbeitung anfordern | Schreib-Richtlinie |
scripts_toggle_request | Aktivierung/Deaktivierung anfordern | Schreib-Richtlinie |
scripts_delete_request | Löschung anfordern | Schreib-Richtlinie |
6. Prüfung und Widerruf
sctl statuszeigt Daemon-Version, Erweiterungskonnektivität und letzte Sicherheitsereignisse.- „Externen Zugriff stoppen" trennt, löscht den Paarungszustand und bereinigt Sitzungszulassungen.
7. Fehlerbehebung
Daemon nicht erreichbar — Starten Sie zuerst sctl serve.
Steuerkanal-Authentifizierung fehlgeschlagen — Bestätigen Sie, dass serve, CLI-Befehle und der MCP-Prozess dasselbe absolute Datenverzeichnis auflösen.
Status sagt „Verbindung fehlgeschlagen" — Bestätigen Sie, dass der Daemon läuft und die Erweiterungsadresse übereinstimmt.
Befehl gibt nicht zurück — Prüfen Sie den Browser auf eine Quellenoffenlegungs- oder Schreibbestätigungsseite.
Logs finden — Logs befinden sich unter <data-dir>/logs/.
| Plattform | Log-Verzeichnis |
|---|---|
| macOS | ~/Library/Application Support/sctl/logs/ |
| Windows | %LOCALAPPDATA%\sctl\logs\ |
| Linux | ~/.config/sctl/logs/ |