#!/usr/bin/env bash set -euo pipefail SESS_DIR="$HOME/.openclaw/agents/main/sessions" OUT_DIR="/home/openclaw/.openclaw/workspace/memory/dialogs" OUT_FILE="$OUT_DIR/$(date +%F).md" mkdir -p "$OUT_DIR" LATEST_JSONL=$(ls -1t "$SESS_DIR"/*.jsonl 2>/dev/null | head -n1 || true) if [[ -z "${LATEST_JSONL:-}" ]]; then exit 0 fi TMP=$(mktemp) { echo "# Диалоги за $(date +%F)" echo echo "Источник: $LATEST_JSONL" echo jq -r ' select(.type=="message") | .timestamp as $ts | .message.role as $role | (.message.content // [])[]? | select(.type=="text") | "## [\($ts)] \($role)\n\(.text)\n" ' "$LATEST_JSONL" } > "$TMP" if [[ ! -f "$OUT_FILE" ]] || ! cmp -s "$TMP" "$OUT_FILE"; then mv "$TMP" "$OUT_FILE" else rm -f "$TMP" fi