@fabioforest/openclaw 3.0.0 → 3.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/README.md +417 -46
  2. package/bin/openclaw.js +37 -8
  3. package/lib/cli/assist.js +84 -0
  4. package/lib/cli/doctor.js +37 -3
  5. package/lib/cli/ide.js +218 -0
  6. package/lib/cli/init.js +135 -79
  7. package/lib/cli/inspect.js +58 -0
  8. package/lib/cli/orchestrate.js +43 -15
  9. package/lib/cli/update.js +113 -47
  10. package/lib/context/collector.js +104 -0
  11. package/lib/context/index.js +75 -0
  12. package/lib/router/match.js +107 -0
  13. package/lib/setup/config_wizard.js +2 -0
  14. package/package.json +2 -2
  15. package/templates/.agent/agents/workflow-automator.md +31 -0
  16. package/templates/.agent/rules/CONSENT_FIRST.md +24 -0
  17. package/templates/.agent/rules/DEV_MODE.md +18 -0
  18. package/templates/.agent/rules/ROUTER_PROTOCOL.md +22 -0
  19. package/templates/.agent/rules/WEB_AUTOMATION.md +52 -0
  20. package/templates/.agent/skills/content-sourcer/SKILL.md +48 -0
  21. package/templates/.agent/skills/context-flush/SKILL.md +30 -0
  22. package/templates/.agent/skills/drive-organizer/SKILL.md +40 -0
  23. package/templates/.agent/skills/linkedin-optimizer/SKILL.md +48 -0
  24. package/templates/.agent/skills/mission-control/SKILL.md +37 -0
  25. package/templates/.agent/skills/openclaw-assist/SKILL.md +30 -0
  26. package/templates/.agent/skills/openclaw-dev/SKILL.md +26 -0
  27. package/templates/.agent/skills/openclaw-inspect/SKILL.md +21 -0
  28. package/templates/.agent/skills/openclaw-installation-debugger/scripts/debug.js +16 -2
  29. package/templates/.agent/skills/openclaw-router/SKILL.md +34 -0
  30. package/templates/.agent/skills/openclaw-security/SKILL.md +21 -0
  31. package/templates/.agent/skills/site-tester/SKILL.md +49 -0
  32. package/templates/.agent/skills/smart-router/SKILL.md +116 -0
  33. package/templates/.agent/skills/web-scraper/SKILL.md +51 -0
  34. package/templates/.agent/state/MEMORY.md +8 -0
  35. package/templates/.agent/state/mission_control.json +34 -0
  36. package/templates/.agent/workflows/ai-capture.md +39 -0
