Allgemeine Einführung
Kernel Images ist ein Open-Source-Projekt, das auf GitHub gehostet wird und eine leichtgewichtige Sandbox-Umgebung für Chrome bietet. Es basiert auf Docker- und Unikraft-Technologie, um isolierte Browser-Instanzen zu erstellen, unterstützt Automatisierungs-Frameworks wie Playwright und Puppeteer und eignet sich für Web-Tests, Daten-Crawling und die Entwicklung von KI-Agenten. Das Projekt wird vom onkernel-Team unter der Apache-2.0-Lizenz mit offenem Code und Beiträgen der Community gepflegt. Die Benutzer können die Browser-Umgebung durch eine einfache Konfiguration einrichten und dabei die Vorteile eines geringen Ressourcenverbrauchs und eines schnellen Starts genießen. Beamte bieten auch Hosting-Dienste an, Benutzer können sich auf die Warteliste für weitere Funktionen setzen lassen.
Funktionsliste
- Bietet einen vorkonfigurierten Chrome-Browser mit Unterstützung für das Chrome DevTools-Protokoll.
- Kompatibel mit Playwright und Puppeteer zur einfachen Integration von Automatisierungsskripten.
- Bietet eine Remote-GUI-Schnittstelle über noVNC zur Unterstützung der visuellen Überwachung und Steuerung.
- integriert (wie in integrierter Schaltung) Anthropisch (in Form eines Nominalausdrucks) Computer Verwenden Sie einen Agenten, der Text- und Sprachaktionen unterstützt.
- Die Unikernel-Implementierung, die auf Unikraft basiert, unterstützt den automatischen Ruhezustand und zustandsabhängige Snapshots.
- Unterstützt die Bereitstellung von Docker-Containern und ist kompatibel mit Linux, macOS und Windows.
- Kaltstart mit extrem niedriger Latenz (weniger als 20 ms) für Hochleistungsszenarien.
- Offene Port-Konfiguration für einfache Verbindung und Debugging von externen Tools.
Hilfe verwenden
Einbauverfahren
Kernel Images unterstützt sowohl die Docker- als auch die Unikraft-Bereitstellung. Im Folgenden finden Sie die detaillierten Schritte für Linux und macOS (Windows-Benutzer müssen Docker Desktop installieren).
1. installieren Sie Docker
Stellen Sie sicher, dass Docker auf Ihrem System installiert ist. Führen Sie den folgenden Befehl aus, um dies zu überprüfen:
docker --version
Falls nicht installiert, lesen Sie die offizielle Anleitung:
- Ubuntu/Debian:
sudo apt update sudo apt install -y docker.io sudo usermod -aG docker $USER
- macOS: Laden Sie Docker Desktop von der offiziellen Docker-Website herunter.
- Windows: Installieren Sie Docker Desktop und aktivieren Sie WSL 2.
2. das Klonen von Projektlagern
Klonen Sie das Kernel Images Repository mit Git:
git clone https://github.com/onkernel/kernel-images.git
cd kernel-images
3. das Docker-Image erstellen
Erstellen Sie im Stammverzeichnis des Projekts das Docker-Image:
docker build -t kernel-images -f containers/docker/Dockerfile .
Überprüfen Sie, ob das Image erfolgreich erstellt wurde:
docker images | grep kernel-images
4. den Docker-Container ausführen
Starten Sie eine Sandbox-Instanz von Chrome:
docker run -d -p 9222:9222 -p 6080:6080 --name kernel-browser kernel-images
-p 9222:9222
Map Chrome DevTools Ports für automatisierte Framework-Verbindungen.-p 6080:6080
Mappt einen noVNC-Port für den Fernzugriff auf die GUI.--name kernel-browser
: Benannte Container für eine einfache Verwaltung.
5) (fakultativ) Einsatz von Unikraft
Unikraft bietet einen leichteren Unikernel-Einsatz für Hochleistungsszenarien. Installieren Sie die Unikraft-Toolchain:
- Beratung
unikernels/unikraft-cu/README.md
Im Folgenden finden Sie eine Liste der zu installierenden Abhängigkeiten (z. B.kraftkit
). - Erstellen Sie das Unikernel-Image:
cd unikernels/unikraft-cu make
- Führen Sie die Instanz aus:
kraft run
Hauptfunktionen
1) Rahmen für die Automatisierung der Konnektivität
Die Chrome-Umgebung von Kernel Images unterstützt sowohl Playwright als auch Puppeteer; im Folgenden sehen Sie ein Beispiel für Playwright:
- Dramatiker installieren:
npm install playwright
- Skripte erstellen
test.js
::const { chromium } = require('playwright'); (async () => { const browser = await chromium.connectOverCDP('http://localhost:9222'); const page = await browser.newPage(); await page.goto('https://example.com'); console.log(await page.title()); await browser.close(); })();
- Führen Sie das Skript aus:
node test.js
2. ferngesteuerte GUI-Überwachung
Kernel Images bietet eine Remote-GUI-Schnittstelle über noVNC. Nach dem Start des Containers greifen Sie auf die http://localhost:6080
(Stellen Sie sicher, dass der Anschluss 6080
Auf die noVNC-Schnittstelle kann zugegriffen werden, um den Browser-Status zu überwachen, Skripte zu debuggen oder Netzwerkanfragen in Echtzeit zu überprüfen (gemappt). Die Schnittstelle unterstützt sowohl Maus- als auch Tastaturbedienung und ist für die Fernsteuerung geeignet.
3. automatisierter Ruhezustand und Schnappschüsse
Im Unikernel-Modus geht der Browser automatisch in den Ruhezustand über, wenn keine Netzaktivität stattfindet, und beansprucht dabei nur sehr wenige (fast keine) Ressourcen. Während des Ruhezustands erstellt das System einen Schnappschuss des Browserzustands (einschließlich Cookies, Seitenposition, Fensterzoom usw.). Der Zustand wird wiederhergestellt:
kraft resume
Die Snapshot-Funktion eignet sich für lang laufende Aufgaben wie Crawling oder Tests und stellt sicher, dass die Aufgaben nach einer Unterbrechung nahtlos fortgesetzt werden können.
4. die Integration anthropischer Agenten
Kernel Images ist mit dem Computer Use Agent von Anthropic integriert, um die Bedienung des Browsers über Text- oder Sprachbefehle zu unterstützen. Verfahren:
- Melden Sie sich für ein Anthropic-Konto an, um einen API-Schlüssel zu erhalten.
- Setzen von Umgebungsvariablen:
export ANTHROPIC_API_KEY=your-api-key
- Führen Sie das Agentenskript (das sich im Verzeichnis
agent-loop.py
):python agent-loop.py
- Geben Sie Anweisungen in den Chat-Bildschirm ein, z. B. "Öffnen Sie example.com und machen Sie einen Screenshot" oder "Füllen Sie das Formular aus".
5. extrem niedrige Latenzzeit beim Kaltstart
Der Unikernel-Modus hat eine Kaltstartzeit von weniger als 20 Millisekunden, was ideal für Szenarien ist, die eine schnelle Reaktionszeit erfordern (z. B. ereignisgesteuerte Automatisierungsaufgaben), während der Docker-Modus etwas langsamer bootet, aber immer noch besser ist als traditionelle virtuelle Maschinen.
caveat
- Stellen Sie sicher, dass der Anschluss
9222
im Gesang antworten6080
Unbesetzt. - Aktualisieren Sie die Mirrors regelmäßig mit den neuesten Funktionen:
docker pull kernel-images:latest
- Für den Einsatz von Unikraft sind Kenntnisse der Linux-Umgebung erforderlich, und es wird empfohlen, die offizielle Dokumentation zu Rate zu ziehen.
- Systemanforderungen: mindestens 2 GB RAM, 10 GB Speicherplatz.
Anwendungsszenario
- Web-Automatisierungstests
Entwickler verwenden Kernel Images zur Ausführung von Playwright-Skripten, um Benutzeraktionen zu simulieren und die Funktionalität der Website zu testen. Die Sandbox-Umgebung gewährleistet die Isolierung der Tests und eignet sich für die CI/CD-Integration. - Crawling von Daten
Datenanalysten setzen Kernel Images für den Stapelzugriff auf Webseiten und die Extraktion strukturierter Daten ein. Hibernation und Snapshot-Funktionen unterstützen lange Aufgaben und reduzieren die Serverkosten. - Entwicklung von AI-Agenten
KI-Entwickler verwenden Anthropic-Agenten, um Intelligenzen zu entwickeln, die Sprach- oder Textsteuerung für komplexe Aufgaben wie das automatische Ausfüllen von Formularen oder die Suche nach Inhalten unterstützen. - Remote-Debugging und -Zusammenarbeit
Teams überwachen Browser aus der Ferne über die noVNC-Schnittstelle, die sich ideal für die standortübergreifende Zusammenarbeit oder die Cloud-basierte Entwicklung eignet, und sehen das Rendering von Seiten und die Skriptausführung in Echtzeit.
QA
- Welche Betriebssysteme werden von Kernel Images unterstützt?
Der Docker-Modus unterstützt Linux, macOS und Windows (erfordert Docker Desktop). Der Unikraft-Modus unterstützt hauptsächlich Linux. - Wie kann ich meine Sandkastenumgebung sicher halten?
Browser-Instanzen werden in einem isolierten Docker-Container oder Unikernel ausgeführt, der vollständig vom Host-System getrennt ist, wodurch Sicherheitsrisiken verringert werden. - Ist das Merkmal Anthropischer Agent erforderlich?
Nein, ein Anthropic-Konto ist für die Basic Browser-Funktionalität nicht erforderlich. Die Proxy-Funktionalität erfordert einen API-Schlüssel. - Wie niedrig ist die Kaltstart-Latenzzeit?
Im Unikernel-Modus erfolgt der Kaltstart in weniger als 20 Millisekunden, der Docker-Modus ist etwas langsamer, aber immer noch effizient. - Wie kann ich mich an der Projektentwicklung beteiligen?
BeratungCONTRIBUTING.md
Wenn Sie sich nicht sicher sind, was Sie tun möchten, reichen Sie einen Pull-Request ein oder erstellen Sie ein Issue auf GitHub.