diff --git a/frontend/app/app/assistant.tsx b/frontend/app/app/assistant.tsx index 065c74c..813039c 100644 --- a/frontend/app/app/assistant.tsx +++ b/frontend/app/app/assistant.tsx @@ -338,11 +338,10 @@ function AssistantWorkspace() { useEffect(() => { if (skill.loading) return; if (!skillLoadedOnce.current) { - // 初始加载完成,记录当前状态,不触发 applied skillLoadedOnce.current = true; prevSkillEnabled.current = skill.enabled; - // 关掉时清理 localStorage 残留 - if (!skill.enabled && applied) { + // 初始加载:无条件清除 applied(清 localStorage 残留),面板只从用户点击打开 + if (applied) { setApplied(false); } return; diff --git a/frontend/app/lib/use-training-mode.ts b/frontend/app/lib/use-training-mode.ts index 249cb25..c7b8ca6 100644 --- a/frontend/app/lib/use-training-mode.ts +++ b/frontend/app/lib/use-training-mode.ts @@ -71,18 +71,10 @@ export function useModelIterationEnabled(): { // - 刷新页面也保持 // 不走后端 PATCH 是为了避开 __LOCALID_* 临时 session id 导致 404 export function useAppliedTraining(sessionId: string | null) { + // 不再从 localStorage 恢复 applied 状态——面板只通过用户本次会话中 + // 显式点击 skill 按钮打开,避免页面加载时闪烁。 const [applied, setApplied] = useState(false); - useEffect(() => { - if (!sessionId || typeof window === "undefined") { - setApplied(false); - return; - } - const stored = - window.localStorage.getItem(APPLIED_STORAGE_PREFIX + sessionId) === "1"; - setApplied(stored); - }, [sessionId]); - const setAppliedPersist = useCallback( (next: boolean) => { setApplied(next);