Skip to main content
Glama
AxelHu
by AxelHu

chatgpt-web-agent

Eine lokale MCP-Klebeschicht, die es der ChatGPT-Weboberfläche ermöglicht, über den OpenAI Secure MCP Tunnel lokale Werkzeuge zu nutzen.

Dies ist eine ausführbare Referenzimplementierung, kein fertiges Produkt für die Ein-Klick-Installation; sie dient hauptsächlich dazu, einen praktisch validierten Integrationsansatz zu teilen. Benutzer können mit Hilfe des Agenten schnell an ihre lokale Umgebung anpassen.

Die MCP-Schnittstelle des Projekts selbst bleibt stabil, die eigentlichen Werkzeuge werden durch ein austauschbares LocalToolBackend bereitgestellt. Das erste Backend verwendet direkt das OpenClaw Plugin SDK, ohne den OpenClaw-Quellcode zu ändern und ohne Datei-, Shell-, Patch- und Hintergrundprozess-Werkzeuge neu zu implementieren.

Aktueller Status

P0 stellt vier OpenClaw-Werkzeuge bereit:

  • read

  • exec

  • process

  • apply_patch

Optional aktivierbare Google Drive-Dateiaustauschwerkzeuge:

  • drive_list

  • drive_search

  • drive_stat

  • drive_upload

  • drive_download

  • drive_export

  • drive_mkdir

Standardmäßig sind zwei schreibgeschützte OpenClaw Skills-Werkzeuge aktiviert:

  • skills_list(query?, limit?)

  • skill_read(name)

skills_list() gibt ein kompaktes Namensverzeichnis der aktuell berechtigten + modellsichtbaren Skills zurück; mit einer natürlichen Sprachabfrage query kann es über eine separate QMD-Collection eine kleine Anzahl von Kandidaten mit Namen und Beschreibung zurückgeben. skill_read akzeptiert nur den Skill-Namen/-Schlüssel, der kanonische SKILL.md-Pfad wird immer durch das Live-OpenClaw skills.status aufgelöst, der Client liefert keinen Dateipfad. Die MCP-Initialisierungsanweisungen weisen den Client außerdem an: Skills nur dann aktiv zu entdecken, wenn die Aufgabe offensichtlich von lokalen Werkzeugen, Diensten, Workflows oder Betriebsrichtlinien abhängt und der aktuelle Kontext unzureichend ist; normale eigenständige Aufgaben fragen keine Skills ab.

Standardmäßig dürfen Datei- und Patch-Werkzeuge nur auf den konfigurierten Arbeitsbereich zugreifen; exec.workdir muss sich ebenfalls innerhalb des Arbeitsbereichs befinden. Die OpenClaw-internen Parameter host/security/ask/node/elevated werden nicht an den MCP-Client weitergegeben.

Für einen eigenständigen Connector, der nur für vertrauenswürdige ChatGPT-Arbeitsbereiche autorisiert ist, kann CHATGPT_WEB_AGENT_WORKSPACE_ONLY=false gesetzt werden. In diesem Fall ist der Arbeitsbereich nur der Zielort für relative Pfade und das Standard-cwd, read/apply_patch/exec.workdir kann auf externe absolute Pfade zugreifen. Dieser Modus ist keine Sicherheitssandbox.

Die exec.workdir-Grenze ist keine Befehlssandbox. Ein Client mit exec-Berechtigung kann dennoch über den Befehlstext auf andere Systembereiche zugreifen; der Tunnel sollte nur an vertrauenswürdige ChatGPT-Arbeitsbereiche autorisiert werden und bei Bedarf die OpenClaw-Allowlist/Approval-Richtlinie verwenden.

Entwicklung

Erfordert Node.js 22.22.3 oder eine kompatible OpenClaw-Node-Version sowie pnpm.

pnpm install
pnpm check
pnpm smoke

Ausführung

export CHATGPT_WEB_AGENT_WORKSPACE=/path/to/workspace
# 可信独立 Connector 如需把 workspace 仅作为默认工作目录:
# export CHATGPT_WEB_AGENT_WORKSPACE_ONLY=false
pnpm build
node dist/cli.js

Der Dienst verwendet MCP stdio, die Standardausgabe trägt nur das MCP-Protokoll.

Konfiguration

Kopieren Sie .env.example, um die verfügbaren Umgebungsvariablen zu sehen. Die Standard-Tool-Whitelist lautet:

read,exec,process,apply_patch

exec verwendet standardmäßig allowlist + on-miss. Kann explizit überschrieben werden:

export CHATGPT_WEB_AGENT_EXEC_SECURITY=allowlist
export CHATGPT_WEB_AGENT_EXEC_ASK=on-miss

Für einen ersten vertrauenswürdigen lokalen Smoke-Test kann vorübergehend verwendet werden:

