chatgpt-web-agent
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:
readexecprocessapply_patch
Optional aktivierbare Google Drive-Dateiaustauschwerkzeuge:
drive_listdrive_searchdrive_statdrive_uploaddrive_downloaddrive_exportdrive_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 mitexec-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 smokeAusführung
export CHATGPT_WEB_AGENT_WORKSPACE=/path/to/workspace
# 可信独立 Connector 如需把 workspace 仅作为默认工作目录:
# export CHATGPT_WEB_AGENT_WORKSPACE_ONLY=false
pnpm build
node dist/cli.jsDer 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_patchexec verwendet standardmäßig allowlist + on-miss. Kann explizit überschrieben werden:
export CHATGPT_WEB_AGENT_EXEC_SECURITY=allowlist
export CHATGPT_WEB_AGENT_EXEC_ASK=on-missFü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=offArchitektur
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/mcpDie 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>/exchangeDiese 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
Aktivieren Sie die Drive-API in Google Cloud und erstellen Sie einen Desktop-OAuth-Client.
Speichern Sie das heruntergeladene OAuth-JSON als:
<workspace>/.credentials/google-drive/credentials.jsonOder setzen Sie
CHATGPT_WEB_AGENT_DRIVE_CREDENTIALSauf einen anderen lokalen privaten Pfad.Führen Sie aus:
CHATGPT_WEB_AGENT_WORKSPACE=/path/to/workspace pnpm drive:authNach Abschluss der Browser-Autorisierung wird ein Authorized-User-Token mit Berechtigung
0600erstellt. Das OAuth-Client-Secret und das Refresh-Token sollten nicht in Git committet und nicht über MCP zurückgegeben werden.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.
This server cannot be installed
Maintenance
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.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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