feat(dashboard): conversation log filter by time/user/server/channel/content

Adds the requested multi-dimension log search. Turns now carry speaker, guild
and channel (the bot sends X-User/Guild/Channel-Name on the voice-turn POST), and
a filter bar above the conversation feed narrows by 시간(최근 N분)·유저·서버·
채널·내용. The event/error panel keeps its text+level search.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
EJClaw
2026-08-22 12:15:11 +09:00
parent 50838ef602
commit be4bc87edf
4 changed files with 72 additions and 5 deletions

View File

@@ -123,9 +123,15 @@ async function handleUtterance(userId, pcm) {
} catch {}
let resp;
try {
const guildName = (currentGuildId && client.guilds.cache.get(currentGuildId)?.name) || '';
resp = await fetch(VOICE_ENDPOINT, {
method: 'POST',
headers: { 'Content-Type': 'audio/wav', 'X-User-Name': encodeURIComponent(speaker) },
headers: {
'Content-Type': 'audio/wav',
'X-User-Name': encodeURIComponent(speaker),
'X-Guild-Name': encodeURIComponent(guildName),
'X-Channel-Name': encodeURIComponent(currentChannelName || ''),
},
body: wav,
});
} catch (e) {