v0.2.68
v0.2.68 — ViewWork 내 CLI 에이전트 채팅 연동 (claude/codex/copilot/agy 새 세션 작업)
수정
cwd: provider.cwd || state.activeProjectId || undefined. activeProjectId = 로드된 프로젝트 rootPath 절대경로 → CLI 가 그 프로젝트에서 실행.
- Copilot / Antigravity preset 부재: claude/codex/ollama 만 있었음.
추가
GitHub Copilot (CLI)(copilot -p, arg),Antigravity (agy · Gemini CLI)(agy -p, arg). suggestedFor 매핑으로 에이전트 추적 시 자동 바인딩.ChatPanelcwd 필드 hint 갱신: "비우면 현재 로드된 프로젝트 root 에서 실행".
동작 흐름 (Phase A — 비대화 print 모드)
- 사용자가 ChatPanel 에서 provider 선택 (예: Claude Code CLI) + 메시지 입력.
sendChatMessage가 history 를 prompt 앞에 prepend (멀티턴 컨텍스트) →aiCliInvoke.- main 이 프로젝트 root cwd 에서
claude -c -p "<prompt>"(또는 codex exec / copilot -p / agy -p) spawn. - stdout (ANSI 제거) → assistant 챗 버블. 기존 watcher 가 아바타로 동시 시각화.
- continuity: claude/agy 는
-c+ history prepend, copilot/codex 는 history prepend.
검증
command -v— claude/codex/copilot/agy 4종 모두 PATH 에 resolve (ENOENT 안 남).npx tsc --noEmitexit=0.npm run build성공 — main 396.46 kB, renderer 6.14s.- 라이브 채팅 round-trip 은 각 CLI 인증 + GUI 필요 → 사용자 환경 검증 (agy 는 현재 미로그인).
Phase B (미구현, 향후)
- 영속 인터랙티브 PTY 세션 + xterm.js 풀 TUI. node-pty native 모듈 (electron-rebuild + per-platform prebuild + 패키징 변경) 필요. 사용자 요청 시 진행.
변경 파일
src/store/chatStore.ts— cwd 바인딩 + Copilot/Antigravity preset.src/components/Chat/ChatPanel.tsx— cwd hint 갱신.package.json0.2.67 → 0.2.68.
핸드오프 메모
- Phase A 는 매 메시지 one-shot spawn (history prepend 로 멀티턴). 진짜 영속 TUI 세션은 Phase B (node-pty).
- 각 CLI 인증은 사용자가 터미널에서 1회 로그인 필요 (claude/codex/copilot/agy 각각).
- cwd 가 프로젝트 root 라 CLI 가 실제 파일 read/edit → 기존 watcher 가 그 활동을 tool 단위 (claude/codex/copilot) 또는 세션 (agy) 으로 시각화.
📦 GitHub 릴리스 노트: v0.2.68