Configuration
Canal de QA
qa-channel é um transporte sintético de mensagens local ao repositório para a QA automatizada do OpenClaw (extensions/qa-channel, pacote privado, excluído das instalações empacotadas). Ele não é um canal de produção — existe para exercitar o mesmo limite de Plugin de canal usado por transportes reais, mantendo o estado determinístico e totalmente inspecionável.
O que ele faz
- Gramática de destino semelhante à do Slack:
dm:<user>channel:<room>group:<room>thread:<room>/<thread>
- Conversas compartilhadas
channel:egroup:são apresentadas aos agentes como turnos de sala de grupo/canal, para que exercitem a mesma política de roteamento de respostas visíveis e da ferramenta de mensagens usada pelo Discord, Slack, Telegram e transportes semelhantes. - Barramento sintético baseado em HTTP para injeção de mensagens recebidas, captura de transcrições de saída, criação de threads, reações, edições, exclusões e ações de pesquisa/leitura.
- Executor de autoverificação no host que grava um relatório em Markdown em
.artifacts/qa-e2e/.
Configuração
{ "channels": { "qa-channel": { "baseUrl": "http://127.0.0.1:43123", "botUserId": "openclaw", "botDisplayName": "OpenClaw QA", "allowFrom": ["*"], "pollTimeoutMs": 1000 } }}Chaves da conta:
enabled— controle mestre de ativação desta conta.name— rótulo de exibição opcional.baseUrl— URL do barramento sintético. A conta é considerada configurada assim que esta opção é definida.botUserId— ID de usuário do bot sintético usado na gramática de destino (padrão:openclaw).botDisplayName— nome de exibição das mensagens de saída (padrão:OpenClaw QA).pollTimeoutMs— janela de espera da sondagem longa. Número inteiro entre 100 e 30000 (padrão: 1000).allowFrom— lista de remetentes permitidos (IDs de usuário ou"*"; padrão:["*"]). As mensagens diretas sempre usam a políticaopen; a política de grupo com lista de permissões também usa esses IDs sintéticos de remetentes.groupPolicy— política de salas compartilhadas:"open"(padrão),"allowlist"ou"disabled".groupAllowFrom— lista opcional de remetentes permitidos em salas compartilhadas. Quando omitida com"allowlist", o Canal de QA usaallowFromcomo alternativa.groups.<room>.requireMention— exige uma menção ao bot antes de responder em uma sala específica de grupo/canal (padrão: false).groups."*"define o padrão;tools/toolsBySenderpor sala definem substituições da política de ferramentas.defaultTo— destino alternativo quando nenhum é fornecido.actions.messages/actions.reactions/actions.search/actions.threads— controle de acesso às ferramentas por ação.
Chaves de várias contas no nível superior:
accounts— registro de substituições nomeadas por conta, indexadas pelo ID da conta.defaultAccount— ID da conta preferencial quando várias estiverem configuradas.
Executores
Autoverificação no host (grava um relatório em Markdown em .artifacts/qa-e2e/):
pnpm qa:e2eEsse comando encaminha a execução pelo qa-lab, inicia o barramento de QA do repositório, inicializa a parte do runtime de qa-channel e executa uma autoverificação determinística.
Conjunto completo de cenários baseado no repositório:
pnpm openclaw qa suiteExecuta cenários em paralelo na faixa de Gateway de QA. Consulte a visão geral da QA para ver cenários, perfis e modos de provedor.
Site de QA baseado em Docker (Gateway + interface de depuração do QA Lab em uma única pilha):
pnpm qa:lab:upCompila o site de QA, inicia a pilha do Gateway + QA Lab baseada em Docker e exibe a URL do QA Lab. A partir daí, você pode selecionar cenários, escolher a faixa de modelos, iniciar execuções individuais e acompanhar os resultados em tempo real. O depurador do QA Lab é separado do pacote distribuído da interface de controle.
Relacionados
- Visão geral da QA — pilha completa, adaptadores de transporte e criação de cenários
- QA em matriz — exemplo de executor de transporte em tempo real que opera um canal real
- Pareamento
- Grupos
- Visão geral dos canais