session-logs

Поиск и анализ ваших собственных логов сессий (старых/родительских разговоров) с помощью 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'

Больше skills от firecrawl

oracle
firecrawl
Лучшие практики использования oracle CLI (объединение подсказок и файлов, движки, сессии и шаблоны прикрепления файлов).
official
firecrawl-monitor
firecrawl
Обнаруживайте изменения содержимого на веб-сайте и получайте уведомления через вебхук или электронную почту — без cron-задач, парсеров или скриптов сравнения. Используйте этот навык, когда пользователь хочет отслеживать изменения на странице, следить за ценами конкурентов, получать оповещения о новых вакансиях или записях в блоге, мониторить страницы документации/списка изменений/статуса, или говорит «отслеживать», «наблюдать», «мониторить», «уведомить меня, когда», «сообщить, когда X изменится», «напомнить мне, если», «отправить письмо, когда» или «отправить вебхук, когда». Встроенный AI-судья отфильтровывает форматирование, временные метки и...
officialweb-scrapingresearch
firecrawl-deep-research
firecrawl
Запустить многопоточное глубокое исследование с помощью Firecrawl. Используйте, когда пользователь просит исследовать тему, сравнить точки зрения, подготовить обзор с источниками, изучить технический или рыночный вопрос или обобщить веб-данные из множества источников.
officialresearchweb-scraping
firecrawl-research-papers
firecrawl
Находить и обобщать исследовательские статьи, технические отчёты, PDF-документы и академические источники с помощью Firecrawl. Используйте, когда пользователю нужен литературный обзор, краткое содержание статьи, обзор исследований или обобщение с источниками из PDF и научных/отраслевых публикаций.
officialresearchweb-scraping
firecrawl-market-research
firecrawl
Извлекайте рыночные, финансовые, показатели прибыли, отраслевые и корпоративные метрики с помощью Firecrawl. Используйте, когда пользователь запрашивает маркетинговые исследования, отраслевые тренды, данные публичных компаний, финансовые сравнения, анализ прибыли или структурированные рыночные отчеты.
officialresearchweb-scraping
firecrawl-website-design-clone
firecrawl
Извлеките дизайн-систему любого веб-сайта в файл DESIGN.md, готовый для агентов, используя данные скрапинга Firecrawl. Используйте, когда пользователю нужны цвета, шрифты, отступы, компоненты, шаблоны макетов или рекомендации по бренду/UI с веб-сайта, чтобы AI-агенты могли создавать новые сайты, клонировать внешний вид или строить страницы, вдохновлённые этим дизайном.
officialdesignweb-scraping
firecrawl-knowledge-base
firecrawl
Создайте базу знаний из веб-контента с помощью Firecrawl. Используйте для локальной справочной документации, чанков, готовых для RAG, наборов данных для тонкой настройки, зеркал документации, тематических корпусов или размеченного в формате Markdown, готового для LLM, организованного из веб-источников.
officialweb-scrapingresearch
firecrawl-lead-research
firecrawl
Создавайте краткие разведывательные сводки о лидах перед встречами с помощью Firecrawl. Используйте, когда пользователю нужно исследование компании, исследование человека, последние новости, темы для обсуждения, болевые точки или подготовка к обращению перед продажным звонком, встречей о партнерстве, разговором с инвестором или интервью с клиентом.
officialresearchweb-scraping