Files
Documentos-Unicos/projetos/newwhats.clube67.com/tarefas.md
T
VPS 4 Builder 974d825fd9 docs(tarefas): resumo 'A fazer' com sub-itens abertos
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-28 17:06:26 +02:00

5.1 KiB
Raw Blame History

newwhats.clube67.com — Tarefas / Pendências (checklist)

Lista mestra de pendências do motor ↔ satélites. Sincronizada com a task list da sessão. Atualizar marcando [x] ao concluir e mover detalhes para a doc de estado correspondente. Última revisão: 28/jun/2026.

A fazer (sub-itens abertos — resumo)

Detalhes/seções abaixo. Itens de billing/decisão dependem do usuário.

Provisionamento / onboarding (puro motor, exceto onde indicado):

  • Secretária default automática ao provisionar (plugin secretaria)
  • Registro automático do webhook a partir do pair (ext_webhooks + Instance.webhookUrl)
  • Gatilho de sync-knowledge no fim do trajeto (satélite)
  • UI de onboarding consumindo POST /provision (exibe o trajeto[])
  • Live update de isBusiness no SettingsPanel (evento instance:business)

Secretária — humanização:

  • Ritmo humano (typing + delay + quebra em 2-3 msgs)
  • Resposta em áudio (TTS) (opcional)

Wasabi / mídias:

  • Index por tamanho (coluna mediaSize)
  • Reconciliação DB ↔ bucket (achar órfãos)
  • Política de retenção (descartar áudio pós-transcrição)

Integração satélite:

  • Fase 5 (ADIADA) — satélite consumir messages.transcription + remover media-transcribe.js
  • Reconciliar chave /nw/* (PluginPair nwk_… ≠ satélite nw_t…) se esse sentido for usado

Dependem do usuário (billing / decisão):

  • Billing OpenAI (sem quota) e quota Gemini (429) — destrava geração LLM da Secretária
  • Confirmar domínio real da PROD do newwhats (.env.production.local aponta p/ clube67.com)
  • Revogar/rotacionar as chaves OpenAI/Gemini coladas no chat

Regra de ouro (registro bidirecional)

  • Cada plugin satélite é único do projeto onde está instalado (ex.: o newwhats do mercado.clube67.com ≠ o de outro projeto).
  • Toda mudança no plugin deve ser registrada no motor, e toda mudança no motor que afete o contrato deve ser registrada em cada plugin. Ver integracao-satelites.md (contrato central) e o INTEGRACAO-MOTOR.md dentro de cada plugin.
  • O plugin é um braço inteligente do motor — não duplica lógica; consome, alimenta e configura o motor.

Integração satélite ↔ motor (faseado)

  • Fase 1 — Contrato documentado (integracao-satelites.md).
  • Fase 2 — Compatibilidade de API: alias GET /secretaria/numbers no ext-api.
  • Fase 3 — Config/conexão auditada: ext-api x-nw-key casa (satélite nw_t…_001 = apiKey do motor, teste vivo 200); webhook HMAC casa (secret len 64, url 127.0.0.1:4001, eventos ok). Topologia co-locada; live ponta-a-ponta exige satélite rodando co-locado. ⚠️ /nw/* usa chave diferente (nwk_…1039) — reconciliar se esse sentido for usado.
  • Fase 4sync-knowledge rodado end-to-end (driver com buildKnowledgeText real do satélite mercado@VPS3 → motor dev). Nó knowledge atualizado; RAG indexou 4 chunks com embedding Gemini 768d. ⚠️ geração LLM em 429 quota (billing). Fix de brinde: /secretaria/ask remoteJidjid.
  • Fase 5ADIADA (a fazer depois, decisão 28/jun/2026). Satélite consumir messages.transcription do motor e remover media-transcribe.js redundante. Unificar fonte da chave Gemini (cfg.gemini_key vs process.env.GEMINI_API_KEY).

Wasabi / mídias

  • Upload fire-and-forget + proxy público de leitura (avatares e mídias).
  • StorageProvider.deletePrefix(prefix) (delete por prefixo).
  • Index de mídiasGET /api/instances/:id/media-index (chat/tipo/período, byType, paginado). Ver wasabi-midias.md.
  • Delete em lotePOST /api/instances/:id/media-batch-delete, coordenado DB ↔ Wasabi, dryRun por padrão + deleteObjects em lote.
  • Index por tamanho (bytes) — falta coluna mediaSize.
  • Reconciliação DB ↔ bucket (achar órfãos).
  • Política de retenção (arquivar/descartar áudio após transcrição salva).

Ativação do WhatsApp (trajeto inteligente)

  • POST /api/instances/provision — trajeto guiado e idempotente (instância + engine baileys7 + setor default + webhook/connect opcionais), devolve o trajeto[] visível. Ver ativacao-whatsapp.md.
  • Detecção Business no connect (grava isBusiness).
  • Secretária default automática (plugin) + webhook a partir do pair.
  • Gatilho de sync-knowledge no fim do trajeto + UI de onboarding.

Inbox / Secretária (já entregue nesta frente)

  • Transcrição/descrição no motor (Gemini) → messages.transcription.
  • Exibição da transcrição no inbox (🎤 áudio / 👁 imagem) + socket message:transcription.
  • Memória de longo prazo por contato (sec_contact_memory).
  • Ritmo humano da Secretária (typing + delay + quebra em 23 msgs).
  • Resposta em áudio (TTS) — opcional.

Validações pendentes de ambiente

  • Pareamento do WhatsApp dev (avatares/fixados) quando o aparelho voltar.