diff --git a/web/pages/Assistants.tsx b/web/pages/Assistants.tsx
index 2428bf6..ba41598 100644
--- a/web/pages/Assistants.tsx
+++ b/web/pages/Assistants.tsx
@@ -3,6 +3,22 @@ import React, { useState, useEffect, useMemo, useRef } from 'react';
import { createPortal } from 'react-dom';
import { Plus, Search, Play, Square, Copy, Trash2, Mic, MessageSquare, Save, Video, PhoneOff, Camera, ArrowLeftRight, Send, Phone, Rocket, AlertTriangle, PhoneCall, CameraOff, Image, Images, CloudSun, Calendar, TrendingUp, Coins, Wrench, Globe, Terminal, X, ClipboardCheck, Sparkles, Volume2, Timer, ChevronDown, Database, Server, Zap, ExternalLink, Key, BrainCircuit, Ear, Book, Filter } from 'lucide-react';
import { Button, Input, Badge, Drawer, Dialog, Switch } from '../components/UI';
+import TranscriptList from '../components/debug-transcript/TranscriptList';
+import type { DebugTranscriptRow } from '../components/debug-transcript/types';
+import {
+ appendNoticeRow,
+ appendTextRow,
+ attachAssistantTtfb,
+ finalizeAssistantTextRow,
+ finalizeUserDraftRow,
+ normalizeToolStatus,
+ resetTranscriptRows,
+ resolveToolResultRow,
+ trimInterruptedResponseRows,
+ updateAssistantDeltaRow,
+ updateUserDraftRow,
+ upsertToolCallRow,
+} from '../components/debug-transcript/message-utils';
import { ASRModel, Assistant, AssistantOpenerToolCall, KnowledgeBase, LLMModel, TabValue, Tool, Voice } from '../types';
import { createAssistant, deleteAssistant, fetchASRModels, fetchAssistantOpenerAudioPcmBuffer, fetchAssistants, fetchKnowledgeBases, fetchLLMModels, fetchTools, fetchVoices, generateAssistantOpenerAudio, previewVoice, updateAssistant as updateAssistantApi } from '../services/backendApi';
import { useDebugPrefsStore } from '../stores/debugPrefsStore';
@@ -877,9 +893,13 @@ export const AssistantsPage: React.FC = () => {
{selectedAssistant.configMode === 'fastgpt' && (
-
) : (
-
+
)}