Spyhop · AI 세션 보드

모든 AI 세션을 보드 하나에,세션마다 어디까지 했는지

Claude Code·Codex·OMP 세션이 카드 한 장씩 되고, 카드마다 끝낸 일·하는 일·남은 일이 단계로 보여요. 터미널을 하나씩 열지 않아도 마지막 답까지 확인할 수 있어요.

GitHub 보기
Spyhop 메인 보드. 워크스페이스별 칸에 세션 카드가 있고 카드마다 단계 진행이 보인다

화면은 데모 데이터예요.

이럴 때 좋아요

AI에게 일을 여러 개
맡기는 날이라면

세션 여러 개를 동시에

장애 분석, PR 리뷰, 문서 정리를 한꺼번에 맡겨 두고 보드 맨 위부터 하나씩 답해요.

회의 다녀와서

한 시간 자리를 비운 사이 무엇이 끝났고 무엇이 막혔는지, 카드 단계만 보고 알 수 있어요.

며칠 쉰 세션을 다시 잡을 때

쉬어 둔 세션도 카드에 남아 있어요. 단계와 마지막 답을 보고 멈춘 곳에서 바로 이어 가요.

모든 세션을 한 곳에

창을 하나씩
열어 보지 않아도 돼요

내 답을 기다리는 세션이 맨 위로 올라와요. 위쪽 탭으로 My turn·Working만 골라 보고, 정렬은 Newest·Longest wait 중에 골라요.

My turn · 내 차례 Working · AI가 일하는 중 No progress · 멈춘 듯
My turn 탭을 고른 보드
AI 주제로 묶기

폴더 말고
하는 일끼리 모아 봐요

설정에서 AI topics를 고르면 AI가 세션마다 무슨 일을 하는지 보고, 같은 주제끼리 한 칸에 모아요. 새 세션도 알아서 맞는 칸에 들어가요.

한 번 정한 칸은 그대로 끌어다 놓으면 고정 + New column으로 새 주제
AI 주제로 묶은 보드
어느 터미널이든

어디서 띄우든
보드에 떠요

Terminal, iTerm2, Ghostty, WezTerm, cmux에서 띄운 세션도 폴더·터미널별 칸으로 떠요. Claude 앱의 로컬 Code 탭 세션은 폴더별 칸으로 떠요. 오르카에서는 몇 가지가 더 돼요.

OrcaTerminal · iTerm2 · Ghostty · WezTerm · cmuxClaude 앱다른 터미널
카드 · 단계 · 요약 · 상세 창✅✅✅✅
칸오르카 워크스페이스폴더 · 터미널폴더폴더 · 터미널
세션으로 이동그 창그 탭앱의 그 세션앱만 앞으로
세션 끝내기그 분할 창만 닫기AI만 끝내고 탭은 남김AI만 끝내고 세션은 사이드바에 남김AI만 끝내고 탭은 남김
끌어서 다른 워크스페이스로 옮기기✅❌❌❌
카드 아래 교차검증 한 줄✅❌❌❌
AI 주제 묶기 · doctor✅✅✅✅

오르카 밖의 tmux·SSH 세션은 지원하지 않아요.

세션마다 진행 단계

무엇을 끝냈고
지금 무엇을 하는지

대화 기록을 읽어 일을 4~6단계로 나누고, 일이 진행되면 지금 단계만 앞으로 가요. 끼어든 급한 일은 보라색이에요.

Done Now Next Intercept · 끼어든 일
좁은 화면에서 카드가 진행 막대로 줄어든 모습

칸이 넘치면 카드가 진행 막대 한 줄로 줄어요. 세로 모니터 절반에서도 읽혀요.

상세 보기

카드를 누르면
그 세션의 전부가 보여요

창을 열지 않아도 무엇을 하는지, 어디서 멈췄는지, 교차검증 결과까지 한 화면에서 봐요.

상세 보기 화면 4 5 1 2 6 3
1단계별 설명

단계마다 무엇을 했는지 한 줄씩. 지금 단계는 강조되고 다음 단계는 흐리게.

2마지막 답

AI가 마지막에 한 말 한두 줄. 창을 안 열어도 무슨 답을 기다리는지 알아요.

3할 일 목록

이 세션이 챙길 일. 눌러서 직접 체크할 수 있어요.

4세션으로 이동 · 끝내기

그 오르카 창이나 터미널 탭으로 바로 넘어가요. 끝내면 오르카는 그 분할 창만 닫고, 터미널은 AI만 끝내요. 카드는 바로 사라져요.

5어디서 도는지

칸 이름 옆에 오르카인지 어느 터미널인지. 모델과 세션 ID는 버튼 옆에 흐리게.

6교차검증

Codex 교차검증·리뷰가 끝나면 그 결과를 짧게 보여 줘요. 카드에도 한 줄로 표시돼요.

세션 옮기기

