@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,51 @@
1
+ ---
2
+ name: web-scraper
3
+ description: Extrai conteúdo de sites de forma responsável (respeitando robots.txt/ToS), usando Playwright ou um serviço (Browserless/Firecrawl) em sandbox.
4
+ triggers:
5
+ - scraping
6
+ - extrair tabela
7
+ - coletar dados
8
+ - baixar conteúdo
9
+ - crawler
10
+ - web scraping
11
+ ---
12
+
13
+ # Web Scraper
14
+
15
+ ## Objetivo
16
+ Extrair dados estruturados de páginas web de forma responsável, respeitando robots.txt, ToS e limites de taxa, usando ferramentas em sandbox.
17
+
18
+ ## Contexto necessário
19
+ - Lista de URLs alvo
20
+ - Formato de saída desejado (markdown/json/csv)
21
+ - Política de respeito a robots.txt (verificar antes)
22
+
23
+ ## Fluxo (inspect → plan → consent → apply → audit)
24
+
25
+ 1. **INSPECT**: Verificar robots.txt e se há API oficial alternativa ao scraping
26
+ 2. **PLAN**: Estimar volume e taxa; escolher ferramenta (Playwright local vs serviço)
27
+ 3. **CONSENT**: Confirmar execução e destino dos dados extraídos
28
+ 4. **APPLY**: Rodar scraping em sandbox; salvar outputs em `.agent/state/scrapes/`
29
+ 5. **AUDIT**: Registrar URLs, timestamps, erros e retries
30
+
31
+ ## Ferramentas disponíveis
32
+
33
+ | Ferramenta | Tipo | Melhor para |
34
+ |-----------|------|------------|
35
+ | Playwright | Local/Docker | Páginas dinâmicas, SPA, login flows |
36
+ | Browserless | SaaS (BaaS) | Elasticidade, sem infra local |
37
+ | Firecrawl | Serviço + CLI | Scraping/crawling em lote |
38
+
39
+ ## Restrições de segurança e compliance
40
+
41
+ - ✅ Respeitar robots.txt (não é autorização, mas é prática obrigatória)
42
+ - ✅ Preferir APIs oficiais quando existirem
43
+ - ✅ Limitar taxa de requests (rate limiting autoimposto)
44
+ - ✅ Executar em sandbox (Docker/VM) sempre que possível
45
+ - ❌ Nunca fazer scraping de plataformas que proíbem explicitamente (ex: LinkedIn)
46
+ - ❌ Nunca extrair dados pessoais sem autorização
47
+ - ❌ Nunca burlar CAPTCHAs ou proteções anti-bot
48
+
49
+ ## Armazenamento
50
+ - `.agent/state/scrapes/` — outputs organizados por domínio/data
51
+ - `.agent/audit/` — log com URLs, volume, taxa e erros
@@ -0,0 +1,8 @@
1
+ # Memória Persistente
2
+
3
+ Adicione aqui resumos e decisões importantes do projeto.
4
+ Este arquivo é gerenciado pela skill **context-flush** e
5
+ atualizado apenas com consentimento explícito do usuário.
6
+
7
+ ## Formato sugerido
8
+ - **Data** — Resumo breve da decisão ou aprendizado
@@ -0,0 +1,34 @@
1
+ {
2
+ "project_status": "active",
3
+ "project_name": "default",
4
+ "sprint_goal": "",
5
+ "agents": [
6
+ {
7
+ "id": "orchestrator",
8
+ "role": "orchestrator",
9
+ "active": true
10
+ },
11
+ {
12
+ "id": "researcher",
13
+ "role": "researcher",
14
+ "active": true
15
+ },
16
+ {
17
+ "id": "writer",
18
+ "role": "writer",
19
+ "active": true
20
+ },
21
+ {
22
+ "id": "reviewer",
23
+ "role": "reviewer",
24
+ "active": true
25
+ }
26
+ ],
27
+ "task_queue": [],
28
+ "history": [],
29
+ "settings": {
30
+ "work_dir": "mission_control",
31
+ "max_tasks_per_tick": 2,
32
+ "default_priority": "medium"
33
+ }
34
+ }
@@ -0,0 +1,39 @@
1
+ ---
2
+ description: Exemplo de workflow avançado usando AI Capture e nós interativos para coleta de tickets de suporte.
3
+ params:
4
+ - userId
5
+ - message
6
+ ---
7
+
8
+ ## Support Ticket Capture Workflow
9
+
10
+ Este workflow demonstra como capturar dados estruturados de uma conversa natural.
11
+
12
+ ### 1. Saudação Interativa
13
+ - **Message Node**: Olá! Sou o assistente de suporte inteligente. Vou coletar os dados do seu chamado.
14
+
15
+ ### 2. Coleta de Dados (AI Capture)
16
+ - **Interactive Node**: Por favor, descreva o problema que está enfrentando com o máximo de detalhes possível.
17
+ - **AI Capture Node**:
18
+ - **Prompt**: Analise a resposta do usuário e extraia os seguintes campos em JSON:
19
+ - `summary`: Resumo de uma linha do problema.
20
+ - `category`: Categoria (Hardware, Software, Rede, Acesso).
21
+ - `urgency`: Urgência (Baixa, Média, Alta) baseada no tom.
22
+ - `details`: O relato completo do usuário.
23
+ - **Validation**: Verifique se `details` tem mais de 10 caracteres. Se não, peça para detalhar mais.
24
+
25
+ ### 3. Confirmação
26
+ - **Message Node**: Obrigado! Registrei o chamado:
27
+ - **Resumo**: {{capture.summary}}
28
+ - **Categoria**: {{capture.category}}
29
+ - **Urgência**: {{capture.urgency}}
30
+
31
+ ### 4. Ação (Skill Call)
32
+ - **Skill Node**: `openclaw-ops/create-ticket` (simulado)
33
+ - **Args**:
34
+ - title: {{capture.summary}}
35
+ - body: {{capture.details}}
36
+ - priority: {{capture.urgency}}
37
+
38
+ ### 5. Finalização
39
+ - **Message Node**: Chamado criado com sucesso! Um técnico entrará em contato em breve.