diff --git a/src/renderer/inbox/components/settings/AiProviderSection.tsx b/src/renderer/inbox/components/settings/AiProviderSection.tsx index 7e64160..db68e77 100644 --- a/src/renderer/inbox/components/settings/AiProviderSection.tsx +++ b/src/renderer/inbox/components/settings/AiProviderSection.tsx @@ -10,6 +10,8 @@ export function AiProviderSection(): React.ReactElement { const [error, setError] = useState(null); const [saveResult, setSaveResult] = useState(null); const [recheckResult, setRecheckResult] = useState(null); + // v0.2.9 Cut B Task 15: AI 자동 처리 토글. + const [aiEnabled, setAiEnabledState] = useState(null); useEffect(() => { void (async () => { @@ -18,9 +20,16 @@ export function AiProviderSection(): React.ReactElement { setEndpoint(s.endpoint); setModel(s.model); } + const settings = await inboxApi.getSettings(); + setAiEnabledState(settings.ai_enabled ?? true); })(); }, []); + async function onToggleAi(checked: boolean): Promise { + await inboxApi.setAiEnabled(checked); + setAiEnabledState(checked); + } + async function onSave(): Promise { const r = endpointSchema.safeParse(endpoint); if (!r.success) { @@ -51,6 +60,25 @@ export function AiProviderSection(): React.ReactElement { return (
+ {/* v0.2.9 Cut B Task 15 — AI 자동 처리 토글 (가장 위, 스위치 의미가 가장 큰 결정) */} + {aiEnabled !== null && ( + + )} + {aiEnabled === false && ( +

+ 원문만 저장 모드. 메모의 제목/요약/태그가 자동 생성되지 않습니다.
+ + Ollama 설치 가이드 + +

+ )}