끌어다 놓으며
내 세션을 정리해요

잠깐 미룰 세션은 On hold 칸에 두고, 다시 할 때 원래 칸으로 꺼내요. 놓는 순간 옮겨지고 대화는 그대로 이어져요.

실제 동작이에요(데모 데이터). 일하는 중인 세션은 내 차례가 된 뒤에 옮길 수 있어요.

어떻게 동작하나요

상태는 코드가,
단계는 AI가 정해요

일하는 중·내 차례는 프로그램과 대화 기록을 직접 읽어 정해요. AI는 제목과 단계만 써요. 밖으로 나가는 건 고른 모델에 보내는 대화 기록뿐이고, 키·토큰은 가려요.

실행 중인 세션일하는 중 · 기다리는 중 대화 기록Claude · Codex Spyhop · 내 맥상태는 여기서 정해요 요약 모델제목 · 단계 · 할 일 보드메뉴바 실행 중인 세션일하는 중 · 기다리는 중 대화 기록Claude · Codex Spyhop · 내 맥상태는 여기서 정해요 요약 모델제목 · 단계 · 할 일 보드메뉴바
시작하기

명령 두 줄이면 끝나요

로그인된 claude 또는 codex CLI가 있으면 돼요. Spyhop은 맥 앱이라(macOS 13 이상) 보드가 앱 창으로 열려요.

# 설치
brew install leeleelee3264/tap/spyhop
open -a Spyhop

# 업데이트
brew upgrade --cask spyhop
메뉴바 패널. 내 차례·작업 중 세션 수와 세션 목록

메뉴바에서도

메뉴바의 범고래 아이콘에 내 차례인 세션 수가 떠요. 창을 닫아도 아이콘은 남아 있고, 줄을 누르면 그 세션으로 바로 가요.

궁금한 게 있나요?

자주 묻는 질문

오르카 없이도 쓸 수 있나요?

네. 실행 중인 claude·codex 프로그램에서 세션을 찾기 때문에 Terminal, iTerm2, Ghostty, WezTerm, cmux에서 띄운 세션도 폴더·터미널별로 보여요. 이 다섯 터미널은 세션으로 이동하면 그 탭까지 가고, 다른 터미널은 앱만 앞으로 가져와요. Claude 앱의 로컬 Code 탭 세션도 보이고, 세션으로 이동하면 앱에서 그 세션을 열어요. 카드를 다른 칸으로 옮기는 건 오르카에서만 돼요.

세션이 보드에 안 보여요.

터미널에서 /usr/bin/python3 /Applications/Spyhop.app/Contents/Resources/spyhop/board.py --doctor를 실행해 보세요. 세션마다 어떻게 찾았는지, 못 찾았으면 왜인지 알려 줘요(제목은 기본으로 가려요). 최신 버전인지도 brew upgrade --cask spyhop으로 확인해 주세요.

브라우저판을 쓰고 있었어요.

brew update를 실행하면 Homebrew가 앱으로 옮겨 주거나, 실행할 명령 두 줄을 알려 줘요. 앱을 한 번 열면 보드와 로그인 시 시작을 넘겨받고, SwiftBar의 Spyhop 아이콘을 떼고, 옛 버전을 지울지 물어요. 설정, 주제 칸, 체크한 TODO는 그대로예요. 브라우저판은 1.0.1에서 멈춰요.

카드를 옮기면 AI가 일하는 폴더도 바뀌나요?

아니요. 오르카 창만 그 워크스페이스로 옮겨 가고, AI는 원래 폴더에서 같은 대화를 이어 가요. 폴더가 다르면 옮긴 뒤 알려 드려요.

일하는 중인 세션도 옮길 수 있나요?

안 돼요. 하던 일이 끊기니까 「My turn」이 된 뒤에 옮겨 주세요.

돈이 더 드나요? 무엇이 밖으로 나가나요?

새로 가입하거나 키를 받을 필요는 없어요. 이미 로그인해 둔 claude 또는 codex CLI로 요약해서 그 사용량에 포함돼요. 대화 기록이 바뀐 세션만, 새로 쌓인 부분만 보내고(세션당 1분에 한 번까지) 쉬는 세션은 아무것도 안 보내요. 세션 6개로 30분 재 보니 요약 53번, 한 번에 약 4,500자였어요. 밖으로 나가는 건 고른 모델에 보내는 대화 기록뿐이고, 키·토큰처럼 보이는 값은 가려서 보내요.

맥이 느려지지 않나요?

세션 11개 기준 맥 CPU 약 1%, 메모리 약 60MB예요. 설정 맨 아래에서 실제 사용량을 볼 수 있고, 갱신 주기를 30·60초로 늘리면 더 줄어요.

여기 없는 질문은 GitHub 이슈에 남겨 주세요. 들어온 질문은 여기에 계속 추가할게요.

설치 명령을 복사했어요