fix(vision): 본문 빈 + 이미지 only 케이스 AI 호출 skip

gemma4:26b 등 vision 모델이 본문 없는 이미지 단독 입력을 의미 있게 처리 못 함
(여러 prompt 시도에도 빈 응답). 모델 한계 수용:

- AiWorker 가 rawText.trim()==='' && media.length>0 detect 시 vision call skip
- 자동 placeholder: '첨부 이미지' / '첨부 이미지 N장' + summary
- ai_provider='image-only-skip' (디버그성 식별자)
- NoteCard 노란 배너 제거 (사용자가 한계 수용, placeholder 자체로 충분)
- 사용자는 EditableField 로 제목/요약 직접 편집 가능

cold-start timeout / parseJsonLoose fallback / schema coerce 부담 모두 skip.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
th-kim0823
2026-05-12 15:28:58 +09:00
parent 30b14d2b74
commit d3bc972783
3 changed files with 64 additions and 13 deletions

View File

@@ -279,19 +279,6 @@ export function NoteCard({ note, onDeleted, onUpdated, mode = 'inbox', onRestore
<h3 style={{ margin: 0, fontSize: 16, fontWeight: 600 }}>{fallbackTitle}</h3>
</div>
)}
{/* v0.3.14 — graceful fallback 가시화. title 이 placeholder 면 vision 모델이
빈/유효하지 않은 응답 반환한 케이스. 본문 없는 이미지를 모델이 처리 못 하는
경우가 가장 빈번 (gemma4:26b 등). 사용자가 직접 편집 유도. */}
{!isTrash && local.aiStatus === 'done' && local.aiTitle === '(첨부 메모)' && local.media.length > 0 && (
<div style={{
marginTop: 4, padding: '6px 10px', background: '#fff8e1',
borderRadius: 4, fontSize: 12, color: '#7a5a00'
}}>
💡 AI .
vision (gemma4:26b ) .
/ .
</div>
)}
{local.aiStatus === 'done' && (
<>
{isTrash ? (