원클릭으로
whatsapp-relay
Connect and manage a local WhatsApp account from Codex using a terminal QR code and WhatsApp MCP tools.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Connect and manage a local WhatsApp account from Codex using a terminal QR code and WhatsApp MCP tools.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
| name | whatsapp-relay |
| description | Connect and manage a local WhatsApp account from Codex using a terminal QR code and WhatsApp MCP tools. |
Use this skill when the user wants to connect WhatsApp, inspect recent chats, read messages, sync older history on demand, send a message from Codex, or control Codex from an allowed WhatsApp number.
Check local auth state first:
Use the whatsapp_auth_status plugin tool.
If WhatsApp is not authenticated, run the QR flow:
Use the whatsapp_start_auth plugin tool.
The tool returns a terminal QR block. Tell the user to scan that QR directly from the terminal or Codex output.
After auth succeeds, prefer the plugin's WhatsApp MCP tools for chat listing, history sync, message review, and sending replies.
If the QR code expires, rerun whatsapp_start_auth.
If the user wants to control Codex from WhatsApp, set up the controller bridge:
Use whatsapp_allow_controller, then whatsapp_start_controller_bridge.
Once the bridge is running, allowed direct chats can:
/new or /n to start fresh/sessions or /ls to list recent Codex threads/1, /2, ... or /session <number|thread-id-prefix> or /c <number|thread-id-prefix> to switch this chat to another Codex session/status or /st to inspect the active session/permissions or /p to inspect the current permission level/voice to inspect or change outbound voice-reply mode for that chat/permissions ro|ww|dfa or /permissions read-only|workspace-write|danger-full-access to change the session sandbox level/approve or /a, /approve session, /deny or /d, or /cancel or /q to answer pending approvals in workspace-write/stop or /x to cancel the in-flight Codex run/help or /h to see command helpThe bridge uses codex app-server under the hood so each allowed number maps to a native Codex thread that can be resumed across messages.
workspace-write is the safe default because guarded command and file-change approvals can be answered from WhatsApp.
danger-full-access requires an explicit confirmation code from the chat before the bridge disables sandboxing for that session.
Voice notes are transcribed locally with Parakeet v3 via uvx and ffmpeg, and short low-confidence transcripts are rejected so the chat can retry instead of sending a bad prompt to Codex.
Outbound voice replies are synthesized locally through Chatterbox by default. English uses Turbo, and supported non-English replies route through Chatterbox Multilingual. macOS say remains available as an explicit fallback.
While the bridge is running, treat it as the sole owner of the live WhatsApp session. Prefer cached reads from MCP tools and route outbound messages through the bridge instead of reconnecting a second socket.
If the allowed controller is the same WhatsApp account linked to the plugin, the self chat can be used as the control surface and should be treated as a valid source of prompts.
plugins/whatsapp-relay/data/auth*plugins/whatsapp-relay/data/store.jsonwhatsapp_sync_history before concluding the history is unavailable.npm run whatsapp:auth as a local fallback, not the primary path.plugins/whatsapp-relay/data/auth* as sensitive local state and keep it out of git.help, status, stop, and new session.