Documentação integral: 26 seções | 90+ subtópicos | 48 tabelas | Arquitetura multi-agente completa
Atualizado: 18/03/2026 às 08:56 BRT | Session: #98 | Status: ✅ Operacional 100%
Snapshot operacional de ASPIRA em 2026-03-06 13:10 UTC: 9 agentes online, 30+ skills, 6 crons ativos, memória v3 operando.
| Parâmetro | Valor | Descrição |
|---|---|---|
| Status | ✅ OPERACIONAL | 100% funcional, todos componentes online |
| Agentes Online | 9/9 | DEV, NERD, DESIGNER, COPYWRITER, FRONTEND, ANALYTICS, TRADER, DEGEN, ASPIRA |
| Session Counter | #51 | Auto-incrementing, rastreia sequência de execuções |
| Memory Threshold | 40k tokens | Trigger para extraction-v3.sh automática |
| Crons Agendadas | 6/6 Ativas | Pool 2x, Briefing, Health, Extraction, Security, Agenda |
| Skills Disponíveis | 30+ | Cripto (8), Research (5), Content (6), Dev (3), mais... |
Timezone: BRT (UTC-3) | Ativo: 07h-19h BRT | Pausa: 11h15-13h (família) | Limite Gasto: $100 USD (confirmar antes)
| Categoria | Arquivo | Propósito | Linhas |
|---|---|---|---|
| Decisões | memory/decisions.md | Escolhas estratégicas com contexto, rationale, impacto | 63 |
| Mudanças | memory/changes.md | Alterações de arquitetura, setup, configuração | 72 |
| Lições | memory/lessons.md | Aprendizados críticos, best practices, anti-patterns | 105 |
| Bloqueadores | memory/blockers.md | Problemas ativos, status, workarounds, ETA fix | 131 |
| Fatos-Chave | memory/facts.md | Estado operacional: wallets, posições, crons, counts | 150 |
SOUL.md (essência) → USER.md (Diego profile) → IDENTITY.md (Persona)
⬇️ Define atitude, valores, limites para TODO sistema
AGENTS.md (9 especialistas) + TOOLS.md (30+ skills)
⬇️ ASPIRA orquestra agentes paralelo/sequencial conforme tarefa
MEMORY.md (índice) + 5 categorias permanentes (521 linhas)
⬇️ Auto-consolidação via extraction-v3.sh (40k trigger)
Atualizado automaticamente em 18/03/2026 às 16:15 BRT
| 2026-02-26 | Pool Monitoring Automation |
| 2026-02-24 | Multi-Agente Architecture Ativado |
| 2026-03-09 | Instagram Analytics — Collector v3 + Fix Completo |
| 2026-03-09 | 1Password SA Token Global |
| 2026-03-09 | Cloudflare API Token salvo no vault |
| 2026-03-12 | Cron Meta Ads Alertas — Criado + Bug corrigido |
| 2026-03-12 | DEGEN Tarde — Bug delivery corrigido |
| 2026-03-12 | Cron Relatório Matinal — Criado |
| 2026-03-11 | Portal Central Analytics — SHA-256 mantido |
| 2026-03-10 | Intus-Personas — JIDs mapeados |
| 2026-03-11 | LLM Batch Categorization implementado — Groq llama-3.3-70b, fallback automático |
| 2026-03-14 | Diego Analytics Fix — Anti-Cron-Break + Segurança (commit 325ee4a) |
| 2026-03-14 | Aspira Dashboard MVP — Deploy Cloudflare Pages (React+TS+Shadcn) |
| 2026-03-14 | Meta Ads — KPIs por objetivo definidos (Captação vs Vendas) |
| 2026-03-092026-03-092026-03-102026-03-092026-03-092026-03-092026-03-122026-03-122026-03-122026-03-112026-03-102026-03-112026-03-11 | Implementar Instagram Analytics como sistema permanente1Password Service Account Token — Global no OpenClawIntus-Personas — Fase A SilenciosaInstagram Analytics — Collector v3 + Fix Completo1Password SA Token GlobalCloudflare API Token salvo no vaultCron Meta Ads Alertas — Criado + Bug corrigidoDEGEN Tarde — Bug delivery corrigidoCron Relatório Matinal — CriadoPortal Central Analytics — SHA-256 mantidoIntus-Personas — JIDs mapeadosFix Categorização Daily BriefingLLM Batch Categorization implementado |
Como o sistema se comunica: WhatsApp (primary), Telegram (18 tópicos), Discord, Farcaster. Roteamento automático de mensagens.
Status: ✅ ATIVO | Prioridade: MÁXIMA | Uso: Alertas críticos, approvals, briefing diário
Quando: Operações >$100, pool out-of-range, briefing 06:30, agenda 30min antes
| ID Tópico | Nome | Emoji | Propósito | Roteamento |
|---|---|---|---|---|
| 450 | TRADING | 📈 | Análises técnicas, setups, sinais, execução | TRADER + ANALYTICS output |
| 1046 | DeFi | 🪙 | Pools, liquidez, MICAM, rebalance proposals | DEGEN output (2x/dia: 07:15 + 16:15 BRT) |
| 4 | Infra do Aspira | ⚙️ | Sistema, config, gateway, deploys | ASPIRA + health-check.sh logs |
| 51 | Erros & Bugs | 💥 | Problemas, falhas, alertas críticos | Error handler + health check |
| 685 | Daily Briefing | ☕ | Market recap diário, narrativas, oportunidades | briefing-aggregator (06:30 BRT) |
| 192 | Agenda Pessoal | 📅 | Lembretes, reuniões, eventos, compromissos | google-agenda-v2 (30min antes evento) |
| 178 | Auditoria | 🐾 | Logs, trilha, compliance, histórico | Security audit (seg 07:00 BRT) + manual logs |
| 28 | Agentes | 🤖 | Squad status, orquestração, parallelism logs | ASPIRA + subagents monitoring |
| 26 | Orquestrador | 🐉 | Decisões estratégicas, planejamento, roadmap | ASPIRA decisions consolidation |
Como executa operações: 2 fluxos (manual + automático), 3 setups análise, 5 executores por exchange, approval >$100.
A cada 2-5 min (horário ativo), ASPIRA executa ciclo:
1. Valida quiet hours (se 23h-07h, skip non-critical)
2. Spawn TRADER para análise de mercado
3. TRADER retorna sinal > setup threshold? SIM
4. DEGEN calcula size, fees, slippage
5. IF >$100: aguarda approval. IF <$100: executa direto
6. Coloca ordem com TP/SL linked
7. ANALYTICS monitora até close (TP ou SL)
| Setup | Indicadores | Quando Usar | Output |
|---|---|---|---|
| Divergence & Volume | RSI div + Volume + Fib + Patterns | Detectar reversão (bullish/bearish) | Tipo reversal, confidence %, entrada |
| MICAM (Multi-Indicator) | Bollinger + Fib + S/R + RSI + MACD + Vol | Propor novo range LP ou validar consolidação | Trend, reversal prob %, novo range |
| Trading Setups | EMA + RSI + MACD + Volume + Patterns | Scalp/swing multi-timeframe | Type, confidence, entry/SL/TP, R:R |
| Exchange | Skill | Tipo Operação | SLA | Status |
|---|---|---|---|---|
| Uniswap v3 | uniswapskill (ethers.js) | LP management, mint/burn/rebalance | 5-15 min | ✅ PRIMARY |
| Hyperliquid | hyperliquid skill | Perpetual futures, scalping, leverage 20x | 1-2 min | ✅ ATIVO |
| Kraken | kraken skill | Spot, futures, margin, staking | 2-3 min | ✅ ATIVO |
| NADO | nado skill | Solana perpetuals, grid trading | 2-3 min | ✅ ATIVO |
| Bankr | bankr skill | Multi-chain swaps, DeFi, leverage | 2-3 min | ✅ ATIVO |
Design sistêmico: 3 pilares, 9 etapas operação, task decomposition, decisões de design.
Essência: tom, valores, limites. Define atitude de todo sistema. Lido no boot.
9 especialistas: modelos, SLA, skills, quando spawnar. Matriz de decisão.
30+ skills categorizadas: crypto, research, content, dev. Verificação antes afirmar.
Diego profile: timezone BRT, horários, preferências, $100 limit.
Índice central: 5 categorias permanentes (521 linhas), search BM25+Vector.
Persona ASPIRA: Android vermelho, militar, profissional 🫡.
| Tipo Tarefa | Agentes | Paralelo? | SLA | Exemplo |
|---|---|---|---|---|
| Pesquisa Simples | NERD | N/A | 1-2 min | "Qual é o preço do ETH?" |
| Análise Técnica | ANALYTICS + TRADER | SIM | 3-5 min | "Analisa ETH/USDC 4h" |
| Conteúdo Visual | NERD + DESIGNER + TRADER + COPYWRITER | SIM (3 paralelo, 1 seq) | 5-7 min | "Conteúdo pool com análise" |
| Pool Rebalance | DEGEN (approval) | NÃO | 5-15 min | "Rebalancear pool" |
Como funcionam internamente: approval flow, heartbeat, credential flow, session counter.
Processo automático a cada 2-5 min que: valida saúde sistema, detecta problemas, dispara automações, respeita quiet hours.
✅ Context usage > 40k? → trigger extraction-v3.sh
✅ Gateway running? → restart if needed
✅ Crons executados 6/6? → alert if falha
✅ 1Password accessible? → fallback if down
✅ Disk space > 1GB? → cleanup if low
✅ MEMORY.md exists? → reconstruct if missing
23h-07h BRT: só alertas CRÍTICOS (>$100 pending, extraction urgent)
11:15-13h BRT: família time, skip non-critical alerts
Horário ativo (07h-23h): alerts normais
Rastrear sequência de execuções, audit trail, reproduzibilidade, lifecycle tracking.
Atual: #51
Incrementa: Automático no extraction-v3.sh (quando contexto >40k)
Armazenamento: MEMORY.md (linha dedicada sempre presente)
Auditoria: memory/logs/extraction-*.log com timestamp
Automações agendadas, triggers, execução automática, interação com Diego quando necessário.
| Cron Job | Horário BRT | Executor | Ação | Output |
|---|---|---|---|---|
| Daily Briefing | 06:30 BRT | NERD + Groq LLM (llama-3.3-70b) | Twitter + News + FRED + sentiment → categoriza → resume | Telegram (685) + WhatsApp | Job: 311f6904 |
| Architecture Audit + HTML Update | 07:00 BRT | security-audit.sh + update-manual.sh | Zero hardcoding? Perms OK? Backups OK? → Atualiza HTML | Telegram (178) se issue, silent se OK | Job: 507c2568 |
| Pool Monitor Manhã | 07:15 BRT | DEGEN (Opus 4.6) | Fetch on-chain, calc MICAM, propor rebalance | Telegram (1046) + WhatsApp |
| Relatório Matinal NOVO 12/03 | 08:15 BRT | ASPIRA (resumo diário) | Consolida eventos do dia, pools, ads, agenda → envia para Diego | Telegram + WhatsApp | Job: ee72221c |
| Instagram Analytics | 09:00 BRT | NERD + collector.js v3 | Coleta posts + insights → gera dashboard → deploy CF Pages | diego-analytics.pages.dev | Job: 311f6904-7702 |
| Meta Ads Alertas NOVO 12/03 | 16:00 BRT | ANALYTICS (Meta Ads skill) | Monitora ROAS, CPA, CPM → alerta se desvio > threshold | Telegram + WhatsApp | Job: d5599c82 | Conta: CA 01 BRL |
| Pool Monitor Tarde corrigido 12/03 | 16:15 BRT | DEGEN (Opus 4.6) | Fetch on-chain, calc MICAM, propor rebalance | Telegram (1046) + WhatsApp |
| Aspira Dashboard Update NOVO 14/03 | */30 (cada 30min) | scripts/dashboard/update-and-deploy.sh | Gera JSONs de agentes/crons/custos → build React → wrangler pages deploy | aspira-dashboard-8bl.pages.dev | Log: memory/logs/dashboard-deploy.log |
| HTML Update Tarde | 19:15 BRT | update-system-manual-daily-v3.sh | Atualiza ASPIRA-SYSTEM-MANUAL.html com mudanças reais | CF Pages deploy | Job: 55cae34b |
Executor: DEGEN (Claude Opus 4.6)
Conexão: ethers.js → Uniswap Position Manager
Posição: #4694494 (ETH/USDC Base)
1. Fetch saldos reais (token0 + token1)
2. Calcular: preço, IL, APY, status
3. IF IN-RANGE: "Status OK, APY 83.85%, continue"
4. IF OUT-OF-RANGE: Alerta + 3 alternativas
5. Diego: /approve-rebalance ou /reject
6. Reportado ao Telegram (1046) + WhatsApp
Fontes: Twitter (Bird CLI) + News APIs + FRED macroeconomic + Crypto sentiment (Perplexity)
Processamento: Remove spam → identifica narrativas-chave → resume oportunidades
Output: Market recap estruturado, 3-5 narrativas-chave, 2-3 oportunidades
Checks: Gateway running | Context <60% | Crons 6/6 | 1Password OK | Disk >1GB
Behavior: Silencioso se OK. Telegram (51) se problema.
Quiet Hours: Skip non-critical, só alertas CRÍTICOS.
ETAPA 1 - DETECT: AI analisa logs, identifica: decisões, mudanças, lições, bloqueios, fatos
ETAPA 2 - ROUTE: Cada item → categoria correta
ETAPA 3 - CLEAN: Delete daily notes >14 dias, keep 5 categorias FOREVER
ETAPA 4 - INDEX: Build BM25 search index
ETAPA 5 - UPDATE: memory/* files + session counter ++ + logs
Verifica: zero hardcoded credentials, arquivo permissions safe, backup integrity, vault access OK
Output: Telegram (178) se issue, silencioso se "zero issues"
Google Calendar → detecta evento 30min antes → Telegram (192) + WhatsApp notificação
Fluxo: Coleta 90 posts recentes + insights via Graph API v22+ → salva SQLite → gera dashboard HTML → deploy Cloudflare Pages
Credenciais: Instagram token + CF API token via 1Password
Output: instagram-analytics-8fl.pages.dev atualizado diariamente
Job ID: 311f6904-7702-4e1c-92c9-f7f5c87162c5
Arquitetura multi-agente: 9 especialistas, modelos otimizados, expertise mapeada.
| Agente | Modelo LLM | Especialidade | SLA | Skills Principais |
|---|---|---|---|---|
| DEV | Claude Opus 4.6 | Backend, Smart Contracts, Código Crítico | 2-5 min | clanker, solana-dev, viem-integration |
| NERD | Claude Haiku 4.5 | Pesquisa, Análise, Inteligência | 1-2 min | perplexity, tavily_*, firecrawl, neynar |
| DESIGNER | Gemini 3.0 Flash | Visual, Criativo, Assets, Branding | 2-3 min | nano-banana-pro, figma, video-frames |
| COPYWRITER | Claude Haiku 4.5 | Conteúdo, Copy, Social Media | 1-2 min | neynar, botchan, tts (PT-BR custom) |
| FRONTEND | Claude Sonnet 4 | UI/UX, React, Next.js, Web Apps | 3-5 min | modern-frontend-stack, onchainkit, accessibility-toolkit |
| ANALYTICS | Claude Sonnet 4 | Métricas, BI, Dashboards, Análise Quant | 2-3 min | divergence-and-volume, FRED API, bankr (portfolio view) |
| TRADER | Claude Sonnet 4 | Trading, Análise Técnica, Sinais | 2-3 min | divergence-and-volume, trading-setups, Kraken API |
| DEGEN ⭐ | Claude Opus 4.6 | DeFi On-Chain, Pool Management, Execução | 1-2 min / Cron 2x/dia | uniswapskill (PRIMARY), bankr, hyperliquid, nado, kraken, veil |
| ASPIRA | Claude Haiku 4.5 | Orquestração, Memória, Heartbeat | <500ms | sessions_spawn, MEMORY.md sync, health-check orchestration |
NERD (pesquisa) + ANALYTICS (análise quant) + TRADER (sinais)
→ Gathering intelligence, technical analysis, market data
CODE: DEV + FRONTEND (smart contracts, UI)
CONTENT: DESIGNER + COPYWRITER (visual, text)
DeFi: DEGEN (on-chain operations)
→ Transform analysis into executable actions
ASPIRA (coordena Tier 1 + 2, monitora, consolida memória)
→ Central nervous system of entire system
Inventário completo de 30+ skills categorizadas, qual agente acessa qual API, rate limits.
| Skill | Agentes | API/Protocol | Rate Limit | Status |
|---|---|---|---|---|
| bankr | DEGEN, TRADER, ANALYTICS | Bankr API (multi-chain DeFi) | 100 req/min | ✅ ATIVO |
| hyperliquid | TRADER, DEGEN | Hyperliquid DEX (perpetual futures) | 50 req/min | ✅ ATIVO |
| uniswapskill | DEGEN (PRIMARY) | Uniswap v3 PositionManager, ethers.js v6 | RPC node limits | ✅ PRIMARY |
| nado | TRADER, DEGEN | NADO Exchange (Solana perpetuals) | Wallet-based (unlimited) | ✅ ATIVO |
| kraken | TRADER, ANALYTICS | Kraken REST API (spot, futures, margin) | 15 req/s (public) | ✅ ATIVO |
| clanker | DEV, DEGEN | Clanker SDK (ERC20 deployment) | 50 deploys/day | ✅ ATIVO |
| divergence-and-volume | TRADER, ANALYTICS | Technical analysis engine (local) | CPU-limited | ✅ ATIVO |
| veil | DEGEN | Veil Cash (Base ZK privacy) | RPC limits | ✅ ATIVO |
| Skill | Agentes | API/Tool | Rate Limit | Status |
|---|---|---|---|---|
| perplexity | NERD, ANALYTICS | Perplexity API (web search + citations) | 20 req/min | ✅ ATIVO |
| tavily_search | NERD, ANALYTICS | Tavily API (search, extract, crawl, map, research) | 100 calls/day free | ✅ ATIVO |
| firecrawl | NERD, DESIGNER | Firecrawl API (JS-heavy scraping) | 500 free credits | ✅ ATIVO |
| neynar | COPYWRITER, NERD | Neynar API (Farcaster feeds, posts) | 100 req/min | ✅ ATIVO |
| botchan | COPYWRITER | Net Protocol (onchain messaging Base) | RPC limits | ✅ ATIVO |
| Skill | Agentes | API/Tool | Rate Limit | Status |
|---|---|---|---|---|
| nano-banana-pro | DESIGNER | Google Imagen 3 (image gen/edit) | 100 images/day | ✅ ATIVO |
| video-frames | DESIGNER, COPYWRITER | ffmpeg (local, extract/create clips) | CPU-bound | ✅ ATIVO |
| onchainkit | FRONTEND, DEV | Coinbase OnchainKit (React components) | N/A (npm package) | ✅ ATIVO |
| modern-frontend-stack | FRONTEND | Next.js, React, Tailwind (local) | N/A (local) | ✅ ATIVO |
| figma | DESIGNER, FRONTEND | Figma API (design tokens, exports) | 100 files/min | ✅ ATIVO |
| tts | COPYWRITER | Google Cloud TTS (PT-BR custom voice) | 5M chars/month free | ✅ ATIVO |
Comparativo técnico e didático de todas as ferramentas disponíveis para pesquisa, leitura e extração de dados da web. Inclui casos de uso reais, cenários de falha e pipelines complexos.
Retorna lista de resultados (títulos + snippets). Não acessa páginas diretamente.
Ferramentas: web_search (Brave), tavily_search
Faz requisição HTTP e converte HTML em texto. Sem JavaScript.
Ferramentas: web_fetch, tavily_extract, scrapling Fetcher
Abre browser headless, executa JavaScript, vê o que o usuário veria.
Ferramentas: browser (nativo), firecrawl, scrapling PlayWright
LLM busca, lê e sintetiza múltiplas fontes com citações. Não retorna dados brutos.
Ferramentas: perplexity, tavily_research
| Atributo | Valor |
|---|---|
| Tipo | Nativa |
| Custo | Grátis |
| Velocidade | ⚡⚡⚡ (< 2s) |
| JS pesado | ❌ Não suporta |
| Anti-bot bypass | ❌ |
| Interação | ❌ |
| Melhor para | Docs, blogs, sites estáticos |
| Falha em | React/Angular/SPA, Cloudflare, sites com login |
Analogia: imprimir uma página no papel. Vê o HTML "morto", sem JS rodando.
| Ferramenta | O que faz | Quando usar |
|---|---|---|
| tavily_search | Busca como Google, retorna snippets com relevância | "Quais pools têm maior APY hoje?" |
| tavily_extract | Extrai conteúdo completo de URLs específicas | "Leia o conteúdo desta URL" |
| tavily_crawl | Varre site inteiro seguindo links | "Leia toda a documentação deste projeto" |
| tavily_map | Mapeia estrutura de URLs de um domínio | "Quais páginas existem em clawhub.ai?" |
| tavily_research | Pesquisa profunda multi-etapas com relatório | "Análise profunda do mercado de L2s" |
tavily_search = Google. tavily_extract = Reader Mode. tavily_crawl = robô que lê o site inteiro. tavily_research = analista contratado.
| Atributo | Valor |
|---|---|
| Tipo | Nativa |
| Custo | Grátis |
| Velocidade | ⚡⚡⚡ |
| Retorna | Lista de URLs + snippets (não o conteúdo completo) |
| Melhor para | Descobrir fontes, verificar se notícia circula, encontrar URLs |
| Falha em | Quando precisa do conteúdo completo da página |
| Modelo | Uso | Custo Aprox. |
|---|---|---|
| sonar | Busca rápida, uso geral | ~$1/1k req |
| sonar-pro | Busca mais profunda | Maior |
| sonar-reasoning | Raciocínio complexo + web | Maior |
| sonar-research | Relatório exaustivo multi-fontes | ~$0.05-0.10/req |
✅ Usar quando: precisa de citações e fontes, síntese de múltiplas fontes, análise atual de mercado.
❌ Não usar quando: precisa de dados brutos estruturados (JSON/CSV), extração de tabelas precisas (pode alucinar números).
Analogia: pesquisador que lê 20 artigos e entrega resumo com referências. Você não lê os artigos — recebe a síntese.
| Atributo | Valor |
|---|---|
| Tipo | Skill instalada |
| Custo | 500 créditos/mês grátis (1 scrape ≈ 1 crédito) |
| Velocidade | ⚡ (média) |
| JS pesado | ✅ Excelente |
| Anti-bot bypass | ⚠️ Cloudflare básico (IPs podem estar em blacklist) |
| API Key | 1Password vault "Aspira" → op://Aspira/Firecrawl/api_key |
| Melhor para | Sites React/Angular, dashboards DeFi, conteúdo JS-renderizado |
| Falha em | Cloudflare Enterprise, quando créditos acabam |
Analogia: abrir o Chrome, esperar carregar completamente, copiar o texto visível. Funciona em tudo que um browser normal abre.
| Atributo | Valor |
|---|---|
| Tipo | Nativo |
| Custo | Grátis |
| Velocidade | 🐢 Mais lento de todos (3-8s/página) |
| JS pesado | ✅✅ Perfeito |
| Cloudflare | ✅ IP local, não blacklisted |
| Capacidade única | Clicar, digitar, preencher forms, screenshots, login real |
| Melhor para | Login em sites, formulários, infinite scroll, análise visual |
| Falha em | Scraping em escala (muito lento), quando não há browser instalado |
| Modo | O que faz | Quando usar |
|---|---|---|
| Fetcher | HTTP simples, rápido | APIs públicas JSON, sites sem proteção |
| StealthyFetcher | HTTP com fingerprint de browser real | Cloudflare básico/intermediário |
| PlayWright | Browser headless local completo | Sites que exigem renderização total |
| Spider | Crawl em escala paralela (Scrapy-like) | 100-1000+ páginas com checkpoint |
Capacidades únicas: Bypass Cloudflare Turnstile nativo | Proxy rotation | Pause & Resume com checkpoint | MCP Server integrado | Requests paralelas async | Zero custo (local)
Analogia: suíte completa de ferramentas instalada no servidor. Controle total, sem pagar API, sem limite de créditos.
| Ferramenta | Tipo | JS Pesado | Anti-bot | Interação | Custo | Velocidade | Escala |
|---|---|---|---|---|---|---|---|
| web_fetch | Nativa | ❌ | ❌ | ❌ | Grátis | ⚡⚡⚡ | ⭐ |
| web_search | Nativa | — | — | ❌ | Grátis | ⚡⚡⚡ | ⭐⭐ |
| tavily_extract | Nativa | ⚠️ Parcial | ❌ | ❌ | Grátis* | ⚡⚡ | ⭐⭐ |
| tavily_research | Nativa | — | — | ❌ | Grátis* | ⚡ | ⭐⭐⭐ |
| perplexity | Skill | — | — | ❌ | API paga | ⚡⚡ | ⭐⭐⭐ |
| firecrawl | Skill | ✅ | ⚠️ Básico | ❌ | 500/mês | ⚡ | ⭐⭐ |
| browser | Nativo | ✅ | ✅ | ✅ | Grátis | 🐢 | ⭐ |
| scrapling | Skill | ✅ | ✅✅ | ✅ | Grátis | ⚡⚡ | ⭐⭐⭐⭐ |
Retorna <div id="root"></div> vazio. React injeta conteúdo via JS depois do load.
Correto: scrapling (PlayWright) ou API direta do Uniswap SDK
IPs dos servidores Firecrawl já em blacklist. Retorna challenge infinito.
Correto: scrapling StealthyFetcher ou browser (IP local)
LLM sintetiza texto, não extrai dados estruturados. Pode alucinar números ou omitir linhas.
Correto: scrapling + CSS selector na tabela
500 páginas × 5s = ~40 minutos. Sem checkpoint, recomeça do zero se falhar.
Correto: scrapling Spider (concurrent=20, pause & resume)
web_search não acessa URLs, retorna lista do índice. Snippet de 200 chars, não conteúdo.
Correto: tavily_extract ou web_fetch na URL direta
Sem cookies de sessão, redireciona para página de login (Bloomberg, FT).
Correto: browser (login real) ou perplexity (fontes abertas)
Etapa 1 → web_search: "crypto news last 24h" → 10 URLs relevantes
Etapa 2 → tavily_extract (paralelo): lê as 10 URLs simultaneamente
Etapa 3 → scrapling Fetcher: CoinGecko API (preços) + DeFiLlama (TVL/APYs) + Fear&Greed
Etapa 4 → perplexity sonar: sintetiza tudo em briefing estruturado com contexto
Etapa 5 → message: envia para Telegram tópico correto
Total: ~3 minutos | Custo: ~$0.05-0.15/dia | Agentes: NERD + perplexity
Etapa 1 → scrapling Fetcher: RPC Base via ethers.js → tick atual, tickLower, tickUpper
Etapa 2 → lógica Python local: calcular se está dentro do range, IL estimado
SE DENTRO: message simples "✅ Pool OK" (custo: $0)
SE FORA: Etapa 3 → perplexity: tendência ETH próximas 24h + análise rebalancear/aguardar
→ Etapa 4 → message com MICAM completo + 3 alternativas
Total: 6s (dentro) / 40s (fora) | Custo: $0 normal / ~$0.05 quando fora
Abordagem errada: browser (3-8s/página), perplexity (sem dados tick-a-tick), tavily_search (delay de indexação)
Correto: scrapling async paralelo — 3 APIs (Binance + Kraken + Coinbase) em paralelo = ~800ms
→ Se spread > 0.5%: alerta de arbitragem disparado
Custo: $0 (APIs públicas, scrapling local)
Etapa 1 → perplexity sonar: "crypto trending topics today twitter" → narrativas quentes
Etapa 2 → web_search Brave: volume de buscas de cada tema → qual está em alta
Etapa 3 → tavily_extract: lê 3-5 artigos sobre tema escolhido → dados verificáveis
Etapa 4 → scrapling: CoinGecko (preço/variação) + DeFiLlama (TVL se DeFi)
Etapa 5 → COPYWRITER agente: gancho + desenvolvimento + CTA → formatado por plataforma
Variantes: Thread Twitter (mais citações perplexity) | Carrossel (menos dados) | YouTube (mais tavily_extract)
| Situação | Ferramenta Certa |
|---|---|
| Pesquisar um assunto | web_search ou perplexity |
| Ler página simples (docs, blog) | web_fetch ou tavily_extract |
| Ler página React/JS | firecrawl ou scrapling |
| Análise com citações e fontes | perplexity |
| Clicar, digitar, interagir | browser (único) |
| Passar Cloudflare pesado | scrapling StealthyFetcher |
| Coletar 100+ páginas | scrapling Spider |
| Rodar 24/7 sem custo | scrapling local (cron) |
| Relatório com múltiplas fontes | tavily_research ou perplexity sonar-research |
| Extração de tabela estruturada | scrapling + CSS selector |
| Dados em tempo real (<1s) | scrapling async paralelo (APIs diretas) |
| Site com paywall | browser (login real) ou perplexity (fontes abertas) |
Como funciona: 5 categorias permanentes, 40k threshold, BM25+Vector search, extraction-v3.sh automática.
| Categoria | Arquivo | Linhas | Propósito | Retention |
|---|---|---|---|---|
| Decisões | memory/decisions.md | 63 | Escolhas com contexto, motivo, impacto | FOREVER |
| Mudanças | memory/changes.md | 72 | Alterações de setup, config, arquitetura | FOREVER |
| Lições | memory/lessons.md | 105 | Aprendizados críticos, anti-patterns, rules | FOREVER |
| Bloqueadores | memory/blockers.md | 131 | Problemas ativos, status, workarounds | FOREVER (until fixed) |
| Fatos-Chave | memory/facts.md | 150 | Estado operacional atual (dinâmico) | FOREVER (updated) |
| Método | Tipo Query | Accuracy | Tempo | Quando Usar |
|---|---|---|---|---|
| BM25 (50%) | Exact keyword matching | 95%+ known terms | O(1) rápido | "Em janeiro", "Uniswap", "$100", "Position" |
| Vector (50%) | Semantic similarity | 70% context-aware | O(n) lento | "Qual foi a lição?", "Por que bloqueamos?" |
| COMBINED | BM25 + semantic | 85%+ melhor dos dois | ~2sec | Busca geral, queries complexas |
Exemplos práticos: Diego comanda → sistema executa → resultado entregue (com timing real).
Fluxo:
1. DEGEN conecta on-chain, fetch position #4694494
2. Calcular MICAM (preço, IL, APY)
3. IF IN-RANGE: "Status OK, APY 83.85%, continue"
4. IF OUT-OF-RANGE: Alerta + 3 alternativas
5. Diego reage: /approve-rebalance ou /reject
6. Telegram (1046) + WhatsApp reportam resultado
PARALELO: NERD (pesquisa) + DESIGNER (visual) + TRADER (análise técnica) = 3-5 min
SEQUENCIAL: COPYWRITER aguarda saída de 1-3, integra tudo = 2 min adicional
Total: 5-7 min (vs 12-15 sequencial = 40% ganho)
Output: Post formatado + 3 assets visuais + análise técnica, pronto publicar
PARALELO: DEV (smart contract) + DESIGNER (visual landing) = 4-6 min
SEQUENCIAL: FRONTEND integra interface = 3-4 min adicional
Total: 7-10 min (vs 15-20 sequencial = 40% ganho)
Output: GitHub link + smart contract deployed on Base + landing pronta
Como o sistema lida com falhas, recuperação, fallbacks, e graceful degradation.
| Tipo Erro | Gravidade | Detecção | Ação | Notificação |
|---|---|---|---|---|
| API Rate Limit | MÉDIA | 429 HTTP status | Retry com backoff exponencial, fallback skill | Silent (aguarda 60s) |
| Gateway Down | CRÍTICA | Health check 30min | Restart OpenClaw, purge stale sessions | Telegram (51) + WhatsApp se 5+ min down |
| 1Password Vault Access | CRÍTICA | op read timeout | Cache último secret conhecido (1h max) | Telegram (4) + WhatsApp se vault down >5min |
| Memory Extraction Fails | ALTA | extraction-v3.sh exit code != 0 | Retry 3x, log error, manual review flag | Telegram (4) - "Memory consolidation FAILED" |
| Agent Timeout | MÉDIA | SLA exceeded | Kill process, fallback agent ou sequencial | Telegram (28) - "TRADER timeout, trying ANALYTICS" |
| On-Chain TX Fail | CRÍTICA | Revert, insufficient gas, nonce conflict | DEGEN retries 3x, propõe manualmente se falha | Telegram (51) + WhatsApp - "TX FAILED: [reason]" |
perplexity down? → Switch tavily_search. Figma down? → Use nano-banana-pro. Uniswap v3? → Fallback Bankr swap.
TRADER busy (>3 spawns)? → Queue ou spawn ANALYTICS. DEV busy? → Fallback FRONTEND (simpler tasks).
RPC node latency >5s? → Try fallback RPC. API down? → Cache last known state. Approval delayed? → Auto-timeout após 30min, abandon operação.
Dados de velocidade real, comparativos paralelo vs sequencial, eficiência de memória.
| Tarefa | Agentes | Sequencial | Paralelo | Ganho | SLA Target |
|---|---|---|---|---|---|
| Pesquisa Simples | NERD | 1-2 min | N/A | N/A | 1-2 min ✅ |
| Análise Técnica | NERD + TRADER | 4-5 min | 2-3 min | 40-50% faster | 2-3 min ✅ |
| Conteúdo Visual | NERD + DESIGNER + TRADER + COPYWRITER | 12-15 min | 5-7 min | 35-40% faster | 5-7 min ✅ |
| Trade Approval | ANALYTICS + TRADER + DEGEN | 8-10 min | 5-7 min | 25-30% faster | 5-7 min ✅ |
| Smart Contract | DEV + DESIGNER + FRONTEND | 15-20 min | 7-10 min | 40-50% faster | 7-10 min ✅ |
| Métrica | v2 (160k) | v3 (40k) | Melhoria |
|---|---|---|---|
| Threshold Flush | 160k tokens | 40k tokens | 4x mais ágil |
| Token Cost/Cycle | ~160k per flush | ~40k per flush | ~50% economia |
| Context Retained | Perda 70%+ | 521 permanente | ∞ FOREVER |
| Search Accuracy | Vector 70% | BM25+Vector 85% | 2x melhoria |
| Cenário | Interval Antes | Interval Agora | Economia API Calls |
|---|---|---|---|
| Horário ativo SEM multi-agentes | 1 min | 3-5 min | -67% API calls |
| Horário ativo COM multi-agentes | 1 min | 2 min | -50% API calls |
| Quiet hours (23h-07h) | 1 min | 10 min | -90% API calls |
| Alertas críticos | 1 min | 1 min (imediato) | 0% delay |
Regras de operação, horários BRT, quiet hours, padrões de comunicação.
✅ SEMPRE português claro (NUNCA inglês, code-switching bloqueado)
✅ SEMPRE horário Brasília (BRT = UTC-3, BRST = UTC-2)
✅ Nunca "18:47 UTC" para Diego. Cite "15:47 BRT" ou "16:47 BRST"
✅ Conversão automática: APIs retornam UTC → converte para BRT
| Período | Horário BRT | Status | Notificações | Comportamento Heartbeat |
|---|---|---|---|---|
| Quiet Hours (noite) | 23:00-07:00 | ⚠️ SLEEPING | ZERO (except crítico) | Skip checks não-críticos, só >$100 pending + extraction urgent |
| Horário Ativo | 07:00-11:15 | ✅ ONLINE | Alerts normais | Heartbeat 2-5 min, all checks OK |
| Pausa Família | 11:15-13:00 | ⚠️ FAMILY TIME | ZERO (except crítico) | Skip checks não-críticos, silencioso |
| Horário Ativo | 13:00-19:00 | ✅ ONLINE | Alerts normais | Heartbeat 2-5 min, all checks OK |
| Encerramento | 19:00-23:00 | ✅ ONLINE (diminuindo) | Alerts sutil | Heartbeat 5 min, reduz volume |
| Prioridade | Canal | Uso | Latência | Quiet Hours |
|---|---|---|---|---|
| PRIMARY | WhatsApp (+555599096505) | Alertas críticos, approvals, briefing, agenda | <10s | CRÍTICOS APENAS |
| SECONDARY | Telegram (18 tópicos) | Detalhes, análises, documentação, logs | <5s | CRÍTICOS APENAS |
| SOCIAL | Discord + Farcaster | Community, broadcasts, social content | <30s | SKIP quiet hours |
| ASYNC | Telegram archives (tópicos) | Logs, auditoria, referência, trilha | Async | Always recorded |
| Arquivo | Conteúdo Principal | Carregamento | Função Crítica |
|---|---|---|---|
| SOUL.md | Essência, tom, valores, limites | Boot (automático) | Define atitude de TODO sistema |
| USER.md | Diego: timezone, horários, preferências, $100 limit | Boot + Daily | Implementado por HEARTBEAT |
| AGENTS.md | 9 agentes: modelos, especialidades, autonomia, SLA, skills | Boot + On-demand | Matriz de decisão |
| TOOLS.md | 30+ skills por domínio (crypto, research, content, dev) | Boot + On-demand | NUNCA invento skills, sempre verifico |
| MEMORY.md | Índice: 5 categorias permanentes, session counter, lastupdate | Boot + Auto-sync 24/7 | Sincronização através sessões |
| HEARTBEAT.md | Monitoramento contínuo, quiet hours, checks, automações | Boot + On-demand | Guia de execução de health checks |
Stack técnico, dependências, arquivos de configuração, scripts, e como manter funcionando.
| Camada | Tecnologia | Versão | Propósito |
|---|---|---|---|
| Runtime | Node.js | v22.22.0 | OpenClaw, subagents, scripts automation |
| Gateway | OpenClaw (WebSocket) | Latest | Central messaging hub para todos canais |
| Credential Store | 1Password CLI (op) | Latest | Zero-hardcoding credential management |
| Memory Backend | Markdown files (flat-file) | N/A | 5 categorias permanentes, versionable |
| Automation | Bash + crontab | Standard | 6 crons agendadas, triggers |
| Search | BM25 (local) + Vector (future) | v3 | Memory indexing, hybrid search |
| LLM Backbone | Claude (Anthropic) + Gemini (Google) | Multiple versions | 9 agentes com modelos otimizados |
| Script | Linguagem | Trigger | SLA | Crítico |
|---|---|---|---|---|
| extraction-v3.sh | Bash (200 linhas) | On 40k context trigger | 3 min | ✅ SIM (memory consolidation) |
| health-check.sh | Bash (150 linhas) | Every 30 min (cron) | 2 min | ✅ SIM (system health) |
| pool-monitoring-degen.sh | Bash (wrapper) | 07:15 + 16:15 BRT (cron) | 5 min | ✅ SIM (operations) |
| security-audit.sh | Bash (100 linhas) | Mon 07:00 BRT (cron) | 5 min | ✅ SIM (compliance) |
| briefing-aggregator | Python (300+ linhas) | Daily 06:30 BRT (cron) | 10 min | ✅ SIM (intelligence) |
Verificar: context > 40k? → logs /home/molt/.openclaw/workspace/memory/logs/extraction-*.log
Solução: bash /home/molt/.openclaw/workspace/scripts/extraction-v3.sh force
Verificar: openclaw status
Solução: openclaw gateway restart
Verificar: op account list
Solução: op signin diegospanevello.1password.com
Verificar: crontab -l | grep aspira
Solução: systemctl restart cron (ou manual run)
Especificação técnica completa: Uniswap V3 Position Manager, ethers.js, MICAM cálculos, verificações on-chain.
| Rede | Position Manager | Router | Factory |
|---|---|---|---|
| Base (PRIMARY) | 0xC36442b4a4522E871399CD717aBD90CA34d7c6f7 | 0x4648a43b2C14Da09FdF82B161150d3F634f40491 | 0x33128a8fC17869897dcFf533033346eb7E2b80f2 |
| Ethereum | 0xC36442b4a4522E871399CD717aBD90CA34d7c6f7 | 0xE592427A0AEce92De3Edee1F18E0157C05861564 | 0x1F98431c8aD98523631AE4a59f267346ea31F984 |
| Arbitrum | 0xC36442b4a4522E871399CD717aBD90CA34d7c6f7 | 0xE592427A0AEce92De3Edee1F18E0157C05861564 | 0x1F98431c8aD98523631AE4a59f267346ea31F984 |
| Indicador | Fórmula | Uso | Valor Alvo |
|---|---|---|---|
| Impermanent Loss (IL) | IL% = (2 * √(Preço Inicial / Preço Atual) - 1 - Preço Inicial / Preço Atual) * 100 | Quantificar risco de preço | <15% ideal |
| APY Effective | APY = (Fees Anuais / Capital Invested) * 100 | Yield de fees | >50% attractive |
| Bollinger Bands | Middle = SMA(20). Upper = Middle + 2*σ. Lower = Middle - 2*σ | Detectar volatilidade | Preço fora bands = alerta |
| RSI (Relative Strength Index) | RSI = 100 - (100 / (1 + RS)), RS = AvgGain / AvgLoss | Detectar reversal | RSI >70 = overbought, <30 = oversold |
| Range Status | Preço >= tickLower && Preço <= tickUpper | Verificar se em range | IN-RANGE = operativo |
Como encontrar TODAS as posições de uma wallet em Uniswap V3, DeFi Llama, DexScreener.
| API | Endpoint | Propósito | Rate Limit |
|---|---|---|---|
| Uniswap V3 Subgraph | https://api.thegraph.com/subgraphs/name/uniswap/uniswap-v3 | Query positions by owner, pool data | 1000 req/min |
| DexScreener | https://api.dexscreener.com/latest/dex/pairs/base/:pair | Pool prices, volumes, 24h stats | Free unlimited |
| DefiLlama | https://yields.llama.fi/pools | Yield farming data, APY historical | Free unlimited |
| Ethers.js RPC | http://localhost:8545 or Infura/Alchemy | On-chain position data (PositionManager) | 1000 req/min (Infura free) |
Como reações do Diego (via Telegram emoji/comando) voltam pro sistema e disparam execução.
| Etapa | Tempo | Componente | Crítico |
|---|---|---|---|
| 1-2: Cálculo | 10-30s | TRADER | SIM |
| 3: Envio mensagem | <2s | OpenClaw | SIM |
| 4: Diego reage | 1-600s | Humano | NÃO |
| 5-6: Bot detecta | 1-5s | Telegram Bot | SIM |
| 7: Spawn DEGEN | 5-15s | OpenClaw Sessions | SIM |
| 8: Executa on-chain | 2-5s | API call + network | SIM |
| Total (sem Diego): 18-57s |
Todos os erros possíveis (E001-E050), causas, e ações de recuperação automática.
| Código | Erro | Causa | Severity | Recovery Automático | Alert |
|---|---|---|---|---|---|
| E001 | API Rate Limit | 429 HTTP status | MÉDIA | Retry com backoff exponencial (60s) | Silent |
| E002 | Gateway Down | WebSocket closed | CRÍTICA | openclaw gateway restart | Telegram (51) + WhatsApp |
| E003 | 1Password Vault Access Denied | Auth token expired | CRÍTICA | op signin diegospanevello.1password.com | Telegram (4) + WhatsApp |
| E004 | Insufficient Gas | TX reverted (gas estimation wrong) | ALTA | DEGEN recalcula, retry com +20% gas | Telegram (51) |
| E005 | Nonce Conflict | Pending TX in mempool | ALTA | Bump gas +50%, new nonce, retry | Telegram (51) |
| E006 | Slippage Exceeded | Price moved >2% from estimation | MÉDIA | Abandon, propose new price, manual approval | Telegram (450) + WhatsApp |
| E007 | Position Out of Range | Price moved outside LP bounds | ALTA | Alert, propose 3 rebalance options | Telegram (1046) + WhatsApp |
| E008 | Agent Timeout | SLA exceeded (5+ min) | MÉDIA | Kill process, fallback agent, try sequencial | Telegram (28) |
| E009 | Memory Extraction Fails | Script exit code != 0 | ALTA | Retry 3x, log error, flag para review manual | Telegram (4) + WhatsApp |
| E010 | RPC Node Latency >5s | Network issue or node overloaded | MÉDIA | Switch fallback RPC, retry | Silent (auto-handled) |
| E011 | Approval Timeout (>30 min) | Diego não reagiu ao approval | BAIXA | Auto-cancel, abandon operação | Telegram (450) |
| E012 | Disk Space < 500MB | Storage critical | ALTA | Delete logs >60 dias, archive backups | Telegram (4) |
Symptom: 429 status code
Auto-Action: Esperar 60s, retry com exponencial backoff
If Still Fails: Switch para fallback API/skill
Diego Alert: Não (transparente)
Symptom: WebSocket connection refused
Auto-Action: openclaw gateway restart
Max Retries: 3 vezes
If Still Fails: Alert Diego, parar automações
Diego Alert: Telegram (51) + WhatsApp (CRÍTICO)
Symptom: TX reverted "out of gas"
Auto-Action: Recalculate gas, retry com +20% estimate
If Still Fails: Abandon, propose manualmente com novo gas estimate
Diego Alert: Telegram (51) com novo spec
Quanto custa tudo: tokens LLM, APIs, on-chain gas, budget alerts.
| Operação | Agent + Modelo | Custo Tokens | API Calls | Custo Total |
|---|---|---|---|---|
| Pesquisa Simples | NERD (Haiku 4.5) | ~500 tokens | 1x Perplexity | ~$0.05 |
| Análise Técnica | TRADER (Sonnet 4) + ANALYTICS (Sonnet 4) | ~2,000 tokens | 2x Tavily + 1x divergence-volume | ~$0.15 |
| Conteúdo Visual | NERD + DESIGNER + TRADER + COPYWRITER | ~5,000 tokens | 1x nano-banana-pro + 1x figma export | ~$0.40 |
| Smart Contract Deploy | DEV (Opus 4.6) + FRONTEND (Sonnet 4) | ~8,000 tokens | 1x clanker deployment | ~$0.80 + gas |
| Pool Monitor (1x) | DEGEN (Opus 4.6) | ~1,000 tokens | 1x RPC call + DexScreener | ~$0.10 + gas (~$2) |
| Briefing Diário (1x) | briefing-aggregator (Python) | ~3,000 tokens | 3x API (Twitter, News, FRED) | ~$0.30 |
| Categoria | Frequency | Custo/Unidade | Custo Mensal | % do Budget |
|---|---|---|---|---|
| LLM Tokens (Claude + Gemini) | Contínuo | ~$0.15-0.80/op | ~$150-200 | 50% |
| APIs (Perplexity, Tavily, etc) | Contínuo | ~$0.01-0.10/call | ~$50-80 | 20% |
| On-Chain Gas (Base, Ethereum) | Per TX | ~$2-50/tx | ~$100-200 | 25% |
| Infrastructure (1Password, OpenClaw) | Fixed | $0 (free tier) | $0 | 0% |
| TOTAL | ~$300-480 | 100% |
| Threshold | Trigger | Ação | Alert Destination |
|---|---|---|---|
| $50 (operação) | Single TX > $50 | Require approval /approve-TRADE | Telegram + WhatsApp |
| $100 (daily) | Daily total > $100 | Resume, alert Diego | Telegram (36 - Custos) + WhatsApp |
| $300 (monthly) | Monthly burn > $300 | Reduce operations, optimize | Telegram (36) + ASPIRA log |
| API Quota | Tavily 100 calls/day esgotadas | Switch fallback API | Telegram (6 - Skills) |
Como dados fluem pelo sistema: entrada → processamento → decisão → execução → saída → memória.
┌─────────────────────────────────────────────────────────────────────────────────┐
│ INPUT LAYER │
├─────────────────────────────────────────────────────────────────────────────────┤
│ │
│ Diego (WhatsApp) → Message Gateway → ASPIRA (orchestrator) │
│ │ │
│ Telegram Webhook → Message Handler → ├→ Validate quiet hours │
│ (approval reactions) │ ├→ Check USER.md context │
│ │ ├→ Parse command type │
│ Scheduled Crons → Cron Executor → └→ Route to handler │
│ │
└─────────────────────────────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────────────────────────┐
│ DECISION & ROUTING LAYER │
├─────────────────────────────────────────────────────────────────────────────────┤
│ │
│ ASPIRA Decision Tree: │
│ ├─ Type: RESEARCH? → Spawn NERD (Haiku) │
│ ├─ Type: DESIGN? → Spawn DESIGNER (Flash3) │
│ ├─ Type: TRADING? → Spawn ANALYTICS + TRADER (paralelo) │
│ ├─ Type: DEFI? → Spawn DEGEN (Opus 4.6) │
│ └─ Type: CONTENT? → Spawn NERD + DESIGNER + TRADER + COPYWRITER │
│ │
│ Parallelism Check: │
│ ├─ Multiple subtasks? YES │
│ ├─ Independent? YES │
│ ├─ Max(SLA) < Sum(SLAs)? YES → PARALLEL │
│ └─ Otherwise → SEQUENTIAL │
│ │
└─────────────────────────────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────────────────────────┐
│ EXECUTION LAYER (Multi-Agent) │
├─────────────────────────────────────────────────────────────────────────────────┤
│ │
│ AGENT 1 AGENT 2 AGENT 3 AGENT 4 │
│ ──────── ──────── ──────── ──────── │
│ ↓ Init ↓ Init ↓ Init ↓ Init │
│ Load TOOLS.md Load TOOLS.md Load TOOLS.md Load TOOLS.md │
│ Get Credentials Get Credentials Get Credentials Get Credentials │
│ (op read 1Pass) (op read 1Pass) (op read 1Pass) (op read 1Pass) │
│ ↓ Execute ↓ Execute ↓ Execute ↓ Execute │
│ Call APIs Call APIs Call APIs Call APIs │
│ Process Data Process Data Process Data Process Data │
│ ↓ Return ↓ Return ↓ Return ↓ Return │
│ Output #1 Output #2 Output #3 Output #4 │
│ │
│ [All run in parallel, max time = max(SLA1, SLA2, SLA3, SLA4)] │
│ │
└─────────────────────────────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────────────────────────┐
│ APPROVAL & DECISION LAYER │
├─────────────────────────────────────────────────────────────────────────────────┤
│ │
│ Cost Check: │
│ ├─ Estimated Cost > $100? │
│ │ ├─ YES: CREATE approval message │
│ │ │ ├─ Telegram tópico correto (450, 1046, etc) │
│ │ │ ├─ WhatsApp +555599096505 │
│ │ │ └─ WAIT for Diego reaction: /approve or /reject (30 min timeout) │
│ │ └─ NO: Continue to execution │
│ │ │
│ Approval Handler (on Diego reaction): │
│ ├─ Parse: sender_id == Diego? YES │
│ ├─ Parse: command == /approve? YES │
│ ├─ Lookup: operation still pending? YES │
│ └─ APPROVE: continue to execution │
│ │
└─────────────────────────────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────────────────────────┐
│ ON-CHAIN / EXTERNAL EXECUTION │
├─────────────────────────────────────────────────────────────────────────────────┤
│ │
│ DEGEN / EXECUTOR Agent: │
│ ├─ IF type == TRADE: │
│ │ └─ Connect Hyperliquid/Kraken/NADO │
│ │ ├─ Place order (spec exact) │
│ │ └─ Get orderId, tx_hash │
│ ├─ IF type == POOL: │
│ │ └─ Connect Uniswap V3 on-chain │
│ │ ├─ Call PositionManager methods │
│ │ └─ Get tx_hash, status │
│ └─ IF type == SMART CONTRACT: │
│ └─ Deploy via clanker / DEV │
│ ├─ Get contract address │
│ └─ Get verification link │
│ │
│ Return: {tx_hash, orderId, confirmation, result} │
│ │
└─────────────────────────────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────────────────────────┐
│ CONSOLIDATION & MONITORING LAYER │
├─────────────────────────────────────────────────────────────────────────────────┤
│ │
│ ASPIRA Consolidates: │
│ ├─ Merge all agent outputs │
│ ├─ Calculate final result │
│ ├─ IF Trade: ANALYTICS monitors until TP/SL │
│ ├─ IF Pool: DEGEN continues monitoring 2x/day │
│ ├─ IF Content: Deliver to channels │
│ └─ Timestamp result, add to MEMORY.md │
│ │
│ Store in Memory Categories: │
│ ├─ decisions.md (if strategic choice) │
│ ├─ changes.md (if system altered) │
│ ├─ facts.md (current state update) │
│ └─ YYYY-MM-DD.md (daily notes, auto-delete 14 days) │
│ │
└─────────────────────────────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────────────────────────┐
│ OUTPUT & DELIVERY LAYER │
├─────────────────────────────────────────────────────────────────────────────────┤
│ │
│ Primary (WhatsApp): │
│ └─ Send to +555599096505 (critical alerts + approvals) │
│ │
│ Secondary (Telegram 18 Topics): │
│ ├─ Topic 450 (TRADING) ← Trade results │
│ ├─ Topic 1046 (DeFi) ← Pool monitoring │
│ ├─ Topic 685 (Briefing) ← Daily intelligence │
│ ├─ Topic 51 (Errors) ← Alerts & failures │
│ ├─ Topic 178 (Auditoria) ← Logs & audit trail │
│ └─ Topic 4 (Infra) ← System updates │
│ │
│ Tertiary (Social): │
│ └─ Discord, Farcaster, Twitter (async, automated posting) │
│ │
└─────────────────────────────────────────────────────────────────────────────────┘
| Stage | Latency | Variability | Bottleneck |
|---|---|---|---|
| Input → Decision (stages 1-2) | 100-500ms | Low (OpenClaw internal) | None |
| Agent Execution (stage 3) | 1-5 min (paralelo) / 5-15 min (seq) | High (API network, LLM speed) | API calls + LLM inference |
| Approval (stage 4) | 1-600s (depends on Diego) | Very high (human) | Diego reaction time |
| On-Chain Execution (stage 5) | 2-5s (order placement) / 12-60s (TX confirm) | High (blockchain network) | Network latency + gas price |
| Consolidation (stage 6) | 1-3s | Low | None |
| Delivery (stage 7) | <2s (Telegram) / <5s (WhatsApp) | Medium (network) | Message provider network |
| Total (without approval) | 5-25 min | ||
| Total (with approval) | 6-625 min (!) | Diego reaction |
Quando usar qual agente? Matriz decisória completa com critérios.
| Scenario | Agent(s) | Paralelo? | SLA | Cost | Primary Skills |
|---|---|---|---|---|---|
| "ETH price?" | NERD | N/A | 1-2 min | $0.05 | perplexity |
| "Analyze ETH/USD" | ANALYTICS + TRADER | YES | 2-3 min | $0.15 | divergence-volume, tavily |
| "Make pool logo" | DESIGNER | N/A | 2-3 min | $0.10 | nano-banana-pro, figma |
| "Create post + visuals" | NERD + DESIGNER + TRADER + COPYWRITER | YES | 5-7 min | $0.40 | All content skills |
| "Deploy token" | DEV + FRONTEND | YES | 5-8 min | $0.80 + gas | clanker, onchainkit |
| "Monitor pools" | DEGEN (cron 2x/dia) | N/A | 5 min | $0.10 + gas | uniswapskill, DexScreener |
| "Trade ETH" | ANALYTICS + TRADER → DEGEN | YES | 5-15 min (+ approval) | $0.20 + fees | hyperliquid, bankr |
| Question | Answer | Next |
|---|---|---|
| Task has multiple subtasks? | NO | → Sequential (1 agent) |
| Subtasks are independent? | NO | → Sequential (dependency order) |
| Agent 1 needs Agent 2 output? | YES | → Sequential (Agent 2 AFTER Agent 1) |
| Max(SLA) < Sum(SLAs) / N? | YES | → PARALLEL (40% faster) |
| Resource contention possible? | YES | → Sequential (avoid competition) |
| Cost > $100? | YES | → Require approval before executing |
Todos os secrets: APIs, wallets, keys. Paths estruturados, sem hardcoding, auditável.
| Path | Tipo | Agente(s) Acesso | Usar com | Rotation |
|---|---|---|---|---|
| op://Aspira/hyperliquid/api_key | API Key | TRADER, DEGEN | hyperliquid skill | Monthly |
| op://Aspira/hyperliquid/private_key | Private Key | DEGEN | Signing TXs | Never |
| op://Aspira/kraken/api_key | API Key | TRADER, ANALYTICS | kraken skill | Monthly |
| op://Aspira/kraken/private_key | API Secret | TRADER, ANALYTICS | kraken skill | Monthly |
| op://Aspira/nado/wallet_key | Seed Phrase | TRADER, DEGEN | nado skill (Solana wallet) | Never |
| op://Aspira/bankr/api_key | API Key | DEGEN, ANALYTICS | bankr skill (DeFi) | Monthly |
| op://Aspira/perplexity/api_key | API Key | NERD, ANALYTICS | perplexity skill | Quarterly |
| op://Aspira/tavily/api_key | API Key | NERD, ANALYTICS | tavily_search skill | Quarterly |
| op://Aspira/firecrawl/api_key | API Key | NERD, DESIGNER | firecrawl skill | Quarterly |
| op://Aspira/neynar/api_key | API Key | COPYWRITER, NERD | neynar skill (Farcaster) | Quarterly |
| op://Aspira/groq/api_key | API Key | DEV, NERD (fallback LLM) | Groq API alternative | Quarterly |
| op://Aspira/wallet/privy_key | Private Key | DEGEN (Bankr) | Privy wallet (custody limits) | Never |
| op://Aspira/google/service_account | JSON Key | ANALYTICS (Google Calendar) | google-agenda-v2 skill | Quarterly |
| op://Aspira/figma/personal_token | API Token | DESIGNER, FRONTEND | figma skill | Quarterly |
| Frequency | Credenciais | Ação | Responsável |
|---|---|---|---|
| Monthly | API Keys (Hyperliquid, Kraken, Bankr, etc) | Regenerate no exchange, update 1Password | Diego (manual) |
| Quarterly | API Keys (Perplexity, Tavily, Neynar, Google, Figma) | Regenerate, update 1Password | Diego (manual) |
| Never | Private Keys (Wallets), Seed Phrases | Keep in vault, NEVER share | ASPIRA (protect) |
| On Expiry | Google Service Account (expires 1 year) | Regenerate JSON, update 1Password | Diego (calendar reminder) |
✓ Use op read SEMPRE
✓ Store credentials in 1Password vault
✓ Rotate API keys monthly
✓ Log all credential access (op logs)
✓ Use IP whitelisting when available
✓ Enable MFA na conta 1Password
✗ Hardcode API keys em código
✗ Commit .env files ao git
✗ Share credentials via email/Slack
✗ Use same key para múltiplas services
✗ Leave credentials na browser console
✗ Forget to rotate keys
1Password logs TODAS as reads:
→ Menu 1Password CLI: `op item list --vault Aspira`
→ Cada acesso timestamped e rastreável
→ Diego pode auditar: "Quem acessou qual key?"
Arquitetura em movimento: diagramas visuais completos de todos os fluxos principais, mais casos de uso além do perfil Diego — criadores de conteúdo, investidores, comunidades, empresas.
| Necessidade | Agentes | Output | Tempo |
|---|---|---|---|
| Post diário sobre token em alta | NERD + TRADER + DESIGNER + COPYWRITER | Carrossel pronto + caption + análise técnica | 5-7 min |
| Thread explicando DeFi para iniciantes | NERD (pesquisa) + COPYWRITER (didática) | Thread 10 tweets, linguagem acessível | 3-4 min |
| Roteiro vídeo YouTube sobre L2s | NERD + ANALYTICS + COPYWRITER | Roteiro estruturado com dados verificáveis | 5-8 min |
| Newsletter semanal | NERD + ANALYTICS + COPYWRITER | Email formatado com seções e dados | 8-12 min |
| Thumbnail para vídeo viral | DESIGNER (nano-banana-pro) | 3 opções de thumbnail em estilos diferentes | 2-3 min |
| Necessidade | Agentes | Output | Tempo |
|---|---|---|---|
| Monitorar pools 2x/dia automaticamente | DEGEN (cron) | Status + MICAM + proposta rebalance se necessário | Automático |
| Encontrar melhor pool para depositar $500 | NERD + ANALYTICS + DEGEN | Top 5 pools por APY/risco, com análise IL | 3-5 min |
| Coletar fees acumuladas | DEGEN (ethers.js) | Fees em USD por posição + sugestão coletar/reinvestir | 1-2 min |
| Análise de impermanent loss histórica | ANALYTICS + NERD | IL calculado por período, comparativo com hold | 2-3 min |
| Rebalancear portfolio DeFi | DEGEN + TRADER + ANALYTICS | Proposta de rebalance + execução pós-approval | 5-15 min |
| Necessidade | Agentes | Output | Tempo |
|---|---|---|---|
| Setup de entrada com múltiplos indicadores | TRADER + ANALYTICS | Entry, SL, TP, R:R, confidence %, timeframe | 2-3 min |
| Monitorar 5 pares simultaneamente | 5x NERD em paralelo | Alertas quando qualquer par atinge nível | Automático |
| Backtesting de estratégia | ANALYTICS + DEV | Script Python + resultados históricos | 5-10 min |
| Executar ordem em Hyperliquid | TRADER (análise) + DEGEN (exec) | Ordem colocada com SL/TP linked | 2-4 min |
| Relatório de performance mensal | ANALYTICS | P&L, win rate, drawdown, melhores setups | 3-5 min |
| Necessidade | Agentes | Output | Tempo |
|---|---|---|---|
| Briefing automático para membros | NERD + COPYWRITER (cron) | Resumo diário entregue ao Discord/Telegram da comunidade | Automático |
| Responder dúvidas técnicas de membros | NERD + COPYWRITER | Resposta didática com fontes | 1-2 min |
| Criar proposta de governança | NERD + ANALYTICS + COPYWRITER | Documento formatado com dados e justificativas | 5-8 min |
| Monitorar saúde do treasury | DEGEN + ANALYTICS | Dashboard: saldos, APY, exposição, riscos | 2-3 min |
| Deploy de NFT collection | DEV + DESIGNER + COPYWRITER | Contrato + assets + mint page + anúncio | 15-25 min |
| Necessidade | Agentes | Output | Tempo |
|---|---|---|---|
| Criar dApp completo | DEV + FRONTEND + DESIGNER | Solidity + Next.js + OnchainKit + deploy | 20-40 min |
| Auditoria de segurança de contrato | DEV (v4-security-foundations skill) | Relatório com vulnerabilidades e fixes | 5-10 min |
| Integrar Uniswap swap em app | DEV (swap-integration skill) | Código TypeScript pronto + documentação | 5-8 min |
| Criar hook Uniswap v4 | DEV (v4-security-foundations) | Hook testado com Hardhat/Foundry | 10-20 min |
| Deploy multi-chain automatizado | DEV + DEGEN | Script deployment em Base, ETH, Arbitrum | 10-15 min |
Responder dúvidas de membros do Discord/Telegram automaticamente com base em FAQ + contexto de mercado. COPYWRITER + NERD treinados na voz da comunidade.
Interface React Native com OnchainKit: ver posições, aprovar trades, receber alertas, spawnar agentes — tudo no celular via voz ou texto.
Canal de sinais cripto com análise TRADER + ANALYTICS publicando automaticamente em Telegram/Discord quando detecta setup de alta probabilidade.
DEGEN monitora N wallets simultaneamente, consolida P&L total, alerta sobre pools fora de range em qualquer carteira, propõe rebalances cross-wallet.
NERD pesquisa tema, COPYWRITER estrutura módulos, DESIGNER cria slides, FRONTEND monta plataforma — curso completo em horas, não semanas.
NERD monitora SEC, CVM, BaFin, MAS automaticamente. Detecta novas regulações e impacto esperado. Alerta Diego 30 min antes de qualquer anúncio crítico.
| Domínio | Capacidade | Agente | Automático? |
|---|---|---|---|
| 💰 DeFi | Monitor de pools Uniswap v3 on-chain | DEGEN | ✅ 2x/dia |
| Proposta e execução de rebalance | DEGEN + approval | ⚠️ Com approval | |
| Análise MICAM de posição | TRADER + ANALYTICS | On-demand | |
| Coleta de fees on-chain | DEGEN | On-demand | |
| 📈 Trading | Análise técnica multi-timeframe | TRADER + ANALYTICS | On-demand |
| Execução Hyperliquid/Kraken/NADO | DEGEN | ⚠️ >$100 approval | |
| Setups divergence & volume | TRADER | On-demand | |
| Relatório performance | ANALYTICS | On-demand | |
| 🎨 Conteúdo | Posts Instagram/Twitter/YouTube | NERD+DESIGNER+COPYWRITER | On-demand |
| Briefing diário | Python + NERD | ✅ 06:30 BRT | |
| Thumbnails e assets visuais | DESIGNER | On-demand | |
| Scripts e roteiros | COPYWRITER | On-demand | |
| 🛠️ Dev | Smart contracts ERC20/NFT | DEV | On-demand |
| Deploy em Base/ETH/Arbitrum | DEV + DEGEN | On-demand | |
| Frontend React/Next.js | FRONTEND | On-demand | |
| Auditoria de segurança Solidity | DEV | On-demand | |
| 🔍 Research | Pesquisa de mercado profunda | NERD + perplexity | On-demand |
| Monitor SEC/regulação | NERD (scrapling) | On-demand | |
| Análise competitiva de projetos | NERD + ANALYTICS | On-demand | |
| Dados macroeconômicos FRED | NERD | ✅ No briefing | |
| 🤖 Sistema | Memória automática (extraction-v3) | ASPIRA | ✅ On 40k |
| Health check infraestrutura | health-check.sh | ✅ 30min | |
| Security audit semanal | security-audit.sh | ✅ Seg 07:00 |
Portal centralizado com login protegido para todos os dashboards analíticos. Atualizado em 2026-03-10: site virou multi-página com Instagram + Meta Ads + placeholders YouTube/Google Ads.
| Campo | Valor |
|---|---|
| URL Pública | diego-analytics.pages.dev (instagram-analytics-8fl.pages.dev = DESCONTINUADA) |
| Projeto CF Pages | diego-analytics |
| CF Account ID | a95eb5c050d25d79f60c43f303ba1dd5 |
| Cron Diário | 09:00 BRT (job 311f6904-7702-4e1c-92c9-f7f5c87162c5) |
| Status | ✅ ONLINE |
| Login 1Password | op://Aspira/Portal Intus Analytics - Login |
| Segurança atual | SHA-256 client-side (upgrade → Cloudflare Access pendente) |
| Cloudflare Access | 🚫 Descartado — decisão: manter SHA-256 (11/03/2026) |
| Usuário autorizado | diegospanevello (único — roberson removido em 14/03/2026 por requisição Diego) |
| Arquivo | Função | Status |
|---|---|---|
index.html | Login SHA-256 | ✅ Online |
dashboard.html | Menu central com 4 cards | ✅ Online |
instagram.html | Dashboard Instagram v3 (+ nav bar) | ✅ Online |
meta-ads.html | Dashboard Meta Ads (44KB, filtros dinâmicos) | ✅ Online |
youtube.html | Dashboard YouTube (Chart.js, dados reais via API YouTube Analytics) | ✅ Online — construído 11/03/2026 |
google-ads.html | Placeholder "Em breve" | ⏳ Placeholder |
assets/auth.js | Autenticação compartilhada entre páginas (redirect param adicionado 12/03) | ✅ |
generate-dashboard.js sobrescrevia index.html e instagram.html a cada run do cron (07:30 BRT), destruindo navbar e auth inseridos manualmente.b815461e... removido de VALID_USERS em assets/auth.js.index.html manualmente se existe script que o sobrescreve. Verificar com grep -r "index.html" scripts/
| Arquivo | Função |
|---|---|
| skills/instagram-analytics/scripts/collector.js | Coleta 90 posts + insights (v3) |
| skills/instagram-analytics/scripts/generate-dashboard.js | Gera HTML do dashboard |
| skills/instagram-analytics/scripts/deploy.sh | Lê CF token do 1Password → deploy |
| skills/instagram-analytics/scripts/backfill-history.js | Backfill histórico completo |
| skills/instagram-analytics/data/analytics.db | SQLite DB (posts + snapshots) |
| Serviço | 1Password Path |
|---|---|
| Cloudflare API Token | op://Aspira/Cloudflare API Token/api_token |
| Instagram Access Token | op://Aspira/Instagram Graph API/access_token |
| Métrica | Nível | Status |
|---|---|---|
| views | Post + User | ✅ (metric_type=total_value obrigatório para user-level) |
| reach | Post + User | ✅ |
| likes, comments, saved, shares | Post | ✅ |
| total_interactions | Post + User | ✅ |
| ig_reels_avg_watch_time | Post (Reels) | ✅ |
| profile_links_taps | User | ✅ (substituiu profile_views) |
| follower_demographics | User | ✅ (funciona para Creator) |
| follows_and_unfollows | User | ⚠️ Formato inconsistente na API |
| engaged_audience_demographics | User | ⚠️ Volume insuficiente (~50K+) |
| Campo | Tipo | Obs |
|---|---|---|
| views | INTEGER | Adicionado 2026-03-09 |
| total_interactions | INTEGER | Adicionado 2026-03-09 |
| profile_visits_from_post | INTEGER | Adicionado 2026-03-09 |
| reach | INTEGER | Fix 2026-03-09 (era 0 para Reels) |
Projeto de bot inteligente para os grupos WhatsApp do IntusCripto Club. Fase B (Knowledge Base) EM ANDAMENTO — Notion workspace criado, 274.155 mensagens processadas (100%), 11.150 perguntas detectadas no Notion, scripts prontos.
| Grupo | JID | Função |
|---|---|---|
| Avisos | 120363136035311553@g.us | 📢 Broadcast da comunidade |
| Novos Membros Club | 120363048351878310@g.us | 👋 Onboarding |
| IntusCripto Club #1 | 120363363148603683@g.us | 💬 Chat principal |
| Testes (antigo) | 120363421571898067@g.us | 🧪 Testes fev/26 |
| Parâmetro | Valor |
|---|---|
| groupPolicy | allowlist |
| groups | {} (silencioso total) |
| Bot número | +5511936208775 (Aspira) |
| Fase atual | B — Knowledge Base (em andamento) |
| Persona arquivo | projects/intus-personas/whatsapp/PERSONA-WHATSAPP.md |
| Fase | O que | Status |
|---|---|---|
| A — Silenciosa | Bot nos grupos, JIDs mapeados, zero interação | ✅ CONCLUÍDA |
| B — Knowledge Base | FAQ seed, Notion workspace, scripts, histórico importado | 🔄 EM ANDAMENTO |
| C — Segurança | Prompt injection protection, rate limiting | ⏳ PENDENTE |
| D — Ativação por Grupo | Avisos=leitura, Novos Membros=onboarding, Club=suporte | ⏳ PENDENTE |
| Database | ID | Função |
|---|---|---|
| 📚 FAQ Master | 31f616f0-c63b-8117-8aff-f2bc65df1501 | Perguntas frequentes + respostas |
| 📦 Produtos & Acessos | 31f616f0-c63b-8198-ab7c-d303c65d351b | Produtos, preços, links de acesso |
| 📋 Regras & Contexto | 31f616f0-c63b-815a-9dae-dfd76dc13d8f | Propósito, regras do clube, disclaimers |
| ❓ Perguntas Detectadas | 31f616f0-c63b-8186-b393-f874a755c109 | Perguntas do grupo sem resposta |
| 💬 Diário WA | 31f616f0-c63b-81fe-a639-e65035bd63af | Log diário de interações |
| 📢 Arquivo de Avisos | 31f616f0-c63b-8121-b10a-fcc77a4a57fa | Histórico de avisos enviados |
Workspace URL: IntusCripto Intelligence Hub | Token: op://Aspira/Notion/token
IDs salvos em: projects/intus-personas/notion-database-ids.json
| Script | Função |
|---|---|
scripts/collector.js | Lê logs OpenClaw → SQLite (idempotente) |
scripts/processor.js | Haiku classifica msgs → escreve Notion |
scripts/historical-import.js | Parser de export WA .txt → SQLite |
scripts/setup-notion.js | Setup inicial dos databases (já rodado) |
scripts/run.sh | Orquestrador geral |
data/intus-wa.db | SQLite com 265.873 mensagens (Club #1: 23/01/2023 → hoje) |
requireMention: true temporariamentegroups: {} imediatamenteIntegração completa Meta Ads implementada em 2026-03-10. Skills instaladas, credenciais configuradas, dashboard online, script de alertas ativo.
| Campo | Valor / 1Password Path |
|---|---|
| 1Password Item | op://Aspira/Meta Ads |
| App ID | 1247836627255371 (Intus Analytics) |
| Token User | op://Aspira/Meta Ads/access_token (expira 10/05/2026) |
| Permissões | ads_read · ads_management · business_management · pages_manage_ads |
| Ad Account PRINCIPAL | act_442903911842934 — CA 01 - INTUS CRIPTO (BRL, R$94.201 histórico) |
| Ad Account 2 | act_512321948101429 — Diego Spanevello (BRL) — sem campanhas ativas |
| Ad Account 3 | act_1185471599415679 — Diego - Intus Cripto (USD) — sem campanhas ativas |
| Business ID | 1153513995982098 (Diego - Intus Cripto) |
| ⚠️ Renovar Token | Antes de 10/05/2026 — migrar para System User Token (não expira) |
| Skill | Path | Responsável |
|---|---|---|
| meta-ads | /home/molt/.openclaw/workspace/skills/meta-ads | Agent ANALYTICS |
| facebook-ads-manager-skill | /home/molt/.openclaw/workspace/skills/facebook-ads-manager-skill | Agent ANALYTICS |
| Campanha | Status | Obs |
|---|---|---|
| GF - CAPTAÇÃO IG 02.03 | 🟢 ATIVA | Tráfego / Instagram (única ativa) |
| GF - TESTE CR - 12.03 - CPT | ⏸️ PAUSADA | Vendas — teste recente |
| GF - TESTE CR - 11.03 - CPT | ⏸️ PAUSADA | Vendas — teste recente |
| GF - TESTE CR - 10.03 - CPT | ⏸️ PAUSADA | Vendas — causou anomalia de gasto |
| 19+ campanhas [YQ] | ⏸️ PAUSADAS | Histórico gestor/agência externa |
| Métrica | Hoje (14/03) | Últimos 7 dias |
|---|---|---|
| 💰 Gasto | R$ 9,77 | R$ 1.402,62 |
| 👁️ Impressões | 755 | 54.015 |
| 🖱️ Cliques | 22 | 1.280 |
| 📊 CTR | 2,91% | 2,37% |
| 💵 CPC | R$ 0,44 | R$ 1,10 |
| 📡 CPM | R$ 12,94 | R$ 25,97 |
| 👥 Alcance | — | 34.413 pessoas |
| 🔁 Frequência | — | 1,57x |
| 💎 Gasto histórico | R$ 95.359,92 | |
| Prioridade | Alerta | Ação |
|---|---|---|
| 🔴 ALTA | 19 criativos REPROVADOS com status ATIVO — Meta recusando entrega | Revisar/substituir criativos urgente |
| 🟡 MÉDIA | 6 anúncios WITH_ISSUES (incl. 2 ativos: Post 12.03 e Post 13.03) | Verificar políticas violadas |
| 🟡 MÉDIA | CPM 7d em R$25,97 — acima da média histórica | Monitorar — possível saturação de audiência |
| ✅ OK | CTR acima da média de mercado (~1%) | Manter criativos ativos |
| ✅ OK | Frequência 1,57x — sem risco de fadiga | — |
Diego definiu que o dashboard Meta Ads deve mostrar KPIs separados por objetivo. Cada tipo de campanha tem métricas de sucesso diferentes.
| Objetivo | Identificação | KPI Principal | KPIs Secundários |
|---|---|---|---|
| Captação | OUTCOME_TRAFFIC / nome contém "CAPTAÇÃO" |
💰 Custo por seguidor = gasto ÷ page_fan actions |
Ranking criativos por menor custo/seguidor · Custo por view de vídeo = gasto ÷ video_view |
| Vendas | OUTCOME_SALES / nome contém "VENDA" |
🛒 Custo por compra = gasto ÷ purchase actions |
Custo por visualização/impressão · Seguidores oriundos dos anúncios (page_fan em campanhas de vendas) |
update-meta-ads-dashboard.sh e dashboard meta-ads.html. Job referência: ffb3f2b6
| Campo | Valor |
|---|---|
| Script | /home/molt/.openclaw/workspace/scripts/meta-ads-alerts.sh |
| Destino | Telegram grupo -1003880005285, tópico META ADS ID 10325 |
| Alertas cobertos | Criativos reprovados · Gasto anômalo · CPC alto · Token expirando · Resumo diário |
| Cron | ✅ ATIVO — Job d5599c82-380a-42a2-9a47-0cd7b0c0c440, 16:00 BRT diário, tópico META ADS (10325) |
| Arquivo | Conteúdo |
|---|---|
| memory/META-ADS-API-SETUP-GUIDE.md | Guia técnico completo de configuração |
Sistema automatizado de coleta, filtragem e categorização de sinais de mercado crypto. Roda todo dia às 06:30 BRT e entrega briefing categorizado via Telegram.
| Categoria | O que cobre |
|---|---|
| MACRO | Economia global, Fed, geopolítica, petróleo, energia, sanções |
| CRYPTO | BTC/ETH, mercado geral, regulação, exchanges |
| DEFI | Protocolos, DEXes, yield, liquidity pools (sem commodities) |
| INSTITUCIONAL | BlackRock, ETFs, fundos, M&A, tesouraria |
| AIRDROPS | Oportunidades, snapshots, elegibilidade |
| ALPHAS | Calls, narrativas emergentes, early insights |
| ON-CHAIN | Dados blockchain, baleias, métricas on-chain reais |
| TOKENIZATION | RWAs, tokenização de ativos físicos |
| Componente | Tecnologia | Detalhes |
|---|---|---|
| LLM Categorização | Groq llama-3.3-70b | Batch único por run, ~$0.001/dia |
| Fallback | Keywords/regex | Automático se LLM falhar |
| Override engine | semantic-intelligence.js | Regras para edge cases (geopolítica → MACRO) |
| Config | config.json | Keywords por categoria, perfis por conta Twitter |
| 1Password | op://Aspira/Groq API | Key: gsk_nkMn... |
| Cron | 06:30 BRT diário | Job 311f6904 parcial |
| Output | Telegram Tópico Central | briefing-aggregator/output/YYYY-MM-DD.md |
| Arquivo | Função |
|---|---|
scripts/briefing-aggregator/aggregate.js | Entry point — orquestra todo o pipeline |
lib/llm-categorizer.js | Groq batch categorization (criado 11/03/2026) |
lib/semantic-intelligence.js | Override rules engine + geopolítica/energia |
config.json | 15+ contas Twitter, keywords por categoria, score mínimo |
format-diego-compact-v3.js | Formatação final para Telegram (compact, legível) |
output/YYYY-MM-DD.md | Output diário salvo em arquivo |
| Bug | Causa | Fix |
|---|---|---|
| Oil trade → DEFI | Keywords "leverage"/"liquidation" genéricas | Regra 4.5: commodity+leverage → MACRO |
| Iran/Israel → TOKENIZATION | Keyword "infrastructure" muito ampla | Removida de TOKENIZATION, geopolítica → MACRO |
| Exchange Awards → ON-CHAIN | Perfil configurado errado | Regra: premiações sem dados reais → CRYPTO |
| USDC metrics → ALPHAS | Perfil tokenterminal errado | Perfil movido para ON-CHAIN |
Visão macro da arquitetura ASPIRA: como Diego interage, como os agentes processam, onde os dados ficam e como o output chega de volta.
DIEGO (Telegram / WhatsApp)
|
v
OPENCLAW GATEWAY
Canal Telegram --> Router --> Session Manager
Canal WhatsApp --> Router --> Cron Scheduler
|
_____|_____
| |
v v
ASPIRA CRONS (8x)
(main) 06:30 Briefing
Orquestra 07:00 HTML Update
| 07:15 Pool Manhã
| spawn 08:15 Relatório
v 09:00 Analytics
9 AGENTES 16:00 Meta Ads
DEV 16:15 Pool Tarde
NERD 19:15 HTML Tarde
DESIGNER
COPYWRITER
FRONTEND
ANALYTICS
TRADER
DEGEN
ASPIRA
|
v
SKILLS & APIs
bankr · hyperliquid · uniswap
perplexity · tavily · firecrawl
meta-ads · Instagram API
YouTube Analytics API
|
v
STORAGE
1Password vault "Aspira" <-- ZERO hardcoding
memory/ (5 cats permanentes)
analytics.db (1.152 posts IG)
intus-wa.db (274k msgs WA)
Notion (11k perguntas)
|
v
OUTPUTS
Telegram (8 tópicos)
WhatsApp Diego (+5555 99096505)
Portal Analytics (Surge + CF Pages)
ASPIRA System Manual (CF Pages)
Visão consolidada de todos os projetos em andamento, concluídos e pendentes.
| Projeto | Status | URL / Local | Desde |
|---|---|---|---|
| Portal Analytics (4 dashboards) | ✅ Produção | intus-analytics.surge.sh | 09/03/2026 |
| Daily Briefing Crypto | ✅ Produção | Telegram 06:30 BRT | fev/2026 |
| ASPIRA System Manual | ✅ Produção | aspira-system-manual.pages.dev | mar/2026 |
| Meta Ads Alertas | ✅ Produção | Telegram 16:00 BRT | 12/03/2026 |
| Relatório Matinal | ✅ Produção | Telegram 08:15 BRT | 12/03/2026 |
| Pool Monitoring | ⏸️ Pausado | Telegram tópico DeFi | 26/02/2026 |
| Projeto | Fase | Bloqueio | Próximo passo |
|---|---|---|---|
| Intus-Personas FAQ Hub | B — Knowledge Base | Curadoria 11k perguntas (Diego) | Diego revisa FAQ + adiciona respostas no Notion |
| LP ETH/USDC Base $100 | Parâmetros prontos | Execução manual necessária | Diego executa via Uniswap (range $1.650-$2.100) |
| Item | Prioridade | Responsável |
|---|---|---|
| Google Ads Dashboard (4ª aba do portal) | 🟡 Médio | DEV + Analytics |
| Intus-Personas Fase C — Segurança | 🟡 Médio | DEV |
| Meta Ads System User Token (não expira) | 🔴 Alta — antes de 10/05/2026 | Diego + Analytics |
| Importar grupos Avisos + Novos Membros WA | 🟡 Médio | Diego |
| BM25 Search Index (memória v3 fase 4) | 🟢 Baixo | ASPIRA |
Mapa completo de onde cada tipo de dado é armazenado, qual é efêmero e qual é permanente.
| Arquivo | O que guarda | Tamanho |
|---|---|---|
skills/instagram-analytics/data/analytics.db | 1.152 posts IG, snapshots diários, métricas (views, saves, reach, reels) | ~50MB |
projects/intus-personas/data/intus-wa.db | 274.155 mensagens WhatsApp Club #1, perguntas detectadas, categorias | ~200MB |
| Arquivo | Conteúdo | Atualizado por |
|---|---|---|
memory/decisions.md | Decisões permanentes com contexto e impacto | extraction-v3.sh automático |
memory/changes.md | Mudanças de setup, config, ambiente | extraction-v3.sh automático |
memory/lessons.md | Anti-patterns, regras, best practices | extraction-v3.sh automático |
memory/blockers.md | Problemas ativos com status e workarounds | extraction-v3.sh automático |
memory/facts.md | Estado atual: wallets, crons, agentes, números | extraction-v3.sh automático |
memory/YYYY-MM-DD.md | Daily notes (efêmero, 14 dias de retenção) | Manual + automático |
| Item 1Password | O que contém | Quem usa |
|---|---|---|
| Meta Ads | access_token, app_id, app_secret, ad_account_id | ANALYTICS, scripts Meta Ads |
| YouTube Analytics API | client_id, client_secret, refresh_token, access_token | update-youtube-dashboard.sh |
| Cloudflare API Token | api_token, account_id | wrangler (todos os deploys) |
| Groq API | api_key (gsk_nkMn...) | llm-categorizer.js (briefing) |
| Portal Intus Analytics - Login | usuários + hashes SHA-256 | auth.js portal |
| Instagram API | long_lived_token, user_id | collector.js |
| Groq / OpenAI / Anthropic | API keys modelos | OpenClaw (global) |
| Produto | URL | Deploy via | Atualizado |
|---|---|---|---|
| Portal Analytics | instagram-analytics-8fl.pages.dev | wrangler (instagram-analytics) | 07:30-07:40 BRT diário |
| Surge mirror | intus-analytics.surge.sh | surge CLI | 07:30 BRT diário |
| ASPIRA System Manual | aspira-system-manual.pages.dev | wrangler (aspira-system-manual) | 07:00 + 19:15 BRT |
Dashboard React de monitoramento do sistema Aspira completo. Deployado em 14/03/2026. Acesso autenticado via btoa/base64. Dados atualizados automaticamente a cada 30 minutos via cron no VPS.
| Campo | Valor |
|---|---|
| URL Canônica | aspira-dashboard-8bl.pages.dev |
| Login | diegospanevello |
| Senha | P4nd4_Cr3at0r! |
| Auth | btoa base64 síncrono — sem crypto.subtle (evita falhas silenciosas em SPA) |
| Sessão | sessionStorage — expira ao fechar o browser |
| Hosting | Cloudflare Pages (free tier, R$0) |
| CF Pages project | aspira-dashboard |
| CF KV namespace | ASPIRA_KV — ID: a26a7ee4124b40e4a73b3f5e6dd4be85 |
| Cron VPS | */30 * * * * → scripts/dashboard/update-and-deploy.sh |
| Log deploy | memory/logs/dashboard-deploy.log |
| Tecnologia | Uso |
|---|---|
| Vite + React + TypeScript | Framework frontend (SPA) |
| Shadcn/ui + Tailwind CSS v4 | Componentes UI + design system |
| Recharts | Gráficos de custos e métricas |
| Cloudflare Pages | Hosting estático (sem Worker) |
| Wrangler CLI | Deploy via wrangler pages deploy dist --project-name aspira-dashboard --commit-dirty=true |
| Tela | O que mostra |
|---|---|
| Overview | Status geral do sistema, alertas ativos, health check |
| Agentes | 9 agentes — status, último run, modelo usado (Opus/Sonnet/Haiku) |
| Cron Jobs | 19 crons — horário, status, último resultado |
| Custos | Gráfico Recharts de custos por agente/dia, total mensal |
| Memória | Arquivos de memória, tamanhos, última atualização |
| Arquivo | Função |
|---|---|
repos/aspira-dashboard/ | Projeto React completo (Vite + TS) |
repos/aspira-dashboard/public/data/*.json | Dados reais: agents.json, crons.json, costs.json, memory.json, alerts.json |
scripts/dashboard/update-and-deploy.sh | Script principal: gera JSONs → build React → wrangler deploy |
scripts/dashboard/deploy-dashboard.sh | Deploy completo (build + upload) |
scripts/dashboard/worker.js | Cloudflare Worker (NÃO deployado — token sem permissão workers.dev) |
scripts/dashboard/wrangler.toml | Config Wrangler com CF KV ID real preenchido |
public/data/ + redeploy a cada 30min = arquitetura simples e robusta sem Worker/backendcrypto.subtle pode falhar silenciosamente em alguns contextos de browser; btoa síncrono é mais confiável para SPA estáticaaspiranteintus suspensa (erro 403); deploy contorna via Wrangler CLI com token do 1Password (op://Aspira/Cloudflare API Token/api_token)wrangler pages deploy