parallels-discord-roundtrip

Executa teste de ida e volta (roundtrip) no Discord em uma máquina virtual macOS Parallels, verificando envio da VM, recebimento pelo host, resposta do host e leitura de volta pela VM.

O que é parallels-discord-roundtrip?

Esta skill executa um teste completo de ida e volta (roundtrip) via Discord em uma máquina virtual macOS gerenciada pelo Parallels Desktop. O objetivo é provar que a comunicação bidirecional entre o guest (VM) e o host (máquina real) através do Discord está funcionando corretamente. O teste cobre: instalação em um snapshot limpo do macOS, inicialização do agente (gateway), envio de uma mensagem do guest para um canal do Discord, verificação pelo host de que a mensagem foi publicada, resposta do host no mesmo canal e, por fim, leitura dessa resposta pelo guest. É útil para validar a integridade de sistemas de automação que dependem do Discord como canal de comunicação, especialmente em ambientes de QA com máquinas virtuais Parallels. A skill suporta configuração via variáveis de ambiente para token, guild ID e channel ID, e pode ser executada via linha de comando com `pnpm test:parallels:macos` e parâmetros específicos. O harness realiza limpeza ao final, removendo mensagens temporárias e parando a VM, e fornece logs detalhados para depuração em caso de falhas.

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

Installed? Explore more Programação e Desenvolvimento skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Parallels Discord Roundtrip

Use quando o teste de fumaça no macOS Parallels precisar comprovar a entrega bidirecional completa no Discord.

Objetivo

Cobrir:

  • instalação em snapshot limpo do macOS
  • inicialização + verificação do gateway
  • envio de mensagem do guest para o Discord
  • host vê essa mensagem no Discord
  • host publica uma nova mensagem no Discord
  • leitura dessa nova mensagem pelo guest via message read

Entradas

  • variável de ambiente do host com o token de um bot de QA dedicado e aprovado pelo operador
  • IDs de guild e canal QA aprovados pelo operador
  • OPENAI_API_KEY

Execução preferida

Carregue OPENCLAW_PARALLELS_DISCORD_TOKEN através da fonte de segredo aprovada. Defina OPENCLAW_PARALLELS_DISCORD_GUILD_ID e OPENCLAW_PARALLELS_DISCORD_CHANNEL_ID para o destino QA aprovado. O harness configura esse bot dentro do guest selecionado.

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

Notas

  • Snapshot alvo: o mais próximo de macOS 26.3.1 fresh.
  • O resolvedor de snapshots agora prefere clones que correspondam a *-poweroff* quando a dica base também corresponde. Isso permite que o harness reutilize snapshots de recuperação somente de disco sem precisar passar uma dica mais longa.
  • Se os logs de restauração de snapshot do Windows/Linux mostrarem PET_QUESTION_SNAPSHOT_STATE_INCOMPATIBLE_CPU, descarte o estado suspenso uma vez, crie um snapshot substituto *-poweroff* e execute novamente. Os scripts de fumaça agora iniciam automaticamente snapshots restaurados com power-off.
  • O harness configura o Discord dentro do guest; nenhum token/config salvo no repositório.
  • Use o wrapper openclaw para message send/read do guest; node openclaw.mjs message ... não expõe os subcomandos de mensagem lazy da mesma forma.
  • Escreva channels.discord.guilds em um único objeto JSON (--strict-json), não em caminhos pontilhados config set channels.discord.guilds.<snowflake>...; snowflakes numéricos são tratados como índices de array.
  • Evite prlctl enter / expect para scripts longos de configuração do Discord; ele quebra/corrompe linhas longas. Use prlctl exec --current-user /bin/sh -lc ... para a fase de configuração do Discord.
  • Varreduras completas de 3 SOs: o bloqueio de build compartilhado é seguro em paralelo, mas a restauração de snapshot ainda é um gargalo do Parallels. Prefira reexecuções serializadas do Windows/Linux com restauração pesada se o host já estiver sob carga.
  • A limpeza do harness exclui as mensagens temporárias do smoke do Discord ao final.
  • O harness tenta parar o guest selecionado após a prova bem-sucedida do Discord e avisa se a parada falhar. Para verificações ad-hoc do Discord, pare apenas o guest de propriedade da tarefa antes da entrega. Não deixe o guest de teste configurado com o Discord em execução após a prova.
  • Logs por fase: /tmp/openclaw-parallels-smoke.*
  • Resumo da máquina: passe --json
  • Se o roundtrip apresentar falhas intermitentes, inspecione primeiro fresh.discord-roundtrip.log e discord-last-readback.json no diretório de execução.

Critérios de aprovação

  • A lane solicitada (fresh ou upgrade) passou
  • O relatório mostra discord=pass para essa lane
  • O nonce de saída do guest aparece no histórico do canal
  • O nonce de entrada do host aparece na saída de 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 and agent Templates when requested; add Templates; install, verify, update, uninstall, publish, or sync skills.

Habilidades Relacionadas