Community코딩 & 개발github.com

Parallels Discord Roundtrip

macOS Parallels 스모크 테스트에서 Discord 양방향 메시지 전달을 종단 간 입증합니다.

Parallels Discord Roundtrip란 무엇인가요?

이 스킬은 macOS Parallels 가상 머신 내에서 Discord 메시지 왕복 테스트를 자동화합니다. 게스트가 메시지를 보내면 호스트가 Discord에서 이를 확인하고, 호스트가 다시 메시지를 게시하면 게스트가 이를 읽어서 양방향 통신이 정상적으로 작동하는지 검증합니다. Claude Code와 같은 AI 에이전트 도구와 함께 사용되며, 전용 QA 봇과 승인된 Discord 서버 및 채널을 필요로 합니다. 프레시 macOS 스냅샷에서 설치, 온보딩, 게스트 → 호스트 메시지 전송, 호스트 → 게스트 메시지 전송의 전체 흐름을 포괄하는 엔드투엔드 테스트를 제공합니다. pnpm 명령어로 간단히 실행할 수 있으며, JSON 출력을 지원하여 CI/CD 파이프라인에 통합하기 용이합니다.

지원 대상~Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/clawdbot/clawdbot/tree/main/.agents/skills/parallels-discord-roundtrip

Installed? Explore more 코딩 & 개발 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

Parallels Discord Roundtrip은(는) 무엇을 하나요?

macOS Parallels 스모크 테스트가 Discord 양방향 전달을 종단 간 입증해야 할 때 사용합니다.

목표

다음을 포함합니다:

  • 프레시 macOS 스냅샷에 설치
  • 온보딩 + 게이트웨이 상태 확인
  • 게스트가 Discord에 message send
  • 호스트가 Discord에서 해당 메시지를 확인
  • 호스트가 새 Discord 메시지를 게시
  • 게스트가 message read로 해당 새 메시지를 확인

입력

  • 전용 운영자 승인 QA 봇의 토큰을 담은 호스트 환경 변수
  • 운영자 승인 QA 길드 및 채널 ID
  • OPENAI_API_KEY

권장 실행

승인된 시크릿 소스를 통해 OPENCLAW_PARALLELS_DISCORD_TOKEN을 로드합니다. OPENCLAW_PARALLELS_DISCORD_GUILD_ID와 OPENCLAW_PARALLELS_DISCORD_CHANNEL_ID를 승인된 QA 대상으로 설정합니다. 하네스가 선택한 게스트 내부에서 해당 봇을 구성합니다.

pnpm test:parallels:macos \
  --discord-token-env OPENCLAW_PARALLELS_DISCORD_TOKEN \
  --discord-guild-id "$OPENCLAW_PARALLELS_DISCORD_GUILD_ID" \
  --discord-channel-id "$OPENCLAW_PARALLELS_DISCORD_CHANNEL_ID" \
  --json

참고 사항

  • 스냅샷 대상: macOS 26.3.1 fresh에 가장 가까운 것.
  • 스냅샷 리졸버는 이제 기본 힌트와 일치할 때 *-poweroff* 클론을 우선 선호합니다. 이렇게 하면 하네스가 더 긴 힌트를 전달하지 않고 디스크 전용 복구 스냅샷을 재사용할 수 있습니다.
  • Windows/Linux 스냅샷 복원 로그에 PET_QUESTION_SNAPSHOT_STATE_INCOMPATIBLE_CPU가 표시되면 일시 중단 상태를 한 번 삭제하고 *-poweroff* 대체 스냅샷을 만든 후 다시 실행하세요. 스모크 스크립트는 이제 복원된 전원 꺼짐 스냅샷을 자동으로 시작합니다.
  • 하네스가 게스트 내부에서 Discord를 구성합니다. 체크인된 토큰/구성은 없습니다.
  • 게스트 message send/read에는 openclaw 래퍼를 사용하세요. node openclaw.mjs message ...는 느린 메시지 하위 명령을 동일한 방식으로 노출하지 않습니다.
  • channels.discord.guilds를 하나의 JSON 객체(--strict-json)로 작성하고, 점으로 구분된 config set channels.discord.guilds.<snowflake>... 경로를 사용하지 마세요. 숫자 snowflake는 배열 인덱스로 처리됩니다.
  • 긴 Discord 설정 스크립트에는 prlctl enter / expect를 피하세요. 긴 명령이 줄바꿈/손상됩니다. Discord 구성 단계에는 prlctl exec --current-user /bin/sh -lc ...를 사용하세요.
  • 전체 3-OS 스윕: 공유 빌드 잠금은 병렬로 안전하지만 스냅샷 복원은 여전히 Parallels의 병목 현상입니다. 호스트가 이미 부하가 많은 경우 직렬화된 Windows/Linux 복원 위주 재실행을 선호하세요.
  • 하네스 정리는 종료 시 임시 Discord 스모크 메시지를 삭제합니다.
  • 하네스는 Discord 증명 성공 후 선택한 게스트를 중지하려고 시도하며, 중지가 실패하면 경고합니다. 임시 Discord 확인의 경우 핸드오프 전에 작업 소유 게스트만 중지하세요. Discord가 구성된 테스트 게스트를 증명 후 실행 상태로 두지 마세요.
  • 단계별 로그: /tmp/openclaw-parallels-smoke.*
  • 시스템 요약: --json 전달
  • 왕복이 불안정하면 먼저 실행 디렉토리에서 fresh.discord-roundtrip.log와 discord-last-readback.json을 검사하세요.

