Skip to main content
Glama
Quindart-com

opencode-chromium

by Quindart-com

Community und Roadmap

Die Roadmap wird von den Nutzern gestaltet – eröffnen Sie einen Vorschlag, stimmen Sie mit Reaktionen ab und verfolgen Sie Ankündigungen auf GitHub Discussions:

  • Funktionsanfragen – starten Sie einen Vorschlag (die Vorlage hält ihn strukturiert): beschreiben Sie das Problem und den Workflow, den er ermöglichen soll; andere stimmen mit 👍/❤️-Reaktionen ab. Die Betreuer sortieren abgestimmte Vorschläge in die anstehenden Arbeiten ein und kennzeichnen sie mit ihrem Status (geplant, in Arbeit, veröffentlicht). Vorschlag eröffnen →

  • Ankündigungen – Veröffentlichungen, Roadmap-Status und Hinweise der Betreuer. Ankündigungen folgen →

  • Vorgehen – Funktionsanfragen betreffen das, was dieses Repository veröffentlicht (Laufzeit, Erweiterung, nativer Host, Fähigkeiten); Fehlerberichte und Sicherheitslücken gehören stattdessen in die GitHub Issues.

Related MCP server: agent-browser

Was enthalten ist

  • Vier kompakte Standardwerkzeuge: browser_run, browser_observe, browser_session und browser_finalize.

  • Die vollständige Multi-Operation-Browser-Engine hinter expliziten Kompatibilitäts- und Fähigkeitsmodi.

  • Kontextarme Belege: Beobachtungszusammenfassungen lassen leere Felder, doppelten Text und ausführliches html/styles weg (nur über detail: "debug" verfügbar), und Inline-Antworten bleiben innerhalb des 4.096-Zeichen-Budgets, wobei übergroße Ausgaben in Artefakt-Ressourcen ausgelagert werden.

  • Natives Hover, JavaScript-Dialogbehandlung mit Genehmigungssteuerung und PNG/JPEG/WebP-Screenshots mit Qualitätskontrolle.

  • Nicht aufdringliche Hintergrundautomatisierung: Klicks, Tippen und Navigation aktivieren den Tab nie und holen sein Fenster nicht in den Vordergrund, sodass Sie weiterarbeiten können, während das Werkzeug einen Hintergrund-Tab steuert.

  • Ursprungsrichtlinie auf Serverebene (erlaubte/blockierte Ursprungs-Globs) und Datei-Root-Beschränkungen für Uploads.

  • Persistente Sitzungsemulation (Viewport, Netzwerk, CPU, Geolokalisierung, Farbschema, User-Agent, Header, Initialisierungsskripte) mit automatischem Zurücksetzen beim Abschließen.

  • Netzwerkanfragen-Aufschlüsselung nach requestId mit artefaktgestütztem Body-Überlauf und Quellcode-zugeordneten Konsolen-Stack-Traces.

  • Leistungsdiagnose: Der browser_observe-Modus diagnostic zeichnet CDP-Traces auf und berechnet LCP, CLS, lange Aufgaben, TBT und mehr im nativen Host; rohe Traces sind artefaktorientiert und CrUX/Felddaten bleiben aus.

  • Snowflake-Standardsuche mit expliziten lexikalischen/automatischen Alternativen und Qwen-Tiefensuche ohne Laden von Modellen in der Erweiterung.

  • Profilbewusste Sitzungen, Tab-Eigentum, Wiederherstellung veralteter Ziele, begrenzte Lese-Wiederholungen, bedingtes Absetzen, Genehmigungen und Artefakt-Ressourcen.

  • MCP-stdio- und Loopback-/authentifizierte HTTP-Transporte mit protokollsauberer Standardausgabe.

  • Ein nativer OpenCode-V2-Adapter und gemeinsame OpenAI-, Anthropic-, Gemini- und MCP-Schema-Adapter.

Schnellstart (npm)

Installieren Sie das veröffentlichte Paket einmal und verbinden Sie dann einen beliebigen unterstützten Client. Das Paket enthält die CLI (opencode-chromium), die MCP-Server-Binärdatei (opencode-chromium-mcp), die Browsererweiterung und den Installer für den nativen Host:

