ChatGPT-Container unterstützen jetzt Bash-Ausführung, Paketinstallation und Dateidownloads
(simonwillison.net)- Die Container-Laufzeitumgebung von ChatGPT wurde umfassend erweitert und unterstützt jetzt die Ausführung von Bash-Befehlen, die Installation von
pip-/npm-Paketen sowie Dateidownloads - Zur zuvor Python-zentrierten Umgebung kamen mehr als zehn Sprachen wie Node.js, Ruby, Go, Java, Swift, Kotlin, C und C++ hinzu, wodurch die Ausführung von mehrsprachigem Code unterstützt wird
- Der Zugriff auf externe Netzwerke bleibt weiterhin eingeschränkt, aber über einen internen Proxy von OpenAI funktionieren nun
pip installundnpm install - Das neue Tool
container.downloadkann Dateien von öffentlichen URLs abrufen und im Container speichern und durchläuft dabei Sicherheitsprüfungen - Dieses Upgrade erweitert die Fähigkeiten von ChatGPT bei Codeausführung und Datenverarbeitung erheblich, wobei die Notwendigkeit offizieller Dokumentation betont wird
Zentrale Erweiterungen der ChatGPT-Container
- ChatGPT kann jetzt Bash-Befehle direkt ausführen; zuvor war nur Python-Code möglich
- Statt indirekter Ausführung über das Python-Modul
subprocessist nun Steuerung auf Kommandozeilenebene möglich
- Statt indirekter Ausführung über das Python-Modul
- Es wurde eine Node.js-Umgebung hinzugefügt, sodass JavaScript ausgeführt werden kann; auch Ruby, Perl, PHP, Go, Java, Swift, Kotlin, C und C++ wurden erfolgreich getestet
- Rust wird noch nicht unterstützt
- Der Container kann weiterhin keine externen Netzwerkanfragen direkt ausführen, aber
pip installundnpm installfunktionieren über einen Proxy - Mit dem Tool
container.downloadlassen sich Dateien aus dem Web in einen angegebenen Pfad herunterladen- ChatGPT kann eine URL identifizieren, die Datei in der Sandbox speichern und anschließend verarbeiten
Funktion von container.download
container.downloadist ein Tool, das Dateien von öffentlich zugänglichen URLs abruft und im Dateisystem des Containers speichert- Das Eingabeformat hat die Form
{"url": "https://example.com/file.zip", "filepath": "/mnt/data/file.zip"}
- Das Eingabeformat hat die Form
- Heruntergeladene Dateien können im Container anschließend entpackt, geparst, umgewandelt oder anderweitig weiterverarbeitet werden
- Tests zufolge enthalten die Request-Header
User-Agent: ChatGPT-User/1.0, und die IP wurde als Microsoft Azure Cloud (Des Moines, Iowa) identifiziert
Sicherheitsprüfung: Möglichkeit von Datenabfluss
- Es wurde getestet, ob
container.downloadeine Schwachstelle für Datenabfluss sein könnte- Beim Aufruf einer URL mit Query-String trat der Fehler „url not viewed in conversation before“ auf
- Das ist eine Sicherheitsvorkehrung zur Beschränkung des URL-Zugriffs, ähnlich wie bei Claude Web Fetch: Zugänglich sind nur URLs, die durch Nutzereingabe oder Suchergebnisse bestätigt wurden
- Die Übergabe einiger Query-Strings über
web.runwar möglich, aber lange Zeichenfolgen mit früherem Gesprächsverlauf wurden durch Filter blockiert - Nach den bisherigen Tests wird das Risiko eines Datenabflusses als gering eingeschätzt, zugleich wird auf die Notwendigkeit weiterer Sicherheitsforschung hingewiesen
Bash und Ausführung mehrerer Sprachen
- Durch die Unterstützung für Bash kann ChatGPT jetzt Befehle auf Systemebene ausführen
- Beispiel: Der Befehl
npm installkann ausgeführt und sein Ergebnis überprüft werden
- Beispiel: Der Befehl
- Über die Ausführungsprotokolle im Activity-Panel (schwarz-weiße Konsolenlogs) lässt sich verifizieren, ob ein Befehl tatsächlich ausgeführt wurde
- Tests zur Ausführung von „Hello World“ in verschiedenen Sprachen waren erfolgreich und bestätigen eine mehrsprachige Codeausführungsumgebung
Mechanismus zur Installation von pip- und npm-Paketen
- Obwohl externe Netzwerke blockiert sind, kann der Container Paketinstallationen über den internen OpenAI-Proxy (
applied-caas-gateway1.internal.api.openai.org) durchführen- Umgebungsvariablen wie
PIP_INDEX_URLundNPM_CONFIG_REGISTRYverweisen auf diesen Proxy
- Umgebungsvariablen wie
- Wichtige Paketmanager wie
pip,uvundnpmfunktionieren über diesen Proxy - Die Umgebungsvariablen enthalten zudem verschiedene Registry-Pfade mit dem Präfix **
CAAS_ARTIFACTORY_***- Darunter sind interne Speicherpfade für PyPI, npm, Go, Maven, Gradle, Cargo, Docker und weitere
- Rust und Docker sind derzeit noch nicht installiert, deuten aber auf mögliche spätere Erweiterungen hin
Integrierte Nutzung und künftige Aufgaben
- ChatGPT kann nun Python- und Node.js-Pakete installieren und auf hochgeladene oder heruntergeladene Dateien anwenden
- Damit verfügt es über Funktionen auf dem Niveau einer vollständigen Entwicklungsumgebung – von Codeerstellung und -ausführung bis zu Datenverarbeitung und Datei-Ein-/Ausgabe
- Der größte Mangel ist das Fehlen offizieller Dokumentation; benötigt werden Release Notes und veröffentlichte Detailbeschränkungen
- OpenAI sollte dieser Funktionsgruppe eine passende Bezeichnung geben; vorläufig wird sie „ChatGPT Containers“ genannt
Zusammenfassung der vollständigen ChatGPT-Toolliste
- Es wurde die Liste der im GPT-5.2-Umfeld verfügbaren Tools veröffentlicht
- Darunter python.exec, web.run, container.exec, container.download, image_gen.text2im und weitere
- Jedes Tool besitzt eine klare Beschreibung (description) und Signatur (signature)
container.execdient zur Befehlsausführung,container.feed_charszur Eingabe in interaktive Sitzungen undcontainer.open_imagezur Anzeige von Bildern- Ebenfalls enthalten sind nutzerspezifische Funktionen wie
bio.update,personal_context.searchunduser_settings.set_setting - Insgesamt entwickelt sich ChatGPT zu einer kombinierten KI-Umgebung, die Codeausführung, Webzugriff, Dateiverarbeitung und Verwaltung von Nutzerkontext integriert
1 Kommentare
Hacker-News-Kommentare
Ich arbeite im technischen Support, kenne mich mit Python aus, bin aber kein Entwickler.
In den letzten Wochen haben mich Gemini und Claude allerdings gefragt: „Kannst du einen Computer benutzen?“
Ich habe zurückgefragt: „Welchen Computer? Meinen Computer? Oder euren?“
Ich nutze die kostenlose Browser-Version und hatte nicht gedacht, dass sie direkt meinen Computer nutzen könnten, aber wie sich herausstellte, führten sie Python-Skripte in ihrer eigenen Umgebung aus.
Dadurch fragte ich mich, wer zuerst auf die Idee kam, einem LLM einen echten Computer bereitzustellen, um Rechenprobleme zu lösen.
Als ich außerdem Nano Banana per Prompt laufen ließ, erwähnte Gemini den Bildgenerator in der dritten Person, was sich wie „Schildkröten auf Schildkröten“ anfühlte.
Nach unserer Erfahrung bringt es komplexe Vorteile, einem Agenten eine Linux-Umgebung zu geben.
Er löst ungewöhnliche Situationen selbst, die mit normalen Tools schwer zu bewältigen sind.
Wenn zum Beispiel eine Datei .png heißt, in Wirklichkeit aber ein jpeg ist, liest er die Magic Bytes und verarbeitet sie korrekt.
Ich wollte mit einem Vision-Modell ICC-Profile oder die Tintendichte überprüfen, aber es redete oft Unsinn.
Am Ende gab ich dem Agenten Zugriff auf ImageMagick, damit er die Analyse selbst durchführt, und das war die einzige wirklich verlässliche Methode.
Sonst hätte ich die Kosten für fehlgeschlagene Drucke selbst tragen müssen.
Die meisten Linux-Bildbetrachter oder -Editoren erkennen das Dateiformat bereits anhand der Magic Bytes statt über die Erweiterung.
Ich denke, Microsofts auf Erweiterungen angewiesenes Design ist die Ursache solcher Probleme.
Für Menschen ist das mit gängigen Unix-Tools in wenigen Sekunden machbar.
Sogar das normale ChatGPT kann inzwischen Code in Node.js, Ruby, Perl, PHP, Go, Java, Swift, Kotlin, C, C++ usw. ausführen.
Es steht nicht in den offiziellen Release Notes, aber es lässt sich auch mit kostenlosen Accounts bestätigen.
Geteilter Link
Ich war überrascht, Einträge wie „gmail (read-only)“ zu sehen.
Die ChatGPT-Android-App sagt, sie habe keine solchen Berechtigungen, deshalb frage ich mich, in welchem Kontext Lesezugriff auf Gmail möglich ist.
Auch in der iPhone-App waren die Funktionen gmail. und gcal. sichtbar.
Geteiltes Beispiel
Wahrscheinlich ist das die Funktion aus dem Mashable-Artikel.
Vermutlich wird sie erst aktiviert, wenn der Nutzer explizit opt-in wählt.
Im Moment scheint jedes Unternehmen darum zu konkurrieren, Tool Calling innerhalb der eigenen Plattform einzuschließen.
Wenn Modelle am Ende in einer lokalen Umgebung fast alle Aufgaben erledigen können, dürfte auch die Sandboxing-Debatte an Bedeutung verlieren.
Ich frage mich, wann persistente virtuelle Entwicklungsumgebungen angeboten werden.
und ich halte es weiterhin für sinnvoll, AI-Coding-Tools oder Agenten in isolierten Umgebungen zu betreiben.
Die meisten Entwickler würden vermutlich eher solche spezialisierten Coding-Tools nutzen als die normale GPT-Web-UI.
Man kann eine Session starten, arbeiten und einen Tag später zurückkommen, wobei der Zustand des Dateisystems erhalten bleibt.
Vermutlich basiert das auf Objektspeicher, um die Kosten niedrig zu halten.
Nebenbei ist auch der Design-Artikel zu Sprites.dev von Fly interessant.
Statt lokaler Hardware bleibt nur ein Thin Client übrig, während die eigentliche Workload an Anbieter wie Microsoft ausgelagert wird.
Persönlich finde ich eine lokale Entwicklungsumgebung unverzichtbar, aber der Zeitgeist scheint in die andere Richtung zu gehen.
Diese Funktion wird entweder enorm viel Zeit sparen oder zu didaktischen Ausfällen führen.
Simons detektivische Entdeckung ist großartig.
Solche „Discovery-Posts“ sind viel interessanter als offizielle Ankündigungen.
Das inspiriert viel mehr als eine bloße Pressemitteilung.
Bald kommt wahrscheinlich die Zeit, in der ChatGPT Einweg-Apps (single-use apps) on the fly erzeugt.
Dann erstellt es im Browser Cloud-Sandbox-Apps, erreicht damit ein Ziel und verwirft sie danach sofort wieder.