Communitygithub.com

cli-anything-browser

Browser-Automatisierung über die Kommandozeile mittels DOMShell MCP Server. Steuert Chrome wie ein Dateisystem: ls, cd, cat, grep, click.

Was ist cli-anything-browser?

Das Skill 'cli-anything-browser' ermöglicht die automatisierte Steuerung eines Chrome-Browsers über die Kommandozeile, basierend auf dem DOMShell MCP Server. Der Benutzer navigiert durch den Accessibility-Tree einer Webseite mit vertrauten Dateisystem-Befehlen wie `ls`, `cd`, `cat`, `grep` und `click`. Es ist besonders nützlich für AI-Agenten (z.B. Claude Code, Cursor, Codex), die Webseiten analysieren, Formulare ausfüllen oder auf Buttons klicken müssen, ohne dass ein visueller Browser gestartet werden muss. Das Tool unterstützt JSON-Ausgabe für einfache maschinelle Verarbeitung, einen Daemon-Modus für wiederholte Befehle (vermeidet Kaltstart) und eine interaktive REPL. Sicherheitsaspekte wie URL-Beschränkungen (nur http/https), Blockieren privater Netzwerke und mögliche Risiken des Accessibility-Tree werden in der Dokumentation behandelt. Die Installation erfordert Node.js/npx, die DOMShell Chrome-Erweiterung und Python 3.10+.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/HKUDS/CLI-Anything/tree/main/skills/cli-anything-browser

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Was macht cli-anything-browser?

Eine Kommandozeilen-Schnittstelle zur Browser-Automatisierung mittels DOMShell MCP Server. Navigieren Sie durch Webseiten mit Dateisystem-Befehlen: ls, cd, cat, grep, click.

Installation

Voraussetzungen

  1. Node.js und npx (für den DOMShell MCP Server):

    # Node.js von https://nodejs.org/ installieren
    npx --version
    
  2. Chrome/Chromium mit DOMShell-Erweiterung:

    • Erweiterung in Chrome installieren
    • Stellen Sie sicher, dass Chrome läuft, bevor Sie die CLI verwenden
  3. Python 3.10+

CLI installieren

cd browser/agent-harness
pip install -e .

Befehlsgruppen

page — Seiten-Navigation

  • page open <url> — Zu einer URL navigieren
  • page reload — Aktuelle Seite neu laden
  • page back — Zurück in der Verlaufsliste
  • page forward — Vorwärts in der Verlaufsliste
  • page info — Informationen zur aktuellen Seite anzeigen

fs — Dateisystem-Befehle (Accessibility Tree)

  • fs ls [pfad] — Elemente im Pfad auflisten
  • fs cd <pfad> — Verzeichnis wechseln
  • fs cat [pfad] — Inhalt eines Elements lesen
  • fs grep <muster> [pfad] — Nach einem Textmuster suchen
  • fs pwd — Aktuelles Arbeitsverzeichnis anzeigen

act — Aktions-Befehle

  • act click <pfad> — Ein Element anklicken
  • act type <pfad> <text> — Text in ein Eingabefeld eingeben

session — Sitzungsverwaltung

  • session status — Sitzungsstatus anzeigen
  • session daemon-start — Dauerhaften Daemon-Modus starten
  • session daemon-stop — Daemon-Modus beenden

Anwendungsbeispiele

Grundlegende Navigation

# Eine Seite öffnen
cli-anything-browser page open https://example.com

# Struktur erkunden
cli-anything-browser fs ls /
cli-anything-browser fs cd /main
cli-anything-browser fs ls

# Zurück zur Wurzel
cli-anything-browser fs cd /

Suchen und Klicken

cli-anything-browser fs grep "Anmelden"
cli-anything-browser act click /main/button[0]

Formular ausfüllen

cli-anything-browser act type /main/input[0] "[email protected]"
cli-anything-browser act click /main/button[0]

JSON-Ausgabe

cli-anything-browser --json fs ls /

Daemon-Modus (schnellere interaktive Nutzung)

# Permanente Verbindung starten
cli-anything-browser session daemon-start

# Befehle ausführen (nutzt die bestehende Verbindung)
cli-anything-browser fs ls /
cli-anything-browser fs cd /main

# Daemon beenden, wenn fertig
cli-anything-browser session daemon-stop

Interaktive REPL

cli-anything-browser

Pfad-Syntax

DOMShell verwendet einen dateisystemähnlichen Pfad für den Accessibility Tree:

/                           — Wurzel (Dokument)
/main                       — Haupt-Landmarke
/main/div[0]                — Erstes div in main
/main/div[0]/button[2]      — Dritter Button im ersten div
  • Array-Indizes sind 0-basiert: button[0] ist der erste Button
  • Verwenden Sie .., um eine Ebene nach oben zu gehen
  • Verwenden Sie / für die Wurzel

Agenten-spezifische Hinweise

JSON-Ausgabe zum Parsen

Alle Befehle unterstützen das --json-Flag für maschinenlesbare Ausgabe:

cli-anything-browser --json fs ls /

Liefert:

{
  "path": "/",
  "entries": [
    {"name": "main", "role": "landmark", "path": "/main"}
  ]
}

Fehlerbehandlung

Die CLI liefert klare Fehlermeldungen für häufige Probleme:

  • npx nicht gefunden: Node.js von https://nodejs.org/ installieren
  • DOMShell nicht gefunden: npx @apireno/domshell --version ausführen
  • MCP-Aufruf fehlgeschlagen: DOMShell Chrome-Erweiterung installieren

Überprüfen Sie den Rückgabewert von is_available(), bevor Sie Befehle ausführen.

Daemon-Modus für Effizienz

