import { PanelShell } from "@/components/panel-shell"; import { getCaregiverActivity } from "@/lib/caregiver-panel"; import { formatDateTime, getConversationRoleLabel, getDeviceName, getUsageLabel, truncateText, } from "@/lib/panel-format"; import { requireCaregiverSession } from "@/lib/page-auth"; export const dynamic = "force-dynamic"; export default async function ActivityPage() { const caregiver = await requireCaregiverSession("/activity"); const { usageEvents, conversationTurns, toolCalls } = await getCaregiverActivity( caregiver.id, ); return ( {usageEvents.length === 0 && conversationTurns.length === 0 && toolCalls.length === 0 ? (

还没有活动记录

等老人端开始对话、切换镜头或触发桥接工具后,这里会自动累积活动时间线。

) : (

使用事件

老人端操作轨迹

{usageEvents.map((event) => (
{getDeviceName(event.elderDevice.displayName)} {formatDateTime(event.createdAt)}

{getUsageLabel(event.eventType)}

))}

对话片段

最近说了什么

{conversationTurns.map((turn) => (
{getConversationRoleLabel(turn.role)} {formatDateTime(turn.createdAt)}

{getDeviceName(turn.elderDevice.displayName)}

{truncateText(turn.content, 132)}

))}

工具调用

function calling 执行记录

{toolCalls.map((log) => (
{getDeviceName(log.elderDevice.displayName)} {formatDateTime(log.createdAt)}

{log.toolName}

{truncateText(log.outputText || log.argumentsJson, 136)}

))}
)}
); }