session-logs

Pesquise e analise seus próprios logs de sessão (conversas mais antigas/parentais) usando jq.

npx skills add https://github.com/firecrawl/openclaw --skill session-logs

session-logs

Search your complete conversation history stored in session JSONL files. Use this when a user references older/parent conversations or asks what was said before.

Trigger

Use this skill when the user asks about prior chats, parent conversations, or historical context that isn't in memory files.

Location

Session logs live at: ~/.openclaw/agents/<agentId>/sessions/ (use the agent=<id> value from the system prompt Runtime line).

  • sessions.json - Index mapping session keys to session IDs
  • <session-id>.jsonl - Full conversation transcript per session

Structure

Each .jsonl file contains messages with:

  • type: "session" (metadata) or "message"
  • timestamp: ISO timestamp
  • message.role: "user", "assistant", or "toolResult"
  • message.content[]: Text, thinking, or tool calls (filter type=="text" for human-readable content)
  • message.usage.cost.total: Cost per response

Common Queries

List all sessions by date and size

for f in ~/.openclaw/agents/<agentId>/sessions/*.jsonl; do
  date=$(head -1 "$f" | jq -r '.timestamp' | cut -dT -f1)
  size=$(ls -lh "$f" | awk '{print $5}')
  echo "$date $size $(basename $f)"
done | sort -r

Find sessions from a specific day

for f in ~/.openclaw/agents/<agentId>/sessions/*.jsonl; do
  head -1 "$f" | jq -r '.timestamp' | grep -q "2026-01-06" && echo "$f"
done

Extract user messages from a session

jq -r 'select(.message.role == "user") | .message.content[]? | select(.type == "text") | .text' <session>.jsonl

Search for keyword in assistant responses

jq -r 'select(.message.role == "assistant") | .message.content[]? | select(.type == "text") | .text' <session>.jsonl | rg -i "keyword"

Get total cost for a session

jq -s '[.[] | .message.usage.cost.total // 0] | add' <session>.jsonl

Daily cost summary

for f in ~/.openclaw/agents/<agentId>/sessions/*.jsonl; do
  date=$(head -1 "$f" | jq -r '.timestamp' | cut -dT -f1)
  cost=$(jq -s '[.[] | .message.usage.cost.total // 0] | add' "$f")
  echo "$date $cost"
done | awk '{a[$1]+=$2} END {for(d in a) print d, "$"a[d]}' | sort -r

Count messages and tokens in a session

jq -s '{
  messages: length,
  user: [.[] | select(.message.role == "user")] | length,
  assistant: [.[] | select(.message.role == "assistant")] | length,
  first: .[0].timestamp,
  last: .[-1].timestamp
}' <session>.jsonl

Tool usage breakdown

jq -r '.message.content[]? | select(.type == "toolCall") | .name' <session>.jsonl | sort | uniq -c | sort -rn

Search across ALL sessions for a phrase

rg -l "phrase" ~/.openclaw/agents/<agentId>/sessions/*.jsonl

Tips

  • Sessions are append-only JSONL (one JSON object per line)
  • Large sessions can be several MB - use head/tail for sampling
  • The sessions.json index maps chat providers (discord, whatsapp, etc.) to session IDs
  • Deleted sessions have .deleted.<timestamp> suffix

Fast text-only hint (low noise)

jq -r 'select(.type=="message") | .message.content[]? | select(.type=="text") | .text' ~/.openclaw/agents/<agentId>/sessions/<id>.jsonl | rg 'keyword'

Mais skills de firecrawl

oracle
firecrawl
Melhores práticas para usar a CLI do oracle (prompt + agrupamento de arquivos, engines, sessões e padrões de anexo de arquivos).
official
firecrawl-monitor
firecrawl
Detecte quando o conteúdo de um site muda e receba notificações por webhook ou e-mail — sem necessidade de cron jobs, scrapers ou scripts de diff. Use esta habilidade sempre que o usuário quiser rastrear alterações em uma página, monitorar preços de concorrentes, ser alertado sobre novas vagas de emprego ou postagens em blogs, acompanhar páginas de documentação/changelog/status, ou disser "monitore", "acompanhe", "rastreie", "me avise quando", "notifique quando X mudar", "me avise se", "me envie um e-mail quando" ou "envie um webhook quando". Um juiz de IA integrado filtra formatação, carimbo de data/hora e...
officialweb-scrapingresearch
firecrawl-deep-research
firecrawl
Execute pesquisa aprofundada com múltiplas fontes usando Firecrawl. Use quando o usuário pedir para pesquisar um tópico, comparar perspectivas, produzir um briefing com fontes, investigar uma questão técnica ou de mercado, ou sintetizar evidências da web em várias fontes.
officialresearchweb-scraping
firecrawl-research-papers
firecrawl
Encontre e sintetize artigos de pesquisa, whitepapers, PDFs, relatórios técnicos e fontes acadêmicas com o Firecrawl. Use quando o usuário desejar uma revisão de literatura, resumo de artigo, panorama de pesquisa ou síntese com fontes de PDFs e publicações acadêmicas/industriais.
officialresearchweb-scraping
firecrawl-market-research
firecrawl
Extraia métricas de mercado, financeiras, de lucros, setoriais e empresariais com o Firecrawl. Use quando o usuário solicitar pesquisa de mercado, tendências do setor, dados de empresas de capital aberto, comparações financeiras, pesquisa de lucros ou relatórios de mercado estruturados.
officialresearchweb-scraping
firecrawl-website-design-clone
firecrawl
Extraia o sistema de design de qualquer site para um DESIGN.md pronto para agentes usando evidências de scraping do Firecrawl. Use quando o usuário quiser cores, fontes, espaçamento, componentes, padrões de layout ou orientações de marca/UI de um site para que agentes de IA possam criar novos sites, clonar uma aparência ou construir páginas inspiradas nesse design.
officialdesignweb-scraping
firecrawl-knowledge-base
firecrawl
Construa uma base de conhecimento a partir de conteúdo web com Firecrawl. Use para documentação de referência local, chunks prontos para RAG, conjuntos de dados para fine-tuning, espelhos de documentação, corpora de tópicos ou markdown organizado de fontes web pronto para LLM.
officialweb-scrapingresearch
firecrawl-lead-research
firecrawl
Produza briefings de inteligência sobre leads pré-reunião com o Firecrawl. Use quando o usuário precisar de pesquisa de empresa, pesquisa de pessoa, notícias recentes, pontos de discussão, pontos problemáticos ou preparação para abordagem antes de uma ligação de vendas, reunião de parceria, conversa com investidor ou entrevista com cliente.
officialresearchweb-scraping