MÓDULO 4.3

💬 Interface Conversacional para o Wiki

Design de diálogo para PKM, consultas em linguagem natural, captura mobile sem fricção, alertas proativos e histórico de conversas como fonte de conhecimento.

6
Tópicos
45
Minutos
Expert
Nível
Design
Tipo
1

🎨 Design da Conversa

Conversas com o agente PKM seguem padrões específicos diferentes de um chatbot genérico. O design do diálogo determina se o agente é confiável e previsível — ou frustrante e inconsistente.

🎨 Padrões de diálogo para PKM

PADRÃO: Resposta com fonte
Toda consulta ao wiki retorna a fonte exata:
"Python async usa event loop... ↗ Fonte: wiki/python-async.md"
PADRÃO: Confirmação de escrita
Antes de escrever qualquer arquivo:
"Vou salvar este documento como raw/inbox/2026-04-09_artigo.md. Confirmar? (s/n)"
PADRÃO: Query de refinamento
Quando encontra mais de um resultado:
"Encontrei 3 páginas sobre Python. Quer detalhes de alguma específica?"
PADRÃO: Não-encontrado honesto
Quando o tema não existe no wiki:
"Não tenho isso registrado no wiki. Deseja que eu crie uma tarefa de pesquisa?"
PADRÃO: Confirmação pós-ingestão
Após processar um novo documento:
"✓ Ingestão concluída: criado wiki/python-generators.md (847 tokens)"
PADRÃO: Tom consistente
Definido no SOUL.md e mantido sempre:
Direto, conciso, factual, sem rodeios, cita fontes, admite ignorância
Configurando padrões de diálogo no SOUL.md
## Padrões de Diálogo

response_patterns:
  # Sempre incluir fonte nas respostas sobre o wiki
  cite_source: true
  cite_format: "↗ Fonte: wiki/{filename}"

  # Perguntar antes de escrever qualquer arquivo
  confirm_writes: true
  confirm_message: "Vou salvar em {path}. Confirmar? (s/n)"

  # Quando não encontrar no wiki
  not_found: |
    Não tenho isso registrado no wiki ainda.
    Deseja criar uma tarefa de pesquisa sobre "{query}"?

  # Quando encontrar múltiplos resultados
  multiple_results: |
    Encontrei {count} páginas relacionadas:
    {list}
    Qual deseja explorar em mais detalhes?

  # Tom e estilo
  tone: "direto e conciso"
  language: "pt-BR"
  max_response_length: 500  # tokens
2

🔎 Consultas em Linguagem Natural

O poder do agente é transformar linguagem natural imprecisa em consultas precisas ao wiki. Você não precisa lembrar nomes exatos de arquivos — basta perguntar como pensaria.

🔎 Tipos de consultas e como o agente processa

TIPOS DE CONSULTA NATURAL Conceitual "O que sei sobre Python async?" Decisional "O que decidimos sobre a arquitetura do banco?" Temporal "O que anotei este mês sobre ML?" Comparativa "Qual a diferença entre FastAPI e Django que registrei?" Follow-up "Fale mais sobre o ponto 3 anterior" PROCESSAMENTO DO AGENTE 1. Parse da intenção via LLM identifica: tipo, entidades, período, comparativo 2. Leitura do index.md mapeia intenção → páginas relevantes 3. Leitura das páginas selecionadas máximo 3-5 páginas (respeita max_context_tokens) 4. Síntese + citação de fonte responde em linguagem natural, cita wiki/arquivo.md
💡 Como formular consultas melhores
Consultas mais efetivas
  • • "O que sei sobre X?" → consulta conceitual
  • • "O que decidimos sobre Y?" → consulta decisional
  • • "Compare A com B no que registrei" → comparativa
  • • "Resumo do que anotei em março" → temporal
Evite estas formas
  • • "Pesquise sobre X" → agente não acessa internet
  • • "Qual é a melhor prática de X?" → precisa estar no wiki
  • • Consultas muito vagas sem contexto
  • • Múltiplas perguntas numa única mensagem
3

📱 Captura Mobile

A captura é o gargalo crítico de qualquer sistema de segundo cérebro. Com OpenClaw, você elimina esse gargalo: encontrou algo interessante → manda pro Telegram → está no vault em segundos.

Tipos de captura suportados

✍️ Texto livre

Digite qualquer nota diretamente no Telegram. O agente cria o arquivo Markdown automaticamente com metadados de data e fonte.

📎 Arquivo anexado

PDF, TXT, MD — o Telegram entrega o arquivo, o agente salva em raw/inbox/ com nome baseado em data/hora.

🔗 URL para ingestão

Manda uma URL → agente usa skill de browser para fazer scraping do conteúdo → salva como raw/inbox/url-XXXX.md.

Fluxo de captura de URL

https://martinfowler.com/articles/strangler-fig.html

🔍 Lendo artigo...

Título: Strangler Fig Application (Martin Fowler)

Salvo em raw/inbox/2026-04-09_strangler-fig.md

Ingerir agora? (s/n)

s

✓ Ingestão concluída

wiki/strangler-fig-pattern.md criado (1.2k tokens)

