diff --git a/package.json b/package.json index b3043ff..2ed9b8e 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "connect-ai-lab", "displayName": "Connect AI", "description": "100% 로컬 AI 코딩 에이전트 — 파일 생성, 코드 편집, 터미널 실행을 오프라인으로. Ollama + Gemma/Llama/DeepSeek 지원.", - "version": "1.0.16", + "version": "1.0.17", "publisher": "connectailab", "license": "MIT", "icon": "assets/icon.png", diff --git a/src/extension.ts b/src/extension.ts index 23f6ed2..9360299 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -361,10 +361,21 @@ class SidebarChatProvider implements vscode.WebviewViewProvider { }; const files = findFilesRecursive(brainDir); + let currentLen = 0; + const MAX_BRAIN_CHARS = 15000; + for (const file of files) { + if (currentLen > MAX_BRAIN_CHARS) break; const content = fs.readFileSync(file, 'utf-8'); - // 컨텍스트 크기 제한 방지 (각 파일당 최대 3000자 반영) - combined += `\n--- [User Knowledge Base: ${path.basename(file)}] ---\n${content.slice(0, 3000)}\n`; + + // 각 파일당 최대 3000자 반영 + const snippet = `\n--- [User Knowledge Base: ${path.basename(file)}] ---\n${content.slice(0, 3000)}\n`; + combined += snippet; + currentLen += snippet.length; + } + + if (combined.length > MAX_BRAIN_CHARS) { + combined = combined.slice(0, MAX_BRAIN_CHARS) + '\n... (일부 지식만 로드됨 - 컨텍스트 용량 제한)'; } } catch (e) { console.error('Brain read error', e);