diff --git a/components/canvas/CanvasChatPanel.tsx b/components/canvas/CanvasChatPanel.tsx index 9d7d5bdb4..e969f0949 100644 --- a/components/canvas/CanvasChatPanel.tsx +++ b/components/canvas/CanvasChatPanel.tsx @@ -1181,6 +1181,7 @@ export function CanvasChatPanel({ chatId, initialMessages = [], onClose, onOpenF const hiddenPromptRef = useRef(null); const autoContextRef = useRef(null); const pendingLaunchRef = useRef(null); + const [launchAutoSendTick, setLaunchAutoSendTick] = useState(0); const sessionMenuRef = useRef(null); const historyScrollTimerRef = useRef | null>(null); @@ -1679,6 +1680,7 @@ export function CanvasChatPanel({ chatId, initialMessages = [], onClose, onOpenF selectedModelId: parsed.selectedModelId, imageParams: parsed.imageParams, }; + setLaunchAutoSendTick((value) => value + 1); } normalizedAttachments.forEach(async (attachment, index) => { @@ -2614,7 +2616,7 @@ export function CanvasChatPanel({ chatId, initialMessages = [], onClose, onOpenF if (editableDiv) { editableDiv.innerHTML = ""; } - }, [selectedModelId, status, sendMessage, clearSelection]); + }, [selectedModelId, status, sendMessage, clearSelection, launchAutoSendTick]); // 当历史消息加载完成后,更新消息列表(支持同一会话的增量刷新) const loadedHistorySignatureRef = useRef(""); diff --git a/components/home/lovart-home.tsx b/components/home/lovart-home.tsx index ec5aa12b5..bb432904a 100644 --- a/components/home/lovart-home.tsx +++ b/components/home/lovart-home.tsx @@ -343,7 +343,6 @@ export function LovartHome({ const [usageFilter, setUsageFilter] = useState<"all" | "consumed" | "earned">("all"); const [billingCycle, setBillingCycle] = useState<"monthly" | "annual">("monthly"); const [creatingPaymentPackageId, setCreatingPaymentPackageId] = useState(null); - const [selectedModelId, setSelectedModelId] = useState(""); const [imageParams, setImageParams] = useState({ aspectRatio: "auto", imageSize: "2K", @@ -457,11 +456,6 @@ export function LovartHome({ const membershipPlans = membershipConfig?.plans || []; const currentPlan = membershipData?.currentPlan; - const imageModels = useMemo( - () => (modelsData?.models || []).filter((model) => model.supportsImageGen), - [modelsData?.models] - ); - const autoComposerModel = useMemo( () => ({ id: "auto", @@ -475,24 +469,8 @@ export function LovartHome({ [modelsData?.agentModel?.avatarUrl, modelsData?.agentModel?.imageGenConfig] ); - const allComposerModels = useMemo( - () => [autoComposerModel, ...imageModels], - [autoComposerModel, imageModels] - ); - - const composerModelValue = useMemo(() => { - if (!selectedModelId) return "auto"; - if (allComposerModels.some((model) => model.id === selectedModelId)) { - return selectedModelId; - } - return "auto"; - }, [allComposerModels, selectedModelId]); - const triggerComposerModel = useMemo( - () => - allComposerModels.find((model) => model.id === composerModelValue) || - allComposerModels.find((model) => model.id === "auto"), - [allComposerModels, composerModelValue] - ); + const composerModelValue = "auto"; + const triggerComposerModel = autoComposerModel; const isMembershipEnabled = siteSettingsData?.membershipConfig?.enabled !== false; const discoveryTabs = useMemo(() => { @@ -682,19 +660,6 @@ export function LovartHome({ window.location.replace("/"); }; - useEffect(() => { - if (selectedModelId) return; - const defaultModelId = siteSettingsData?.canvasDefaultModelId || "auto"; - setSelectedModelId(defaultModelId); - }, [selectedModelId, siteSettingsData?.canvasDefaultModelId]); - - useEffect(() => { - if (!selectedModelId) return; - if (allComposerModels.length === 0) return; - if (allComposerModels.some((model) => model.id === selectedModelId)) return; - setSelectedModelId("auto"); - }, [allComposerModels, selectedModelId]); - useEffect(() => { if (!isAuthenticated) return; setLoginDialogOpen(false); @@ -1078,7 +1043,7 @@ export function LovartHome({ attachments: uploadedAttachments, autoSend: true, createdAt: Date.now(), - selectedModelId: composerModelValue, + selectedModelId: "auto", imageParams, }) ); @@ -1665,57 +1630,24 @@ export function LovartHome({ /> - + )} + + + {triggerComposerModel?.displayName || "Agent模式"} + +