@@ -0,0 +1,18 @@
1
+ # OpenClaw AI OS — Dev Mode (Devin-like)
2
+
3
+ Você pode atuar como:
4
+ - backend engineer
5
+ - frontend engineer
6
+ - UX/UI
7
+ - devops
8
+ - security engineer
9
+
10
+ ## Travas obrigatórias
11
+ - Sempre começar com INSPECT (read-only)
12
+ - Sempre gerar PLANO com lista de arquivos impactados
13
+ - Sempre pedir CONSENTIMENTO antes de editar/criar/deletar
14
+ - Sempre gerar AUDIT do que foi feito/certo/errado
15
+
16
+ ## Defaults seguros
17
+ - escrever por padrão somente em `.agent/**` e arquivos explicitamente aprovados
18
+ - qualquer alteração fora disso exige confirmação detalhada
@@ -0,0 +1,22 @@
1
+ # OpenClaw AI OS — Router Protocol (Chat-first)
2
+
3
+ ## Regra Suprema
4
+ **READ-ONLY por padrão.**
5
+ Nada pode ser criado/alterado/apagado sem **autorização explícita** do usuário.
6
+
7
+ ## Fluxo obrigatório para qualquer pedido no chat
8
+ 1) **Inspecionar (read-only):** entender o contexto do workspace (SO, IDE, Docker/VPS/local, OpenClaw existente, skills disponíveis).
9
+ 2) **Roteamento:** escolher a skill mais adequada com base em `triggers`/`description`.
10
+ 3) **Plano:** apresentar um plano claro e verificável com:
11
+ - arquivos que seriam tocados
12
+ - comandos que seriam executados
13
+ - riscos e rollback
14
+ 4) **Consentimento:** perguntar: **"Posso aplicar?"**
15
+ 5) **Aplicar somente após confirmação:**
16
+ - se envolver overwrite/delete: exigir confirmação reforçada (ex.: digitar uma frase)
17
+ 6) **Auditoria:** documentar tudo que foi feito/alterado e resultado (certo/errado).
18
+
19
+ ## Segurança mínima
20
+ - bind localhost + token por padrão
21
+ - acesso remoto somente via VPN (WireGuard)
22
+ - bloquear ações destrutivas sem confirmação explícita
@@ -0,0 +1,52 @@
1
+ ---
2
+ name: WEB_AUTOMATION
3
+ description: Regra de compliance para automação web, scraping e integração com serviços externos.
4
+ ---
5
+
6
+ # Web Automation — Regras de Compliance e Segurança
7
+
8
+ ## Princípio central
9
+ **Separar "planejar" de "executar"**: a IA pode planejar e escrever scripts/patches, mas execução real vem **após consentimento explícito** do usuário.
10
+
11
+ ## Checklist obrigatório antes de qualquer automação web
12
+
13
+ ### 1. ToS e legalidade
14
+ - [ ] Verificar se o site/plataforma permite automação (ex: LinkedIn **proíbe** bots)
15
+ - [ ] Verificar `robots.txt` — não é autorização, mas é prática obrigatória respeitá-lo
16
+ - [ ] Preferir APIs oficiais quando existirem (Google Drive API, SerpAPI, PageSpeed, etc.)
17
+ - [ ] Só automatizar contas que o usuário controla e autorizou
18
+
19
+ ### 2. Credenciais e autenticação
20
+ - [ ] Preferir OAuth (Google/Microsoft) com escopos mínimos (ex: `drive.file`)
21
+ - [ ] Nunca armazenar senhas — usar variáveis de ambiente ou secret manager
22
+ - [ ] Cookies/storage state tratados como segredo (criptografar, expirar, consentimento)
23
+ - [ ] Nunca logar tokens ou chaves em texto puro
24
+
25
+ ### 3. Execução isolada
26
+ - [ ] Executar em sandbox (Docker/VM) quando possível
27
+ - [ ] Preferir modo `non-main` ou `all` para sessões de automação
28
+ - [ ] Rate limiting autoimposto (nunca saturar servidores alvo)
29
+ - [ ] Timeout e retry com backoff exponencial
30
+
31
+ ### 4. Dados e privacidade
32
+ - [ ] Minimizar dados enviados a provedores externos (evitar PII, segredos, dumps)
33
+ - [ ] Documentar qual provedor/modelo foi usado e sua política de retenção
34
+ - [ ] Ativar Zero Data Retention (ZDR) quando disponível e necessário
35
+ - [ ] Masking/redação de dados sensíveis antes de enviar a LLMs
36
+
37
+ ### 5. Auditoria
38
+ - [ ] Registrar cada execução com entradas, saídas, status e artefatos
39
+ - [ ] Incluir timestamps, URLs, volume de dados e erros
40
+ - [ ] Manter trilha de decisões (por que fallback, por que retry)
41
+
42
+ ## Plataformas com restrições conhecidas
43
+
44
+ | Plataforma | Restrição | Ação permitida |
45
+ |-----------|-----------|---------------|
46
+ | LinkedIn | Proíbe bots/crawlers/extensões que automatizam | Gerar textos + checklist; execução manual |
47
+ | Facebook/Instagram | Restrições em automação de perfil | Usar APIs oficiais com aprovação |
48
+ | Twitter/X | Rate limits estritos na API | Usar API oficial com chave própria |
49
+ | Google (busca) | Custom Search com limites; descontinuação prevista | Usar SerpAPI/Brave como alternativa |
50
+
51
+ ## Nota sobre skills de terceiros
52
+ Skills de terceiros devem ser **revisadas antes de uso**. Há relatos públicos de skills maliciosas em marketplaces/registries. Tratar como código não confiável e preferir execuções sandboxed.
@@ -0,0 +1,48 @@
1
+ ---
2
+ name: content-sourcer
3
+ description: Busca fontes públicas e gera um "dossiê citável" (links + trechos) para alimentar posts e páginas.
4
+ triggers:
5
+ - buscar fontes
6
+ - referências
7
+ - pesquisa web
8
+ - dossiê
9
+ - fontes
10
+ - pesquisar
11
+ - research
12
+ ---
13
+
14
+ # Content Sourcer
15
+
16
+ ## Objetivo
17
+ Pesquisar fontes públicas sobre um tema e gerar um dossiê citável com links, trechos e relevância, útil para posts, artigos, apresentações e projetos.
18
+
19
+ ## Contexto necessário
20
+ - Tema de pesquisa
21
+ - País/idioma preferido
22
+ - Critérios de qualidade (recência, autoridade, fontes primárias)
23
+
24
+ ## Fluxo (inspect → plan → apply → audit)
25
+
26
+ 1. **INSPECT**: Escolher provedor de busca e validar orçamento (queries disponíveis)
27
+ 2. **PLAN**: Definir queries, critérios de filtragem e quantidade de fontes
28
+ 3. **APPLY**: Executar busca, extrair resumo por fonte, salvar em `.agent/state/research/`
29
+ 4. **AUDIT**: Registrar queries executadas, provedores usados e custos estimados
30
+
31
+ ## Provedores de busca suportados
32
+
33
+ | Provedor | Free tier | Limites | Nota |
34
+ |---------|---------|--------|------|
35
+ | SerpAPI | 250 buscas/mês (free) | Throughput/hora definido | Amplo (Google, Bing, etc.) |
36
+ | Brave Search API | US$ 5 créditos/mês | Preço por 1.000 queries | Boa relação custo/qualidade |
37
+ | Google Custom Search | 100 queries/dia (free) | Descontinuação prevista (2027) | Usar com cautela |
38
+
39
+ ## Requisitos de segurança
40
+ - ✅ Usar API keys do próprio usuário (nunca embutir chaves no skill)
41
+ - ✅ Respeitar limites de taxa e quotas dos provedores
42
+ - ✅ Citar fontes com links completos (transparência)
43
+ - ❌ Nunca plagiar conteúdo (apenas resumir e citar)
44
+ - ❌ Nunca gastar créditos sem confirmar com o usuário
45
+
46
+ ## Armazenamento
47
+ - `.agent/state/research/` — dossiês por tema/data
48
+ - `.agent/audit/` — log com queries, custos e provedores
@@ -0,0 +1,30 @@
1
+ ---
2
+ name: context-flush
3
+ description: Resume contexto útil e propõe anexar a MEMORY.md e/ou history do Mission Control; só aplica com consentimento.
4
+ triggers:
5
+ - flush
6
+ - limpar contexto
7
+ - resumir
8
+ - economizar tokens
9
+ - reset
10
+ ---
11
+
12
+ # Context Flush (economia)
13
+
14
+ ## Fluxo
15
+ 1) Produzir um resumo curto com:
16
+ - objetivo atual
17
+ - decisões tomadas
18
+ - pendências
19
+ - links/arquivos relevantes
20
+ 2) Propor onde salvar:
21
+ - `.agent/state/MEMORY.md` (por projeto) ou `MEMORY.md` do workspace
22
+ - `.agent/state/mission_control.json` (history)
23
+ 3) Mostrar PLANO: quais arquivos seriam alterados e como.
24
+ 4) Perguntar: "Posso aplicar?"
25
+ 5) Se aprovado, anexar e registrar auditoria.
26
+
27
+ ## Regras
28
+ - Nunca apagar histórico automaticamente.
29
+ - Nunca rodar reset automaticamente.
30
+ - Sempre deixar o usuário decidir.
@@ -0,0 +1,40 @@
1
+ ---
2
+ name: drive-organizer
3
+ description: Organiza arquivos no Google Drive (renomear, mover, criar pastas, padronizar nomenclatura) usando Drive API com OAuth e escopo mínimo.
4
+ triggers:
5
+ - google drive
6
+ - organizar drive
7
+ - renomear arquivos
8
+ - mover para pasta
9
+ - drive
10
+ - arquivos nuvem
11
+ ---
12
+
13
+ # Drive Organizer
14
+
15
+ ## Objetivo
16
+ Organizar, renomear e categorizar arquivos no Google Drive de forma segura e auditável, usando a Drive API com o escopo `drive.file` (mínimo privilégio).
17
+
18
+ ## Contexto necessário
19
+ - Objetivo da organização (taxonomia/padrão)
20
+ - Pasta raiz alvo
21
+ - Regras de nomenclatura
22
+
23
+ ## Fluxo (inspect → plan → consent → apply → validate → audit)
24
+
25
+ 1. **INSPECT** (read-only): Listar arquivos selecionados + simular mudanças
26
+ 2. **PLAN**: Tabela "antes/depois" e quantidade de mudanças previstas
27
+ 3. **CONSENT**: Confirmação reforçada se houver sobrescrita ou conflito de nomes
28
+ 4. **APPLY**: Executar via Drive API + registrar audit (IDs, mudanças, erros)
29
+ 5. **VALIDATE**: Re-listar e conferir consistência
30
+
31
+ ## Requisitos de segurança
32
+ - ✅ Usar OAuth 2.0 (sem senha) — fluxo para apps instalados
33
+ - ✅ Preferir escopo `drive.file` (usuário escolhe quais arquivos compartilhar)
34
+ - ✅ Confirmar antes de mover/renomear em lote
35
+ - ❌ Nunca armazenar refresh tokens em texto puro
36
+ - ❌ Nunca acessar arquivos fora do escopo autorizado
37
+
38
+ ## Armazenamento de state
39
+ - `.agent/state/drive/last_operation.json` — resultado da última operação
40
+ - `.agent/audit/` — log completo com IDs de arquivos e mudanças aplicadas
@@ -0,0 +1,48 @@
1
+ ---
2
+ name: linkedin-optimizer
3
+ description: Ajuda a otimizar perfil e posts para LinkedIn (texto, SEO social, CTA). Não automatiza ações no site; aplica apenas via API oficial se o usuário comprovar acesso e autorizar.
4
+ triggers:
5
+ - linkedin
6
+ - otimizar perfil
7
+ - headline
8
+ - sobre
9
+ - post
10
+ - rede social
11
+ ---
12
+
13
+ # LinkedIn Optimizer
14
+
15
+ ## Objetivo
16
+ Gerar textos otimizados para perfil e posts do LinkedIn, seguindo boas práticas de SEO social e copywriting.
17
+
18
+ **IMPORTANTE**: Esta skill **nunca** automatiza ações diretamente no LinkedIn. O LinkedIn proíbe explicitamente bots, crawlers e extensões que automatizem atividade ou façam scraping.
19
+
20
+ ## Modo de operação
21
+
22
+ ### Human-in-the-loop (padrão recomendado)
23
+ 1. O agente gera rascunhos e checklists
24
+ 2. O usuário aplica manualmente no LinkedIn
25
+ 3. Nenhum browser automation permitido
26
+
27
+ ### API oficial (condicional)
28
+ Somente se o usuário comprovar acesso à Marketing Developer Platform com credenciais OAuth válidas e aprovadas pelo LinkedIn.
29
+
30
+ ## Contexto necessário
31
+ - Objetivo (carreira, negócio, personal branding)
32
+ - Público-alvo
33
+ - Tom de voz desejado
34
+ - Idioma (pt-BR, en-US, etc.)
35
+
36
+ ## Fluxo (inspect → plan → consent → apply → audit)
37
+
38
+ 1. **INSPECT**: Coletar conteúdo atual (texto fornecido pelo usuário) e metas
39
+ 2. **PLAN**: Propor 2 versões (A/B) com rationale e checklist de ajustes
40
+ 3. **CONSENT**: Pedir autorização antes de salvar qualquer rascunho
41
+ 4. **APPLY** (opcional): Salvar rascunho em `.agent/state/linkedin/drafts.md` + audit
42
+ 5. **DONE**: Instruções de publicação manual + tracking (UTM/links)
43
+
44
+ ## Restrições de segurança
45
+ - ❌ Proibido usar Playwright/Puppeteer/Selenium para navegar no LinkedIn
46
+ - ❌ Proibido armazenar credenciais do LinkedIn
47
+ - ✅ Permitido gerar texto otimizado e salvar como rascunho local
48
+ - ✅ Permitido usar API oficial com OAuth se o usuário tiver acesso aprovado
@@ -0,0 +1,37 @@
1
+ ---
2
+ name: mission-control
3
+ description: Orquestra a “Empresa de Agentes” via mission_control.json. Lê estado, cria tarefas, respeita dependências, executa em ticks e registra auditoria.
4
+ triggers:
5
+ - mission control
6
+ - fila
7
+ - tarefas
8
+ - orquestrar
9
+ - equipe
10
+ - sprint
11
+ - tick
12
+ ---
13
+
14
+ # Mission Control
15
+
16
+ ## Onde fica o estado (IDE / opção B)
17
+ - `.agent/state/mission_control.json`
18
+ - outputs em `.agent/state/mission_control/`
19
+
20
+ ## Regras
21
+ - READ-ONLY por padrão.
22
+ - Qualquer alteração no JSON ou criação de arquivos exige consentimento explícito.
23
+ - Sempre gerar PLANO com: tarefas criadas/atualizadas, arquivos afetados, riscos.
24
+
25
+ ## Fluxo (Tick)
26
+ 1) Ler `mission_control.json`.
27
+ 2) Identificar tarefas `pending` cujo `depends_on` esteja resolvido.
28
+ 3) Selecionar até `max_tasks_per_tick` tarefas.
29
+ 4) Para cada tarefa:
30
+ - ativar persona do `role` (sem “shell solto”)
31
+ - executar a tarefa de forma segura
32
+ - salvar resultado em `output_file`
33
+ - atualizar status para `completed` (ou `failed`) com timestamp e notas
34
+ 5) Registrar resumo em `history`.
35
+
36
+ ## Consentimento reforçado
37
+ Se `output_file` já existir e a ação for sobrescrever, mostrar resumo/diff e pedir confirmação reforçada.
@@ -0,0 +1,30 @@
1
+ ---
2
+ name: openclaw-assist
3
+ description: Assistente geral do OpenClaw AI OS. Menu de ações (instalar, reparar, melhorar, dev mode) com plan/apply e auditoria.
4
+ triggers:
5
+ - assist
6
+ - assistente
7
+ - help
8
+ - reparar
9
+ - melhorar
10
+ - instalar
11
+ - dev
12
+ ---
13
+
14
+ # Assistente Geral
15
+
16
+ Sempre:
17
+ 1) openclaw-inspect (read-only)
18
+ 2) Propor opções
19
+ 3) Gerar plano
20
+ 4) Pedir autorização
21
+ 5) Aplicar e auditar
22
+
23
+ Opções sugeridas:
24
+ - Instalação no projeto (IDE)
25
+ - Reparar instalação existente
26
+ - Atualizar templates com merge
27
+ - Criar skill/agent/workflow (Dev Mode)
28
+ - Mission Control (multiagentes)
29
+ - Smart Router (economia)
30
+ - Context Flush (economia)
@@ -0,0 +1,26 @@
1
+ ---
2
+ name: openclaw-dev
3
+ description: Modo Devin-like para criar features, skills, backend, frontend e UX/UI com consentimento e auditoria.
4
+ triggers:
5
+ - feature
6
+ - backend
7
+ - frontend
8
+ - ux
9
+ - ui
10
+ - endpoint
11
+ - api
12
+ - tela
13
+ - componente
14
+ - refatorar
15
+ ---
16
+
17
+ # Dev Mode
18
+
19
+ Sempre:
20
+ 1) inspect (read-only)
21
+ 2) plano (arquivos, diffs, riscos)
22
+ 3) consentimento explícito
23
+ 4) aplicar + auditar
24
+
25
+ Preferência:
26
+ - criar commits/PRs e mostrar diffs antes de aplicar no workspace
@@ -0,0 +1,21 @@
1
+ ---
2
+ name: openclaw-inspect
3
+ description: Inspeção read-only do projeto/ambiente/IDE/OpenClaw. Nunca altera nada.
4
+ triggers:
5
+ - inspecionar
6
+ - analisar
7
+ - diagnosticar
8
+ - contexto
9
+ - status
10
+ ---
11
+
12
+ # Inspect (read-only)
13
+
14
+ Coletar:
15
+ - SO (win/mac/linux/wsl), docker/vps/local
16
+ - IDE (cursor/vscode/antigravity/jetbrains)
17
+ - existência de OpenClaw (openclaw.json, .agent, docker compose, systemd)
18
+ - skills disponíveis
19
+ - riscos e sugestões
20
+
21
+ Regra: **não criar nem editar arquivos**.
@@ -5,6 +5,7 @@ const path = require("path");
5
5
  const os = require("os");
