diff --git a/changelogs/unreleased.md b/changelogs/unreleased.md index dc3d245cc..8246867b2 100644 --- a/changelogs/unreleased.md +++ b/changelogs/unreleased.md @@ -1,5 +1,7 @@ # Unreleased +- Add independent Group chat / Private chat chips to the trace Type column, using summary message types with a legacy UMO fallback and leaving unknown types unlabeled. + - Reduce trace table header height to 40px using Vuetify's native header-height variable; preserve body row and pager sizing. - Show the Tokens card total with two-decimal k/M notation while keeping precise counts in its tooltip. diff --git a/dashboard/src/components/shared/TraceDisplayer.vue b/dashboard/src/components/shared/TraceDisplayer.vue index 3558d95ce..bdaa7f1fd 100644 --- a/dashboard/src/components/shared/TraceDisplayer.vue +++ b/dashboard/src/components/shared/TraceDisplayer.vue @@ -159,7 +159,7 @@ const traceHeaders = computed(() => [ { title: tm("columns.timestamp"), key: "timestamp", width: 160 }, { title: tm("columns.duration"), key: "duration", width: 120 }, { title: tm("columns.message"), key: "message", minWidth: 240 }, - { title: tm("columns.category"), key: "category", width: 150, minWidth: 150, headerProps: { class: "text-no-wrap" } }, + { title: tm("columns.category"), key: "category", width: 220, minWidth: 220, headerProps: { class: "text-no-wrap" } }, { title: "UMO", key: "umo", minWidth: 240 }, { title: tm("columns.sender"), key: "sender", minWidth: 120 }, { title: "Spans", key: "spans", width: 80 }, @@ -347,6 +347,7 @@ function normalizeTracePayload(payload) { const meta = { span_id: summary.trace_id, name: summary.name, model_version: 3, umo: attrs["astrbot.umo"] || "", sender_name: attrs["astrbot.sender_name"] || "", + message_type: attrs["astrbot.message_type"] || attrs["astrbot.umo"]?.split(":")[1] || "", message_outline: attrs["astrbot.message_outline"] || "", plugin_names: attrs["astrbot.plugins"] || "", platform_id: attrs["astrbot.platform_id"] || "", @@ -459,6 +460,7 @@ function processNewTraces(newTraces) { } } else { event.umo = event.umo || trace.umo || ""; + event.message_type = trace.fields?.message_type || event.message_type || event.umo.split(":")[1] || ""; event.sender_name = event.sender_name || trace.sender_name || ""; event.message_outline = event.message_outline || trace.message_outline || ""; event.platform_id = trace.fields?.platform_id || event.platform_id; @@ -903,6 +905,8 @@ onBeforeUnmount(() => {
{{ tm("classification.agent") }} {{ tm("classification.command") }} + {{ tm("classification.group") }} + {{ tm("classification.private") }}