npx -y opencode-chromium-mcp

Client

Oberfläche

Einrichtung

OpenCode V2

Natives Plugin

"plugin": ["opencode-chromium"] in opencode.json

Codex

MCP-Server (stdio)

codex mcp add opencode-browser-plugin -- npx -y opencode-chromium-mcp

Beliebiger MCP-Client

MCP-Server (stdio)

npx -y opencode-chromium-mcp als stdio-Server

Direktes JavaScript

SDK (opencode-chromium/sdk)

import { createAgentBrowserRuntime } from "opencode-chromium/sdk"

1. Paket installieren

npm install -g opencode-chromium

2. Browsererweiterung laden

Installieren Sie opencode-chromium aus dem Chrome Web Store. Der Ablauf mit entpackter Erweiterung unten bleibt für die Entwicklung und lokale Tests verfügbar.

Öffnen Sie chrome://extensions, aktivieren Sie den Entwicklermodus und laden Sie den entpackten Ordner extension/ aus dem installierten Paket:

npm root -g
# load "<that path>\opencode-chromium\extension" as an unpacked extension

Die Erweiterungs-ID wird aus dem Ladepfad abgeleitet. Behalten Sie den Ordner daher an seinem Speicherort. Notieren Sie die in chrome://extensions angezeigte ID.

3. Nativen Messaging-Host installieren

node "$(npm root -g)/opencode-chromium/scripts/install-native-host.js" --extension-id <extension-id> --browsers chrome

4. Einen Client verbinden

OpenCode V2 – fügen Sie den Paketnamen zur globalen ~/.config/opencode/opencode.json hinzu:

{
  "$schema": "https://opencode.ai/config.json",
  "plugin": ["opencode-chromium"]
}

Codex – registrieren Sie den erforderlichen MCP-Server:

codex mcp add opencode-browser-plugin -- npx -y opencode-chromium-mcp

Beliebiger MCP-Client – fügen Sie den stdio-Server hinzu:

{
  "mcpServers": {
    "opencode-browser-plugin": {
      "command": "npx",
      "args": ["-y", "opencode-chromium-mcp"]
    }
  }
}

Direktes JavaScript – importieren Sie die SDK-Laufzeit oder den MCP-Server programmatisch (siehe docs/direct-sdk.md).

5. Überprüfen

opencode-chromium doctor --json
opencode-chromium verify

Alle vier Werkzeuge (browser_run, browser_observe, browser_session, browser_finalize) sind dann in jedem verbundenen Client verfügbar. Aktivieren Sie nicht sowohl den nativen OpenCode-Adapter als auch den MCP-Server in einer Client-Sitzung, sofern keine doppelten Werkzeuge beabsichtigt sind.

Anforderungen

  • Node.js 20 oder neuer für das npm-Paket und das SDK.

  • Bun 1.1 oder neuer beim Erstellen aus dem Quellcode oder Ausführen der Repository-Skripte.

  • Ein Chromium-basierter Browser mit geladener entpackter extension/.

  • Der native Messaging-Host, installiert für die Erweiterungs-ID.

Installieren und Erstellen

bun install --frozen-lockfile
bun run build
bun test
bun run check

Das Paket wird als 1.6.1 unter dem npm-Namen opencode-chromium veröffentlicht. Die stabile Laufzeit- und MCP-Server-Identität bleibt aus Kompatibilitätsgründen opencode-browser-plugin.

MCP

Führen Sie den Server mit vier Werkzeugen über stdio aus:

bun run mcp

Oder verwenden Sie die gebündelte Binärdatei:

opencode-chromium-mcp

Loopback-Streamable-HTTP ist verfügbar mit:

bun run mcp:http