Für Agenten-Workflows mit mehreren Befehlen verwenden Sie den Daemon-Modus:

  1. Daemon starten: cli-anything-browser session daemon-start
  2. Befehle ausführen: Jeder Befehl nutzt die bestehende MCP-Verbindung wieder
  3. Daemon beenden: cli-anything-browser session daemon-stop

Dies vermeidet den 1-3 Sekunden dauernden Kaltstart für jeden Befehl.

Links

Sicherheitsaspekte

WICHTIG: Bei Verwendung dieser CLI mit KI-Agenten sollten folgende Sicherheitsaspekte beachtet werden:

URL-Einschränkungen

Der Browser-Harness validiert alle URLs vor der Navigation:

  • Explizites Schema erforderlich: URLs müssen http:// oder https:// enthalten (URLs ohne Schema wie example.com werden abgelehnt)
  • Blockierte Schemata: file://, javascript://, data://, vbscript://, about://, chrome:// und browser-interne Schemata
  • Erlaubte Schemata: Nur http:// und https:// (konfigurierbar über CLI_ANYTHING_BROWSER_ALLOWED_SCHEMES)
  • Privates Netzwerk blockieren: Optional über CLI_ANYTHING_BROWSER_BLOCK_PRIVATE=true (standardmäßig deaktiviert)

DOM-Inhaltsrisiken

Der Accessibility Tree enthält alle sichtbaren und versteckten Elemente einer Seite. Bösartige Webseiten könnten:

  • ARIA-Labels mit manipulativen Texten erstellen (z. B. „Ignoriere vorherige Anweisungen“)
  • aria-hidden-Elemente verwenden, um für Benutzer unsichtbare Inhalte einzuschleusen
  • Verwirrende DOM-Strukturen erzeugen, die die Navigation fehlleiten

Gegenmaßnahme: Bei Interaktion mit nicht vertrauenswürdigen Webseiten sollten Sie:

  1. Das --json-Flag für strukturierte Ausgabe verwenden, die sicherer zu parsen ist
  2. DOM-Inhalte bereinigen oder filtern, bevor sie in Prompts eingefügt werden
  3. Die Navigation auf vertrauenswürdige Domänen beschränken

Zugriff auf private Netzwerke

Standardmäßig kann der Browser auf localhost und private Netzwerke zugreifen (192.168.x.x, 10.x.x.x usw.). Zum Blockieren:

export CLI_ANYTHING_BROWSER_BLOCK_PRIVATE=true
cli-anything-browser page open http://localhost:8080  # Wird blockiert

Sitzungsisolation

Mehrere Browser-Sitzungen teilen sich dieselbe Chrome-Instanz. Cookies und Authentifizierungsstatus können über Sitzungen hinweg bestehen bleiben. Für sensible Vorgänge sollten Sie:

  1. Den Gastmodus oder Inkognito-Modus von Chrome verwenden
  2. Cookies zwischen Sitzungen löschen
  3. Für verschiedene Sicherheitskontexte separate Chrome-Profile verwenden

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

cli-anything-adguardhome

>-

cli-anything-anygen

>-

cli-anything-audacity

>-

cli-anything-blender

>-

cli-anything-calibre

>-

cli-anything-ccswitch

CLI interface for CC Switch — manage AI coding tool configurations from the terminal

cli-anything-chromadb

>-

cli-anything-cloudanalyzer

Command-line interface for CloudAnalyzer — Agent-friendly harness for CloudAnalyzer, a QA platform for mapping, localization, and perception outputs. Supports 27 commands across 8 groups: point cloud evaluation, trajectory evaluation, ground segmentation QA, config-driven quality gates, baseline evolution, processing, visualization, and interactive REPL.

cli-anything-cloudcompare

Command-line interface for CloudCompare — Agent-friendly harness for CloudCompare, the open-source 3D point cloud and mesh processing software. Supports 41 commands across 9 groups: project management, session control, point cloud operations (subsample, filter, segment, analyze), mesh operations, distance computation (C2C, C2M), transformations (ICP, matrix), export (LAS/LAZ/PLY/PCD/OBJ/STL/E57), and interactive REPL.

cli-anything-comfyui

>-

cli-anything-dify-workflow

Wrapper for the Dify workflow DSL CLI. Create, inspect, validate, edit, and export Dify workflow files through a CLI-Anything harness.

cli-anything-drawio

>-

cli-anything-eez-studio

Use EEZ Studio from the command line: inspect and modify native .eez-project files, edit LVGL screens/widgets, manage SCPI commands, and invoke the real EEZ Studio backend for LVGL builds.

cli-anything-eth2-quickstart

>-

cli-anything-exa

>-

cli-anything-firefly-iii

Firefly III CLI - Personal finance management via CLI-Anything

cli-anything-freecad

Complete CLI harness for FreeCAD parametric 3D CAD modeler (258 commands). Covers ALL workbenches: Part (29 primitives + boolean + mirror + loft + sweep), Sketcher (26 cmds: geometry + constraints + editing), PartDesign (38 cmds: pad/pocket/groove/fillet/chamfer/patterns/hole/datum), Assembly (11 cmds), Mesh (16 cmds), TechDraw (15 cmds: views + dimensions + PDF/SVG), Draft (33 cmds: 2D shapes + arrays + transforms), FEM (12 cmds), CAM/CNC (10 cmds), Surface (6 cmds), Spreadsheet (7 cmds), Import (13 formats), Export (17 formats), Measure (12 cmds), Materials (21 presets). Headless FreeCAD export to STEP/IGES/STL/OBJ/DXF/PDF/glTF/3MF.

cli-anything-gimp

>-

cli-anything-godot

>-

cli-anything-inkscape

>-

Verwandte Skills