v0.1.67
v0.1.67 — 채팅 401 에러 fix + 실시간 세션 동기화 + 자동 CLI provider 생성
사용자 보고 1
- "Anthropic HTTP 401: x-api-key header is required" — 작업 추적 채팅 송신 시 API 키 누락
사용자 보고 2
- "실행 중 claude / codex 에 채팅 실시간 연동" — 터미널 CLI 세션과 양방향 통합 요청
#1 자격증명 검증
- (
isProviderValid): chatStore.findProviderForAgent— provider 자격 인증 검증 추가. CLI 는 command, HTTP 는 apiKey (Ollama 는 baseUrl/model 만) 있어야 valid.- 무효한 provider 자동 선택 안 함 → 401 사전 차단.
#2 자동 CLI provider 생성
- (
autoCreateProviderForAgent): - 사용자가 claude-code 에이전트 follow 했는데 valid provider 없으면 "Claude Code (CLI · 추천)" preset 자동 추가.
AgentFollowPanel의 auto-bind useEffect: 매칭 valid 없음 → CLI preset 자동 생성 + 활성화.- 결과: 처음 사용하는 사용자도 추가 설정 없이 chat 가능.
#3 친절한 에러 메시지
- (
sendChatMessagecatch): - 401 / x-api-key / authentication 감지 → "API 키가 비어있거나 잘못됨" + 해결 방법 안내.
- ENOENT / not found + CLI kind → "명령어 ${cmd} 를 찾을 수 없음" + PATH 확인 안내.
- timeout → "X초 초과" 안내.
#4 실시간 세션 JSONL 폴링
AgentFollowPanel의sessionTurnsfetch effect — 기존 follow 변경 시 1회 → 5초 주기 polling 으로 변경.- 동일 turn 수 + 마지막 uuid 일치 시 setState skip (불필요한 re-render 차단).
- 결과: 터미널 Claude Code 세션의 user/assistant 새 turn 이 5초 안에 ViewWork 채팅 스트림에 표시.
#5 실시간 동기화 indicator
- chat input 위 mini-bar 에 "🟢 실시간" 배지 + sessionTurns 갯수.
- 사용자 명확히 인지: "터미널 세션이 ViewWork 에 자동 미러됨".
#6 CLI preset args 업데이트
Claude Code (CLI)preset 의 args:['-p']→['-c', '-p'](continue last session).- ViewWork 가 보낸 메시지가 사용자 터미널의 같은 JSONL 에 append → 양쪽이 "같은 세션" 으로 보임.
- 한계: 터미널 Claude 프로세스 자체는 자기 stdin 만 reads — ViewWork 의 응답은 별도 subprocess. 진짜 양방향 실시간 채팅은 Claude Code 구조상 불가능 (명확히 명시).
검증
npx tsc --noEmitexit=0.npm run build통과 (renderer 3,175kB, +6kB).
← v0.1.66
(없음) →
📦 GitHub 릴리스 노트: v0.1.67