Files
workspace/extract_assistant_turns.sh

25 lines
1.0 KiB
Bash
Executable File

#!/bin/bash
# Extract assistant turns from session file
session_file="$1"
# Extract messages with user and assistant roles, format for auto-memory-hook
jq -r 'select(.type=="message") | select(.message.role=="user" or .message.role=="assistant") | [.message.role, (.message.content // [] | map(select(.type=="text") | .text) | join(" "))] | @tsv' "$session_file" | \
while IFS=$'\t' read -r role content; do
if [ "$role" = "user" ]; then
user_msg="$content"
elif [ "$role" = "assistant" ]; then
if [ -n "$user_msg" ]; then
# Create JSON for auto-memory-hook
jq -n --arg user "$user_msg" --arg assistant "$content" \
--arg agent_id "case" --arg session "main" \
'{user: $user, assistant: $assistant, agent_id: $agent_id, session: $session}'
user_msg="" # Reset for next pair
fi
fi
done | tail -10 | while read -r json_line; do
echo "$json_line" | python3 /home/wdjones/.openclaw/workspace/tools/auto-memory-hook.py
done
echo "Auto-memory indexing completed"