통과 기준

  • 요청된 fresh 레인 또는 업그레이드 레인이 통과
  • 요약에서 해당 레인에 대해 discord=pass 보고
  • 게스트 아웃바운드 nonce가 채널 기록에 나타남
  • 호스트 인바운드 nonce가 openclaw message read 출력에 나타남

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

1password

Set up and use 1Password CLI for sign-in, desktop integration, and reading or injecting secrets.

acp-router

Route plain-language requests for Claude Code, Cursor, Copilot, OpenClaw ACP, OpenCode, Gemini CLI, Grok Build, Qwen, Kiro, Kimi, iFlow, Factory Droid, Kilocode, or explicit ACP harness work into either OpenClaw ACP runtime sessions or direct acpx-driven sessions ("telephone game" flow). For coding-agent thread requests, read this skill first, then use only `sessions_spawn` for thread creation. Codex chat binding defaults to the native Codex app-server plugin unless ACP is explicit or background spawn needs ACP.

add-model-provider

Add and live-prove a model provider with non-interactive config one-liners, without exposing credentials.

agent-transcript

Requested GitHub PR/issue agent transcripts: redact, trim, preview, and insert safely.

apple-notes

Create, view, edit, delete, search, move, or export Apple Notes via the memo CLI on macOS.

apple-reminders

List, add, edit, complete, or delete Apple Reminders and reminder lists via remindctl.

auto-qa

Run OpenClaw-wide autonomous QA and live/stress campaigns across independent subsystem lanes, with verified fixes and a resumable evidence report.

autoreview

Structured code review through the shared OpenClaw agent-skills installation.

bear-notes

Create, search, and manage Bear notes via grizzly CLI.

blacksmith-testbox

Run Blacksmith Testbox for CI-parity checks, secrets, hosted services, migrations, or builds local cannot reproduce.

block-kit

Use proactively for structured or interactive Slack replies, and when asked to author or validate native Slack Block Kit JSON.

blogwatcher

Monitor blogs and RSS/Atom feeds for updates using the blogwatcher CLI.

blucli

BluOS CLI (blu) for discovery, playback, grouping, and volume.

bluebubbles

Send and manage iMessages via BlueBubbles, including attachments, tapbacks, edits, replies, and groups.

browser-automation

Use when controlling web pages with the OpenClaw browser tool, especially multi-step flows, login checks, tab management, or recovery from stale refs/timeouts.

camsnap

Capture frames or clips from RTSP/ONVIF cameras and local webcams, including USB pan/tilt/zoom control.

canvas

Present HTML on connected OpenClaw node canvases, navigate/eval/snapshot, and debug canvas host URLs.

channel-message-flows

Use when running QA Lab channel message flow evidence.

clawdtributor

Clawtributor PRs here, last week or another window: discover conversation refs, recheck GitHub, rank by impact.

clawhub

Search ClawHub for plugins by default, or skills when explicitly requested; install, verify, update, uninstall, publish, or sync skills.

관련 스킬