From 87deede078e0bf79838e71c1cc812030e351e597 Mon Sep 17 00:00:00 2001 From: duffyduck Date: Sat, 18 Apr 2026 12:09:01 +0200 Subject: [PATCH] fix: Session Msgs-Counter zaehlt echte Nachrichten, nicht alle Zeilen MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Vorher: wc -l auf der .jsonl — zaehlt auch Tool-Calls, Run-Events, Metadata-Eintraege mit. Diagnostic zeigte z.B. "10 Msgs" fuer eine Session mit 6 echten User/Assistant-Nachrichten. Jetzt: grep -cE '"role":"(user|assistant)"' — zaehlt nur echte Konversations-Messages. Matcht wie der Export und die Chat-History das interpretieren. Co-Authored-By: Claude Opus 4.7 (1M context) --- diagnostic/server.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/diagnostic/server.js b/diagnostic/server.js index dc83d8b..dbf69a2 100644 --- a/diagnostic/server.js +++ b/diagnostic/server.js @@ -1582,10 +1582,11 @@ async function handleListSessions(clientWs) { for f in ${SESSIONS_DIR}/*.jsonl; do [ -f "$f" ] || continue name=$(basename "$f") - lines=$(wc -l < "$f" 2>/dev/null || echo 0) + # Nur echte User/Assistant Messages zaehlen — nicht Tool-Calls, Events etc. + msgs=$(grep -cE '"role":"(user|assistant)"' "$f" 2>/dev/null || echo 0) size=$(du -h "$f" 2>/dev/null | cut -f1) modified=$(stat -c '%Y' "$f" 2>/dev/null || echo 0) - echo "FILE:$name|LINES:$lines|SIZE:$size|MODIFIED:$modified" + echo "FILE:$name|LINES:$msgs|SIZE:$size|MODIFIED:$modified" done `.trim());