HN 표시: OpenClaw에서 ChatGPT 앱 사용
hackernews
|
|
📦 오픈소스
#ai
#ai 딜
#chatgpt
#openai
#openclaw
#오픈소스
원문 출처: hackernews · Genesis Park에서 요약 및 분석
요약
오픈소스 프로젝트인 'OpenClaw' 환경 내에서 지메일, 구글 캘린더 등 다양한 챗GPT 앱을 연동하여 사용할 수 있도록 돕는 새로운 플러그인이 소개되었습니다. 사용자는 해당 플러그인을 설치하고 설정 파일을 통해 전체 앱을 허용하거나 특정 앱만 선택적으로 활성화할 수 있습니다. 특히 캘린더 삭제나 이메일 수정 같은 의도치 않은 데이터 손실을 막기 위해 파괴적 작업은 기본적으로 허용되지 않도록 안전 장치가 마련되어 있습니다. 플러그인은 각 앱마다 독립적인 로컬 MCP 도구를 생성하며, 사용자의 자연어 요청을 받아 처리 시마다 새로운 서버 스레드를 통해 작업을 안전하게 실행합니다.
본문
Use ChatGPT apps inside OpenClaw. - Requires the OpenAI provider with ChatGPT sign-in. - Clone this repo: git clone https://github.com/kevinslin/openai-apps.git cd openai-apps - Install dependencies and the local bundle into OpenClaw: pnpm install openclaw plugins install . - Enable the bundle in your OpenClaw config: - set allow_destructive_actions to always in order to support write actions (eg. updating google calendar). default isnever Warning Enabling write actions (allow_destructive_actions: "always" ) increases risk. Agent mistakes or prompt-injection attacks can trigger unintended destructive operations (for example, deleting or modifying data in connected apps like email, calendar, or task systems). Keep this set to "never" unless you explicitly accept that risk. { "plugins": { "entries": { ... "openai-apps": { "enabled": true, "config": { "allow_destructive_actions": "never", "connectors": { "*": { "enabled": true } } } } } } } - Restart the OpenClaw gateway so plugin config changes are loaded. - Open your normal OpenClaw chat/TUI session and issue an app-backed request (examples in Usage below). summarize my recent emails add a calendar event reminding me to walk my gerbil tomorrow at 7am for 30 minutes All bundle config lives under plugins.entries["openai-apps"].config . allow_destructive_actions : Controls destructive app-action elicitations. Use"always" to auto-accept,"on-request" to prompt through the MCP client when supported, or"never" to auto-decline. Defaults to"never" .connectors : Per-app enablement map. Use explicit connector ids likegmail ,linear , orgoogle_calendar .connectors["*"] : Enables all accessible ChatGPT apps, with explicit connector entries able to disable individual apps.appServer.command /appServer.args : Override how the bundle launchescodex app-server . Example with one explicitly enabled connector: { "plugins": { "entries": { "openai": { "enabled": true }, "openai-apps": { "enabled": true, "config": { "allow_destructive_actions": "never", "connectors": { "gmail": { "enabled": true } } } } } } } To enable all accessible ChatGPT apps, use * : { "plugins": { "entries": { "openai": { "enabled": true }, "openai-apps": { "enabled": true, "config": { "allow_destructive_actions": "never", "connectors": { "*": { "enabled": true } } } } } } } You can combine wildcard enablement with explicit disables: { "plugins": { "entries": { "openai-apps": { "enabled": true, "config": { "allow_destructive_actions": "never", "connectors": { "*": { "enabled": true }, "slack": { "enabled": false } } } } } } } - Currently, destructive actions do not support on-demand elicitation (dynamic permission prompts). The OpenClaw PI MCP client does not currently support MCP elicitations. The bundle keeps its runtime state under plugin-runtimes/openai-apps/ . codex-home/ : sharedCODEX_HOME used for both snapshot refresh and per-tool invocationconnectors.snapshot.json : persisted connector records derived fromapp/list refresh-debug.json : last refresh result/debug payload written by the bundle Both refresh and invocation launch codex app-server with the same bundle-owned codex-home . Invocation still starts a fresh app-server thread for every tool call, but it now rewrites the derived apps config into the app-server-managed config inside that shared home before starting the turn instead of using a temporary invocation-only home. The persisted snapshot under plugin-runtimes/openai-apps/connectors.snapshot.json stores connector-level records derived from app/list . It does not persist raw inventory or any status payload. Example: { "version": 2, "fetchedAt": "2026-03-30T18:00:00.000Z", "projectedAt": "2026-03-30T18:00:00.000Z", "accountId": "acct_123", "authIdentityKey": "[email protected]", "connectors": [ { "connectorId": "gmail", "appId": "asdk_app_gmail", "appName": "Gmail", "publishedName": "chatgpt_app_gmail", "appInvocationToken": "gmail", "description": "Read and send Gmail messages.", "pluginDisplayNames": ["Gmail"], "isAccessible": true, "isEnabled": true } ] } This bundle: - publishes one local MCP tool per enabled ChatGPT app connector - uses codex app-server as the single authority for both tool publication and invocation - reads OpenClaw-rooted openai-codex auth and projects it into the spawned app-server session Published tool names use the chatgpt_app_ namespace. Each tool accepts a single natural-language request string and executes the app on a fresh app-server thread. For more information on plugin internal logic, see flows. Setting the developer message [ { approvalPolicy: { granular: { sandbox_approval: false, rules: false, skill_approval: false, request_permissions: true, mcp_elicitations: true, }, }, developerInstructions: 'You are servicing one OpenClaw connector tool call for Gmail. Use the app mentioned in the user input instead of browsing or relying on unrelated tools. Do not use browser, shell, file, web, image, memory, or unrelated tools. Do not ask follow-up questions. Do not f
Genesis Park 편집팀이 AI를 활용하여 작성한 분석입니다. 원문은 출처 링크를 통해 확인할 수 있습니다.
공유