From ca6cb846d31ed9169d5acafc8553331262aa100f Mon Sep 17 00:00:00 2001 From: Jay Date: Sun, 12 Apr 2026 00:02:04 +0900 Subject: [PATCH] Bump version to v1.0.10 to fix AI hallucinating over huge workspace context --- package.json | 2 +- src/extension.ts | 17 ++++++++++++++--- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index 2dd5cc5..7598647 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "connect-ai-lab", "displayName": "Connect AI LAB", "description": "100% 로컬 AI 코딩 에이전트 — 파일 생성, 코드 편집, 터미널 실행을 오프라인으로. Ollama + Gemma/Llama/DeepSeek 지원.", - "version": "1.0.9", + "version": "1.0.10", "publisher": "connectailab", "license": "MIT", "icon": "assets/icon.png", diff --git a/src/extension.ts b/src/extension.ts index b419d87..14515da 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -359,17 +359,28 @@ class SidebarChatProvider implements vscode.WebviewViewProvider { // 3. Push user message this._chatHistory.push({ role: 'user', - content: prompt + contextBlock + workspaceCtx + content: prompt }); - // 저장용: 유저 메시지 기록 (프롬프트만, 컨텍스트 제외) + // 저장용: 유저 메시지 기록 (프롬프트만) this._displayMessages.push({ text: prompt, role: 'user' }); // 4. Call Ollama const { ollamaBase, defaultModel, timeout } = getConfig(); + + // 이번 요청에만 사용할 임시 메시지 배열 생성 + const reqMessages = [...this._chatHistory]; + // 시스템 프롬프트(0번 인덱스)에 현재 작업 환경 정보를 주입 + if (reqMessages.length > 0 && reqMessages[0].role === 'system') { + reqMessages[0] = { + role: 'system', + content: `${SYSTEM_PROMPT}\n\n[BACKGROUND CONTEXT - DO NOT EXPLAIN THIS TO THE USER UNLESS ASKED]\n${contextBlock}\n${workspaceCtx}` + }; + } + const response = await axios.post(`${ollamaBase}/api/chat`, { model: modelName || defaultModel, - messages: this._chatHistory, + messages: reqMessages, stream: false, }, { timeout });