Pergunte: "o que sei sobre strangler fig?"

Template de arquivo gerado na captura
# raw/inbox/2026-04-09_1423_strangler-fig.md

---
captured_at: 2026-04-09T14:23:00
source_type: url
source_url: https://martinfowler.com/articles/strangler-fig.html
captured_via: telegram
captured_by: user_main
status: pending_ingestion
title: "Strangler Fig Application — Martin Fowler"
---

[conteúdo extraído da URL via skill browser]
4

🔔 Alertas e Notificações

O agente não é apenas reativo — ele pode ser proativo. Notificações push informam sobre ingestões concluídas, arquivos aguardando processamento e a saúde geral do wiki.

🔔 Tipos de notificação e configuração

EVENTO ✓ Ingestão concluída após processar raw/inbox/ ⚠ Inbox acumulando N arquivos não ingeridos 📋 Daily briefing relatório matinal do vault 🔧 Lint semanal problemas detectados no wiki 🔄 Ingestão via cron resultado do agendamento TRIGGER skill exec → ingestão OK cron hora: count(inbox) > 5 cron 8h diário cron domingo: lint report cron: resultado do job ENTREGA Telegram imediato ✓ Telegram + digest noturno Telegram (canal principal) Telegram + Slack (equipe) Telegram (silencioso à noite)
Configuração de notificações no SOUL.md
## Notificações

notifications:
  # Após ingestão bem-sucedida
  on_ingestion_complete:
    channel: telegram
    message: "✓ Ingestão concluída: {pages_created} páginas em wiki/"
    immediate: true

  # Inbox acumulando
  inbox_alert:
    trigger: "count(raw/inbox/*.md) > 5"
    channel: telegram
    message: "⚠ {count} documentos aguardando ingestão em raw/inbox/"
    cooldown: 4h  # não repetir antes de 4 horas

  # Silenciar no período noturno
  quiet_hours:
    start: "23:00"
    end: "07:00"
    mode: digest  # acumula e envia de manhã
5

📜 Histórico de Conversas como Raw

Conversas com o agente são ricas em conhecimento implícito: decisões tomadas, insights verbalizados, padrões identificados. Ingerir os logs transforma o diálogo em memória persistente.

Exportar conversa para ingestão
# Comandos especiais no chat:
/export          → exporta última sessão
/export week     → exporta últimos 7 dias
/export topic=X  → filtra por tema

# Arquivo gerado:
# raw/inbox/chat-export-2026-04.md

---
export_date: 2026-04-09
session_count: 23
topics: [python, arquitetura, projetos]
---

[Usuário] 14:23: O que sei sobre Python async?
[Cleo] 14:23: Python async usa event loop...

[Usuário] 15:10: Decidi usar FastAPI em vez de Django
[Cleo] 15:10: Registrado. Motivos para FastAPI...
O que o LLM extrai ao ingerir
Decisões explícitas

"Decidi usar FastAPI" → entrada em wiki/decisoes-tecnicas.md

Perguntas frequentes

Identifica temas consultados muitas vezes → sugere aprofundamento

Insights do diálogo

Conexões entre tópicos feitas durante a conversa → atualiza páginas relacionadas

Lacunas de conhecimento

Temas consultados sem resultado → lista de pesquisa pendente

💡 Loop de aprendizado positivo

Quanto mais você usa o agente, melhor ele fica: conversas → logs → ingestão → wiki atualizado → consultas futuras mais precisas. O segundo cérebro cresce organicamente com o uso.

6

🌐 Multi-canal

Um único vault, todos os seus canais. Configure identidades e permissões diferentes por canal — seu WhatsApp pessoal, Telegram profissional e Slack de equipe acessam o mesmo wiki sem duplicação.

Configuração multi-canal no SOUL.md

## Canais

channels:
  telegram:
    token: "${TELEGRAM_BOT_TOKEN}"
    name: "Cleo"
    permissions:
      can_read_wiki: true
      can_write_inbox: true
      can_trigger_ingestion: true
    users:
      - id: "${MY_TELEGRAM_ID}"
        role: owner

  whatsapp:
    adapter: baileys
    name: "Cleo"
    permissions:
      can_read_wiki: true
      can_write_inbox: true
      can_trigger_ingestion: false  # apenas leitura no WhatsApp
    rate_limit: 20/hour  # evitar ban

  slack:
    token: "${SLACK_BOT_TOKEN}"
    workspace: "minha-empresa"
    name: "WikiBot"
    permissions:
      can_read_wiki: true
      can_write_inbox: true
      can_trigger_ingestion: true
    channels:
      - "#conhecimento"  # canal dedicado
✅ Conceitos-chave do módulo
Padrões de diálogo PKM: fonte citada, confirmar escrita, não inventar
Consultas: conceitual, decisional, temporal, comparativa, follow-up
Captura mobile: texto, PDF, URL → raw/inbox/ automaticamente
Notificações proativas fecham o loop do sistema
Logs de conversa como fonte de conhecimento para ingestão
Multi-canal: permissões diferentes por plataforma, mesmo vault
4.2 — Conectando o Vault 4.4 — Automações e Workflows