diff --git a/package.json b/package.json index c8aae02..8b6b832 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.4", + "version": "1.0.5", "publisher": "connectailab", "license": "MIT", "icon": "assets/icon.png", diff --git a/src/extension.ts b/src/extension.ts index ede633b..cb29afb 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -236,8 +236,13 @@ class SidebarChatProvider implements vscode.WebviewViewProvider { if (!this._view) { return; } const { ollamaBase, defaultModel } = getConfig(); try { - const res = await axios.get(`${ollamaBase}/api/tags`); - const models: string[] = res.data.models.map((m: any) => m.name); + const res = await axios.get(`${ollamaBase}/api/tags`, { timeout: 3000 }); + let models: string[] = res.data.models.map((m: any) => m.name); + if (models.length === 0) { + models = [defaultModel]; + } else if (!models.includes(defaultModel)) { + models.unshift(defaultModel); + } this._view.webview.postMessage({ type: 'modelsList', value: models }); } catch { this._view.webview.postMessage({ type: 'modelsList', value: [defaultModel] });