diff --git a/components/canvas/CanvasChatPanel.tsx b/components/canvas/CanvasChatPanel.tsx
index 8177143bf..7fdceff7f 100644
--- a/components/canvas/CanvasChatPanel.tsx
+++ b/components/canvas/CanvasChatPanel.tsx
@@ -5,7 +5,7 @@ import { DefaultChatTransport } from "ai";
import { useEffect, useRef, useState, useCallback, useMemo } from "react";
import { createPortal } from "react-dom";
import useSWR from "swr";
-import { Send, Loader2, ImagePlus, Paperclip, X, User, Bot, Plus, History, LayoutGrid, Maximize2, RefreshCw, Globe, Box, ArrowUp } from "lucide-react";
+import { Send, Loader2, ImagePlus, Paperclip, X, User, Bot, Plus, History, LayoutGrid, Maximize2, RefreshCw, Globe, Box, ArrowUp, Video } from "lucide-react";
import { Button } from "@/components/ui/button";
import { Textarea } from "@/components/ui/textarea";
import { ScrollArea } from "@/components/ui/scroll-area";
@@ -1776,6 +1776,38 @@ export function CanvasChatPanel({ chatId, initialMessages = [], onClose, onOpenF
const shouldShowImageLoading = hasGenerationStart && !hasGenerationEnd && !!currentModel;
const loadingImageCount = imageParams.imageCount || 1;
+ const renderModelSelectContent = () => (
+
+
+ {allModels.map((model) => (
+
+
+
+
+ {model.avatarUrl ? (
+
+ ) : (
+
+ {model.id === "auto" ? "A" : model.displayName.slice(0, 1)}
+
+ )}
+
+ {model.displayName}
+
+ {selectedModelId === model.id ? (
+ ✓
+ ) : null}
+
+
+ ))}
+
+
+ );
+
const createNewChatSession = useCallback(() => {
const now = Date.now();
const newChatSessionId = `canvas-${crypto.randomUUID()}`;
@@ -2259,8 +2291,6 @@ export function CanvasChatPanel({ chatId, initialMessages = [], onClose, onOpenF
{/* Bottom Toolbar */}
- {/* 左侧:附件和模型选择 */}
-
-
-
- {/* Agent Selector (Model) - 包含Agent模式选项 */}
-
-
-
- {/* 中间:图片参数(可收缩) */}
-
{isVideoModel ? (
-
+ <>
+
+
+
+
+ >
) : (
-
+ <>
+
+
+
+
+
+
+
+ >
)}
-
- {/* 右侧:发送按钮(固定不收缩) */}
-