Nicht-Loopback-HTTP erfordert ein Bearer-Token in AGENT_BROWSER_AUTH_TOKEN (oder der mit --auth-token-env ausgewählten Variable). Der Standard-Servername ist opencode-browser-plugin. Die Sicherheitskonfiguration für Ursprung und Datei-Root erfolgt auf Serverebene: Übergeben Sie --allowed-origin / --blocked-origin-Globs oder setzen Sie AGENT_BROWSER_ALLOWED_ORIGINS, AGENT_BROWSER_BLOCKED_ORIGINS und AGENT_BROWSER_ALLOWED_FILE_ROOTS (siehe docs/mcp.md).

OpenCode V2

Das Paket-Root exportiert den nativen Adapter unter Verwendung der offiziellen { id, server() }-Pfad-Plugin-Modulform von OpenCode 1.18.x, zusammen mit dem V2-Einrichtungsvertrag:

{
  "$schema": "https://opencode.ai/config.json",
  "plugin": ["opencode-chromium"]
}

Für einen lokalen Build verweisen Sie den Client auf dist/adapters/opencode/index.js oder verwenden Sie den Befehl opencode-chromium install --client opencode. Der Adapter registriert genau vier Werkzeuge, setzt codemode: false und gibt eine Bereinigungsfunktion für Neuladungen zurück.

Dieselbe Browserlaufzeit ist über den MCP-Kompatibilitätsmodus verfügbar; aktivieren Sie nicht beide Oberflächen in einer Client-Sitzung, sofern keine doppelten Werkzeuge beabsichtigt sind.

Codex

Registrieren Sie den MCP-Server aus dem npm-Paket:

codex mcp add opencode-browser-plugin -- npx -y opencode-chromium-mcp
codex mcp list

Registrieren Sie aus einem lokalen Checkout dist/adapters/mcp/server.js mit Bun:

codex mcp add opencode-browser-plugin -- bun C:\absolute\path\to\dist\adapters\mcp\server.js

Die gebündelte Fähigkeit ist skills/opencode-browser-plugin/SKILL.md. Sie folgt dem offenen Agent Skills-Standard und deckt Connector-First-Routing, Profilauswahl, Aktionsbündelung, Snowflake-Standardsuche, Genehmigungstokens, Artefakte und Abschluss ab. Sie wird mit agents/openai.yaml für die ChatGPT/Codex-Desktop-Skills-Auswahl und MCP-Abhängigkeitsmetadaten ausgeliefert.

Installieren Sie sie für alle Skills-kompatiblen Clients auf einmal:

opencode-chromium install --client skills
opencode-chromium install --client skills --dry-run
opencode-chromium uninstall --client skills

Dies kopiert die Fähigkeit nach ~/.codex/skills/, ~/.claude/skills/ und ~/.agents/skills/ (unter opencode-browser-plugin/) und registriert einen aktivierten [[skills.config]]-Eintrag in ~/.codex/config.toml, während ein veralteter opencode-browser-adapter-Eintrag entfernt wird.

Nativer Host und Erweiterung

Laden Sie extension/ als entpackte Erweiterung und installieren Sie dann den Host:

bun run install:native-host -- --extension-id <extension-id> --browsers chrome
bun run check:native-host -- --json

Verwenden Sie AGENT_BROWSER_*-Umgebungsvariablen für die neue Konfiguration. Die älteren OPENCODE_BROWSER_*-Namen bleiben während des 1.x-Kompatibilitätsfensters Aliase mit niedrigerer Priorität.

CLI

opencode-chromium doctor --json
opencode-chromium verify
opencode-chromium install --client opencode --dry-run
opencode-chromium install --client opencode-mcp --dry-run
opencode-chromium install --client codex --dry-run
opencode-chromium install --client skills --dry-run
opencode-chromium uninstall --client codex --dry-run
opencode-chromium uninstall --client skills --dry-run

Installieren und Deinstallieren sichern die benannte Konfiguration, bevor sie geändert wird, berühren nur den kanonischen Eintrag, unterstützen Probeläufe und melden geänderte Dateien.

Kontext und Fähigkeiten

Die Standard-Werkzeugschemata bleiben klein. Fordern Sie erweiterte Beschreibungen an über:

{"mode":"capabilities","pack":"downloads"}

Führen Sie erweiterte Arbeiten über browser_run aus, ohne Werkzeuge der obersten Ebene hinzuzufügen:

{
  "steps": [{
    "action": "capability",
    "capability": "downloads.events",
    "input": {}
  }]
}

Für ein tiefgehendes Anfrage-/Antwort-Debugging fordern Sie das träge Netzwerkpaket nur bei Bedarf an:

{"mode":"capabilities","pack":"network"}

Führen Sie dann network.inspect in browser_run mit dem Ziel-tabId aus. Es folgt dem CDP-Anfrage-/Antwort-Lebenszyklus des Tabs, unterstützt URL-/Methode-/Typ-/Status-/requestId-Filter und gibt geschwärzte Header nur zurück, wenn includeHeaders angefordert wird. Textkörper bleiben deaktiviert, sofern nicht ausdrücklich angefordert und genehmigt; bodyDelivery: "artifact" leitet zugelassene Textkörper an den Artefaktspeicher weiter, anstatt Inline-Vorschauen zu verwenden. Der browser_observe-Modus inspect mit target.requestId gibt die Lebenszyklusdetails einer einzelnen Anfrage zurück.

Große Ergebnisse und Screenshots sind artefaktorientiert. MCP-Clients rufen sie über browser://sessions/<session-id>/artifacts/<artifact-id> ab; OpenCode kann denselben URI mit dem browser_observe-Modus artifact anfordern.

Repository-Struktur

src/core/                 shared runtime, schemas, safety, artifacts, versions
src/browser/              profile-aware IPC client, policies, and operation engine
src/adapters/mcp/         universal MCP server and transports
src/adapters/opencode/    native OpenCode V2 adapter
src/adapters/sdk/         provider schema adapters and direct agent API
src/cli/                  install, configure, uninstall, doctor, verify
extension/                Manifest V3 browser integration
native-host/              native messaging host and semantic workers
skills/                   provider-neutral browser skill
tests/                    unit, contract, browser, and adapter regression tests
docs/                     architecture, compatibility, security, and migration guides

Überprüfung und Veröffentlichung

bun run build
bun run check:schemas
bun run check:package
bun run check:mcp
bun run test:contracts
bun run test:opencode
bun run pack
bun run test:tarball
bun run check:release

Die Veröffentlichungsprüfung lehnt veraltete V1-Pfade, persönliche Zustände, doppelte Legacy-Paketoberflächen, Schema-Wachstum über das Budget hinaus und Tarballs ohne die erstellten Adapter ab.

GitHub Actions führt dieselbe Überprüfung bei Pull-Requests und master-Pushes durch. Eine Veröffentlichung erfolgt nur über ein passendes v*-Tag durch die geschützte npm-production-Umgebung unter Verwendung von npm Trusted Publishing; es wird kein npm-Token im Repository oder Workflow gespeichert.

Sicherheit

Browserinhalte sind nicht vertrauenswürdig. Folgenreiche Aktionen erfordern kurzlebige, unveränderliche Genehmigungstokens; Schreibvorgänge werden nach unsicherer Ausführung nie automatisch wiederholt. Artefakte sind sitzungsbezogen, laufen ab, verhindern Pfadumgehungen und werden nicht in Protokollen gespeichert. MCP-Protokolldaten verbleiben in der Standardausgabe und Diagnosen im Standardfehlerkanal.

Siehe docs/architecture.md, docs/security.md, docs/compatibility.md und docs/migration-1.0.md.

Lizenz

MIT

Maintenance

ActivityNo data
ResponsivenessUnresponsive

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables AI assistants to control and interact with a Chrome browser via MCP, providing tools for navigation, screenshots, clicking, form filling, content extraction, and tab management.
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    Provides a headless Chromium browser through MCP, enabling AI agents to browse JavaScript-rendered pages, search the web, capture screenshots, extract tables and data, and run stateful multi-step interactions like clicking, typing, and form submission.
    1,109,090 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents and clients to control a real Chromium browser through MCP tool calls, including navigation, clicking, typing, JavaScript evaluation, screenshots, and DOM snapshots. Supports multiple isolated sessions over authenticated HTTP with no disk writes.
    Apache 2.0