6
6
  const dns = require("dns").promises;
7
7
  const https = require("https");
8
+ const http = require("http");
8
9
  const { execSync } = require("child_process");
9
10
 
10
11
  /**
@@ -29,11 +30,12 @@ function fail(msg) { log(`❌ ${msg}`, colors.red); }
29
30
  function info(msg) { log(`ℹ️ ${msg}`, colors.blue); }
30
31
 
31
32
  /**
32
- * Verifica conectividade HTTP
33
+ * Verifica conectividade HTTP/HTTPS
33
34
  */
34
35
  function checkHttp(url) {
35
36
  return new Promise((resolve) => {
36
- const req = https.get(url, { timeout: 5000 }, (res) => {
37
+ const lib = url.startsWith("https") ? https : http;
38
+ const req = lib.get(url, { timeout: 5000 }, (res) => {
37
39
  if (res.statusCode >= 200 && res.statusCode < 400) {
38
40
  resolve({ ok: true, status: res.statusCode });
39
41
  } else {
@@ -150,6 +152,18 @@ async function runDebug() {
150
152
  warn("Não foi possível ler configurações do NPM.");
151
153
  }
152
154
 
155
+ // 5. Control UI (OpenClaw Server)
156
+ info("\nChecando Control UI (OpenClaw Server)...");
157
+ const uiCheck = await checkHttp("http://127.0.0.1:18789");
158
+ if (uiCheck.ok) {
159
+ success("Control UI acessível: http://127.0.0.1:18789");
160
+ report.installation.ui = "ok";
161
+ } else {
162
+ warn(`Control UI inacessível (Status: ${uiCheck.status || uiCheck.error})`);
163
+ info(" -> Se o OpenClaw não estiver rodando, isso é normal.");
164
+ report.installation.ui = "offline";
165
+ }
166
+
153
167
  log("\n🏁 Debug concluído.", colors.bold);
154
168
  return report;
155
169
  }
@@ -0,0 +1,34 @@
1
+ ---
2
+ name: openclaw-router
3
+ description: Roteador central chat-first que escolhe a skill certa e força INSPECT → PLAN → CONSENT → APPLY → AUDIT.
4
+ triggers:
5
+ - instalar
6
+ - configurar
7
+ - criar
8
+ - corrigir
9
+ - melhorar
10
+ - refatorar
11
+ - debug
12
+ - tokens
13
+ - modelo
14
+ - equipe
15
+ - tarefas
16
+ - fila
17
+ - sprint
18
+ ---
19
+
20
+ # Router Master
21
+
22
+ ## Regra Suprema
23
+ READ-ONLY por padrão.
24
+
25
+ ## Procedimento
26
+ 1) Rodar **openclaw-inspect** (somente leitura)
27
+ 2) Escolher skill pelo melhor match de triggers/description
28
+ 3) Apresentar plano e pedir autorização
29
+ 4) Executar somente após confirmação
30
+ 5) Registrar auditoria
31
+
32
+ ## Nunca
33
+ - alterar arquivos sem pedido explícito
34
+ - apagar/sobrescrever sem explicar e pedir confirmação reforçada
@@ -0,0 +1,21 @@
1
+ ---
2
+ name: openclaw-security
3
+ description: Hardening do OpenClaw e do workspace. VPN-first, bind localhost, token obrigatório, bloqueios destrutivos.
4
+ triggers:
5
+ - segurança
6
+ - hardening
7
+ - firewall
8
+ - token
9
+ - bind
10
+ - wireguard
11
+ ---
12
+
13
+ # Security Mode
14
+
15
+ Foco:
16
+ - validar bind localhost + token
17
+ - sugerir VPN (WireGuard) para acesso remoto
18
+ - checar portas e exposição
19
+ - reforçar hooks e regras
20
+
21
+ Sempre: plano → consentimento → aplicar → auditoria.
@@ -0,0 +1,49 @@
1
+ ---
2
+ name: site-tester
3
+ description: Testa páginas (performance, SEO, acessibilidade, regressão visual) com Lighthouse/LHCI + Playwright em sandbox (Docker).
4
+ triggers:
5
+ - testar site
6
+ - lighthouse
7
+ - pagespeed
8
+ - performance
9
+ - seo
10
+ - acessibilidade
11
+ - teste de performance
12
+ ---
13
+
14
+ # Site Tester
15
+
16
+ ## Objetivo
17
+ Auditar páginas web em termos de performance, SEO, acessibilidade e PWA usando Lighthouse, PageSpeed Insights API e Playwright em ambiente isolado (sandbox/Docker).
18
+
19
+ ## Contexto necessário
20
+ - URLs alvo
21
+ - Ambiente (staging/prod)
22
+ - Se exige login (sim/não)
23
+ - Thresholds desejados (ex: performance > 90)
24
+
25
+ ## Fluxo (inspect → plan → consent → apply → audit)
26
+
27
+ 1. **INSPECT**: Validar URLs e verificar robots.txt/ToS do domínio
28
+ 2. **PLAN**: Definir métricas, thresholds e escolher ferramentas:
29
+ - PageSpeed Insights API (dados de campo CrUX + laboratório Lighthouse)
30
+ - Lighthouse local (mais controle, permite autenticação)
31
+ - Playwright (regressão visual, interação, screenshots)
32
+ 3. **CONSENT**: Confirmar carga e execução (impacto em tráfego)
33
+ 4. **APPLY**: Executar auditorias; salvar relatórios em `.agent/state/site-tests/`
34
+ 5. **AUDIT**: Registrar resultados e recomendações priorizadas
35
+
36
+ ## Ferramentas suportadas
37
+
38
+ | Ferramenta | Uso | Requer setup |
39
+ |-----------|-----|-------------|
40
+ | PageSpeed Insights API | Dados CrUX + Lighthouse web | API Key |
41
+ | Lighthouse CLI | Auditoria completa local | Node.js |
42
+ | Lighthouse CI (LHCI) | CI/CD + servidor auto-hospedado | Docker/Node |
43
+ | Playwright | Screenshots, regressão visual, login flow | Docker recomendado |
44
+
45
+ ## Requisitos de segurança
46
+ - ✅ Executar em sandbox (Docker) quando possível
47
+ - ✅ Se exige login: usuário autoriza método (cookie storage state ou manual)
48
+ - ❌ Nunca armazenar credenciais de login no state
49
+ - ❌ Nunca executar contra domínios sem autorização do dono
@@ -0,0 +1,116 @@
1
+ ---
2
+ name: smart-router
3
+ description: Roteia solicitações para perfis de modelo (cheap/smart/coding) para economizar tokens. Não altera config sem consentimento.
4
+ triggers:
5
+ - economizar
6
+ - tokens
7
+ - modelo
8
+ - router
9
+ - roteador
10
+ - barato
11
+ - caro
12
+ - provedor
13
+ - gemini
14
+ - groq
15
+ - openai
16
+ - claude
17
+ - fallback
18
+ ---
19
+
20
+ # Smart Model Router (Roteador Econômico)
21
+
22
+ ## Objetivo
23
+ Escolher o perfil e provedor adequado para cada solicitação, priorizando **free-first** e subindo para paid somente com autorização.
24
+
25
+ ## Perfis e classificação
26
+
27
+ | Perfil | Quando usar | Objetivo |
28
+ |--------|------------|---------|
29
+ | **cheap** | Tarefas simples, formatação, reescrita curta, extração, resumo | Throughput e custo mínimo |
30
+ | **smart** | Planejamento, raciocínio multi-etapas, decisões com tradeoffs, texto longo | Qualidade e robustez |
31
+ | **coding** | Geração/correção de código, debug, refactor, testes, patches | Precisão em engenharia |
32
+
33
+ ### Sinais para classificação (sem usar LLM — economiza tokens)
34
+ - **coding**: bloco de código, nomes de arquivo, stack traces, "bug", "refatorar", "compile", "SQL", "regex", "diff", "teste"
35
+ - **smart**: "planejar", "analisar", "comparar", "decidir", "estratégia", múltiplas etapas
36
+ - **cheap**: tudo que não se encaixa nos acima
37
+
38
+ ## Provedores e chains de fallback
39
+
40
+ ### cheap (free-first, alto volume)
41
+ 1. Gemini 2.5 Flash-Lite (free) → 2. Groq free → 3. OpenRouter free → 4. Cohere Trial → 5. OpenAI GPT-5 mini (pago, se permitido)
42
+
43
+ ### smart (raciocínio)
44
+ 1. Gemini 2.5 Pro (free) → 2. Claude Sonnet (pago, se permitido) → 3. OpenRouter ZDR → 4. OpenAI GPT-5.2 (pago)
45
+
46
+ ### coding (engenharia)
47
+ 1. Gemini 2.5 Pro (free, forte em coding) → 2. Claude Sonnet (pago) → 3. OpenAI GPT-5.2 (pago) → 4. Mistral Scale (pago)
48
+
49
+ ## Tabela de provedores
50
+
51
+ | Provedor | Free tier | Rate limits | Privacidade (treino) | Tipo de API |
52
+ |---------|---------|------------|---------------------|------------|
53
+ | Gemini Developer API | Sim (vários modelos) | Por modelo/região | Free: **Sim** treina / Paid: **Não** | REST (x-goog-api-key) |
54
+ | Groq | Sim (sem cartão) | RPM/RPD/TPM/TPD por modelo | Não especificado | OpenAI-compatível |
55
+ | OpenRouter | 50 req/dia + 20 rpm | Explícitos no free | Não armazena (salvo opt-in) | OpenAI-compatível |
56
+ | Cohere | Trial: 1.000 calls/mês | 20 req/min (trial) | 30 dias + ZDR possível | REST + Compatibility API |
57
+ | HuggingFace | Credits (não especificado) | Por plano/provedor | Não armazena body de req | SDK HF |
58
+ | Mistral | Experiment (free, tel. verificado) | Conservadores (free) | Experiment treina (opt-out); Scale não | REST (Bearer) |
59
+ | OpenAI | Não especificado (PAYG) | Por plano | Não treina por padrão; ZDR possível | REST (Bearer) |
60
+ | Anthropic | Créditos iniciais (pequenos) | Por tier | 30 dias; ZDR possível | REST (Messages API) |
61
+
62
+ ## Configuração de privacidade
63
+
64
+ - **standard**: qualquer provedor permitido (priorizando free)
65
+ - **strict**: somente provedores com ZDR ou que não treinam por padrão
66
+
67
+ ## Técnicas de economia
68
+
69
+ ### Context caching
70
+ Reutilizar contexto fixo (system prompt, policies). Provedores com desconto em cache: OpenAI, Anthropic, Gemini.
71
+
72
+ ### Batch API
73
+ Para tarefas não-interativas (embeddings, lint em lote). OpenAI e Gemini oferecem 50% de desconto.
74
+
75
+ ### Compaction/Sumarização
76
+ Quando o contexto exceder o teto do perfil, sumarizar histórico antes de continuar:
77
+ - cheap: max ~2k tokens de entrada
78
+ - smart: max ~12k tokens
79
+ - coding: max ~24k tokens
80
+
81
+ ### Cache semântico
82
+ Hash do prompt normalizado + parâmetros → evita chamadas duplicadas.
83
+
84
+ ## Prompts otimizados por perfil
85
+
86
+ ### cheap
87
+ ```
88
+ Tarefa: Responda em pt-BR com no máximo 6 linhas.
89
+ Formato: 3 bullets curtos + 1 linha "Próxima ação sugerida: ...".
90
+ Restrições: Não invente fatos; se faltar dado, pergunte 1 coisa só.
91
+ Pedido: {{USER_REQUEST}}
92
+ ```
93
+
94
+ ### smart
95
+ ```
96
+ Você é um analista cuidadoso.
97
+ Objetivo: propor solução e explicar tradeoffs em pt-BR.
98
+ Saída: 1) Resumo (2-3 linhas) 2) Opções A/B com prós/contras 3) Recomendação final
99
+ Contexto: {{SUMMARY_CONTEXT}}
100
+ Pedido: {{USER_REQUEST}}
101
+ ```
102
+
103
+ ### coding
104
+ ```
105
+ Você é um engenheiro de software.
106
+ Regra: não altere arquivos; gere plano e patch unificado.
107
+ Saída: Diagnóstico + Patch (unified diff) + Comandos de teste + Riscos
108
+ Código/erro: {{PASTE_ERROR_OR_CODE}}
109
+ ```
110
+
111
+ ## Regras de segurança
112
+ - ❌ Não alterar `openclaw.json` automaticamente
113
+ - ❌ Não gastar créditos pagos sem autorização explícita
114
+ - ✅ Em modo IDE, apenas recomendar perfil e provedor
115
+ - ✅ Tratar 429/timeout como evento normal → fallback
116
+ - ✅ Registrar provedor/modelo/tokens/custo em audit