diff --git a/packages/desktop/src/App.tsx b/packages/desktop/src/App.tsx index cc67cd1..5ba1e94 100644 --- a/packages/desktop/src/App.tsx +++ b/packages/desktop/src/App.tsx @@ -33,19 +33,29 @@ export function App() { const [showProviders, setShowProviders] = useState(false); const [sessionTitleUpdate, setSessionTitleUpdate] = useState<{ sessionId: string; name: string } | null>(null); - // 初始化:加载或创建会话 + // 初始化:加载会话(只在首次启动时自动创建) useEffect(() => { + const HAS_SESSIONS_KEY = 'ai-assistant-has-sessions'; + async function init() { try { const { data: sessions } = await listSessions(); if (sessions.length > 0) { - // 选择最近的会话 + // 有会话,选择最近的 setCurrentSessionId(sessions[0].id); + localStorage.setItem(HAS_SESSIONS_KEY, 'true'); } else { - // 创建新会话 - const { data: newSession } = await createSession(); - setCurrentSessionId(newSession.id); + // 无会话:检查是否是首次启动 + const hasHadSessions = localStorage.getItem(HAS_SESSIONS_KEY); + + if (!hasHadSessions) { + // 首次启动,自动创建会话 + const { data: newSession } = await createSession(); + setCurrentSessionId(newSession.id); + localStorage.setItem(HAS_SESSIONS_KEY, 'true'); + } + // 用户删除了所有会话:不自动创建,显示空状态 } } catch (error) { console.error('Failed to initialize:', error); diff --git a/packages/web/src/App.tsx b/packages/web/src/App.tsx index c82ce9a..a9c0c18 100644 --- a/packages/web/src/App.tsx +++ b/packages/web/src/App.tsx @@ -35,19 +35,29 @@ export function App() { const [showProviders, setShowProviders] = useState(false); const [sessionTitleUpdate, setSessionTitleUpdate] = useState<{ sessionId: string; name: string } | null>(null); - // 初始化:加载或创建会话 + // 初始化:加载会话(只在首次启动时自动创建) useEffect(() => { + const HAS_SESSIONS_KEY = 'ai-assistant-has-sessions'; + async function init() { try { const { data: sessions } = await listSessions(); if (sessions.length > 0) { - // 选择最近的会话 + // 有会话,选择最近的 setCurrentSessionId(sessions[0].id); + localStorage.setItem(HAS_SESSIONS_KEY, 'true'); } else { - // 创建新会话 - const { data: newSession } = await createSession(); - setCurrentSessionId(newSession.id); + // 无会话:检查是否是首次启动 + const hasHadSessions = localStorage.getItem(HAS_SESSIONS_KEY); + + if (!hasHadSessions) { + // 首次启动,自动创建会话 + const { data: newSession } = await createSession(); + setCurrentSessionId(newSession.id); + localStorage.setItem(HAS_SESSIONS_KEY, 'true'); + } + // 用户删除了所有会话:不自动创建,显示空状态 } } catch (error) { console.error('Failed to initialize:', error);