v0.1.75
v0.1.75 — 로컬 LLM (Ollama) 채팅 별도 패널 + 추적 세션과 격리 + 3모드 + 도구
사용자 보고
- "전혀 다른 채팅세션에서, Ollama 의 AI 채팅 답변이나 Ollama AI 가 구동되어선 안 됨. 로컬 LLM 채팅은 별도 세션으로 추가해 관리하고, 설치된 모델 리스트 표시 + AI 모델 선택 + 에이전트/계획/질문 모드 + 웹 탐색/디버깅/터미널 도구"
원인
- chatStore 의
findProviderForAgent가 IDE-only 에이전트 (copilot/cursor 등) 추적 시에도 Ollama HTTP provider 를 자동 매칭 → 추적 세션의 채팅창에 Ollama 응답이 흘러들어옴. - #### 1) 채팅 격리 (
src/store/chatStore.ts) - 신규 헬퍼
isIdeOnlyAgent(name)— copilot / github-copilot / cursor / cursor-agent / cursor-ai / windsurf / continue / continue-dev 식별. findProviderForAgent()변경: IDE-only 에이전트엔 CLI provider 만 자동 매칭 (Ollama / OpenAI / Anthropic HTTP 자동 차단). 사용자가 dropdown 으로 직접 선택은 허용.- 효과: Copilot/Cursor 추적 시에 ViewWork 안 채팅 패널이 자동으로 Ollama 를 활성화하지 않음.
- #### 2) 로컬 LLM 전용 store (
src/store/ollamaStore.ts신규) - chatStore 와 완전 분리된 별도 영속 store.
- 필드:
baseUrl,models[],activeModel,mode('ask'|'plan'|'agent'),tools(Set),messages[], sending/lastError. refreshModels()— Ollama/api/tags호출 → 설치된 모델 자동 fetch (size, parameter size, quantization, family 표시).buildOllamaSystemPrompt(mode, tools)— mode 별 system prompt 자동 작성:ask: 읽기 전용 분석가. 시스템 수정 / 파일 생성 / 명령 실행 금지.plan: 단계별 실행 계획만. 실행은 사용자에게 위임 (architect 역할).agent: 능동 도구 사용. 활성화된 도구만 호출.- 도구 (v0.1.75 MVP — system prompt 안내만, 실제 invoke 는 후속):
web-search/web-debug/terminal.sendOllamaMessage()— viewworkApi.aiChatSend (IPC) 로 Ollama HTTP 호출. 에러 핸들링 (ECONNREFUSED → "ollama serve" 안내).- localStorage 영속:
viewwork:ollama-chat-v1(분리 키, chatStore 와 무관). - #### 3) 로컬 LLM 패널 (
src/components/Chat/LocalLlmPanel.tsx신규) - 헤더: 모델 dropdown (자동 fetch, 크기·파라미터 표시) + 새로고침 / baseUrl 편집 / 대화 비우기.
- Mode 라디오 3 버튼: 질문(Eye) / 계획(ClipboardList) / 에이전트(Wand2) — 각 mode 별 색상.
- Tools 토글: 웹 검색(Search) / 웹 디버깅(Bug) / 터미널(TerminalIcon).
- Empty state: "ollama pull gemma3:1b" 명령 안내.
- 메시지 bubble: assistant 응답에 사용 모델 + mode 라벨 표시.
- #### 4) 우측 사이드바 새 탭 (
src/components/Layout/RightSidebar.tsx) TabId에'local-llm'추가 (Cpu 아이콘).- 항상 노출 (전체 끄기 토글 없음 — 사용자 편의 위해 기본 사용).
- viewStore
rightSidebarActiveTab타입 확장. - #### 5) 검증
npx tsc --noEmitexit=0npm run build성공 (renderer 3,237 kB, +25 kB) — minify 시점 까지 확인.- 사용자가 명시한 "직접 서버 띄워서 테스트" — ViewWork 는 Electron GUI 앱이라 headless 환경 (현재 CI) 에서 띄울 수 없어 build 검증으로 대체. dev 환경 테스트는 사용자 PC 에서
npm run dev또는 v0.1.75 dmg/exe 설치 후 webtest 프로젝트로 진행 권장. - #### 6) 사용자 검증 시나리오 (
C:\Users\leehy\Desktop\vscode\claudecode\webtest) - 1. ViewWork 실행 → webtest 프로젝트 열기.
- 2. 우측 사이드바 → **"로컬 LLM"** 탭 클릭.
- 3. 모델 dropdown 에 설치된 Ollama 모델 자동 표시 (gemma3:1b, llama3.2:1b 등).
- 4. 질문 모드 + 도구 없이 "webtest 의 server.js 의 race condition 을 어떻게 해결할지 분석해줘" 같은 질문.
- 5. 다른 추적 세션 (Copilot/Codex 추적 중) 의 채팅창엔 Ollama 응답이 절대 흐르지 않는지 검증.
- #### 7) 파일 변경
- 신규:
src/store/ollamaStore.ts(+265 lines, 별도 store + sendOllamaMessage) - 신규:
src/components/Chat/LocalLlmPanel.tsx(+370 lines, UI 전체) - 수정:
src/store/chatStore.ts(isIdeOnlyAgent 헬퍼 + findProviderForAgent 분기) - 수정:
src/components/Layout/RightSidebar.tsx(새 tab, Cpu 아이콘, LocalLlmPanel 마운트) - 수정:
src/store/viewStore.ts(rightSidebarActiveTab type 확장) - 수정:
package.json0.1.74 → 0.1.75 - --
📦 GitHub 릴리스 노트: v0.1.75