export CHATGPT_WEB_AGENT_EXEC_SECURITY=full
export CHATGPT_WEB_AGENT_EXEC_ASK=off

Architektur

ChatGPT Web
  → OpenAI Secure MCP Tunnel
  → chatgpt-web-agent MCP Server
  → LocalToolBackend
      → OpenClawBackend
      → SkillsBackend → OpenClaw Gateway (live status)
                      → QMD MCP (optional semantic discovery)
      → NativeBackend / other backend(后续按需)

Das Skills-Backend dient nur der Capability-Erkennung/-Lektüre; QMD ist lediglich ein Beschleuniger für die Kandidatensuche, das Live-OpenClaw-Inventar ist stets die maßgebliche Quelle für Berechtigung, Modellsichtbarkeit und kanonischen Skill-Pfad.

Semantische Skills-Erkennung

Es wird empfohlen, den semantischen Katalog in einem separaten QMD-named-Index zu platzieren, nicht im gemeinsamen Memory-Index. Der Vektor-ANN von QMD 2.5.3 holt zuerst Kandidaten aus dem gesamten Index und wendet dann den Collection-Filter an; das Mischen von einigen Dutzend Skills mit Zehntausenden von Memory-Dokumenten würde die kleine Collection von Kandidaten aus dem gesamten Index überfluten lassen.

Die aktuelle Bereitstellung verwendet:

local catalog: <workspace>/skills-catalog/
M4 mirror:     ~/qmd-data/skills-chatgpt-web-agent/
QMD index:     skills-chatgpt-web-agent
collection:    skills-chatgpt-web-agent
MCP endpoint:  http://192.168.0.96:8182/mcp

Die Suche verwendet Qwen3-Embedding-0.6B, nur Vektoren, rerank=false, keine Query-Expansion / HyDE. QMD-Treffer sind nur Kandidaten; vor der Rückgabe wird die Schnittmenge mit dem Live-skills.status gebildet. Das Katalogschema/-inventar wird über catalogHash auf Generationsungültigkeit geprüft; bei Nichtverfügbarkeit von QMD oder veraltetem Katalog wird automatisch auf das Live-Names-only-Katalog zurückgegriffen.

Google Drive

Drive ist ein optionaler Datenkanal, keine Hintergrundsynchronisation, Festplatteneinbindung oder vollständige Datenträgerspiegelung. Die Implementierung verwendet direkt die Google Drive API v3, MCP stellt nur kleine, stabile Dateioperationsprimitive bereit.

Standardmäßig können lokale Upload-/Download-/Exportpfade von Drive nur in:

<CHATGPT_WEB_AGENT_WORKSPACE>/exchange

Diese Einschränkung ist unabhängig von CHATGPT_WEB_AGENT_WORKSPACE_ONLY und dient dazu, das Risiko zu verringern, dass Drive-Werkzeuge als Kanal für den Export beliebiger lokaler Daten missbraucht werden. Bei Bedarf kann der Bereitsteller dies über CHATGPT_WEB_AGENT_DRIVE_LOCAL_ROOT und CHATGPT_WEB_AGENT_DRIVE_LOCAL_ROOT_ONLY anpassen.

Einmalige OAuth-Konfiguration

  1. Aktivieren Sie die Drive-API in Google Cloud und erstellen Sie einen Desktop-OAuth-Client.

  2. Speichern Sie das heruntergeladene OAuth-JSON als:

    <workspace>/.credentials/google-drive/credentials.json

    Oder setzen Sie CHATGPT_WEB_AGENT_DRIVE_CREDENTIALS auf einen anderen lokalen privaten Pfad.

  3. Führen Sie aus:

    CHATGPT_WEB_AGENT_WORKSPACE=/path/to/workspace pnpm drive:auth

    Nach Abschluss der Browser-Autorisierung wird ein Authorized-User-Token mit Berechtigung 0600 erstellt. Das OAuth-Client-Secret und das Refresh-Token sollten nicht in Git committet und nicht über MCP zurückgegeben werden.

  4. Setzen Sie beim Start des Dienstes:

    export CHATGPT_WEB_AGENT_DRIVE_ENABLED=true

In den Drive-Werkzeugen verwenden folderId / fileId direkt die Drive-API-ID. Normale Binärdateien verwenden drive_download; Google Docs/Sheets/Slides verwenden drive_export zum Export in den angegebenen MIME-Typ.

-
license - not tested
-
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

  • Search your AI chat history (ChatGPT, Claude, Codex) from any MCP client. Remote, private, read-only

  • MCP connector that lets ChatGPT list, search, and run your Apple Shortcuts via a local Mac agent

  • Security-first WordPress MCP server. 129 tools for Claude, ChatGPT, Gemini. Free on wp.org.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/AxelHu/chatgpt-web-agent'

If you have feedback or need assistance with the MCP directory API, please join our Discord server