Skip to main content

tmux 연동

tmux는 multi-saas-kit에서 Claude Code의 운영 대시보드 역할을 합니다. 3줄 상태바 + 하단 pane-border에 세션 정보, LLM 상태, 작업 요약이 실시간 표시됩니다.

상태바 레이아웃

┌─────────────────────────────────────────────────────────────────┐
│ [__claude] 세션 메모 1줄 CPU:5% MEM:32% [f1f43][H 05] │ ← 1줄
│ 세션 메모 2줄 (+3) GS(3470) GU(53) PS(76) │ ← 2줄
│ 💬 ai-core 설계 문서 작성 │ ← 3줄
├─────────────────────────────────────────────────────────────────┤
│ │
│ Claude Code 터미널 │
│ │
├─────────────────────────────────────────────────────────────────┤
│ [H 0:31, 13msg] O:✅ K:✅ C:⏳ G:❌ │ ← pane-border
└─────────────────────────────────────────────────────────────────┘

영역별 정보

위치좌측우측
1줄[세션명] + 메모 1줄CPU/RAM + 세션 ID [f1f43] + Handoff [H 05]
2줄메모 2줄 + 잔여줄 수 (+N)PI (프롬프트 주입 상태)
3줄(빈 공간)💬 마지막 작업 요약
하단 borderHandoff 경과 + 메시지 수Multi-LLM 프로바이더 상태

핵심 활용 팁

1. 세션별 메모 (Ctrl+\)

가장 자주 쓰는 기능. prefix 없이 바로 vim 팝업이 열립니다.

단축키동작
Ctrl+\메모 편집 (vim 팝업, 빠른 접근)
Ctrl+An메모 편집 (prefix 방식)
Ctrl+AN새로고침

메모 파일: ~/.config/tmux-notes/{session_name}.txt

# __claude.txt 예시
TODO: .ai-core config 재설계
- global.json 토글 통일
- detail/ 분리 완료

2. 작업 요약 자동 표시

3줄 우측에 Claude가 매 턴 기록하는 작업 요약이 표시됩니다.

# AGENTS.SYSTEM.md 지침에 의해 Claude가 자동 실행
echo "$(date +%H:%M)|ai-core 설계 문서 작성" > \
~/.config/tmux-notes/.last-question-$(tmux display-message -p '#S').txt

→ 상태바: 💬 ai-core 설계 문서 작성 00:30

3. Multi-LLM 상태 모니터링

하단 pane-border 우측에서 LLM 프로바이더별 상태를 확인합니다:

표시의미
활성 (응답 완료)
대기 중 (요청 진행)
비활성 또는 에러
설정에서 비활성

4. Handoff 상태 확인

하단 pane-border 좌측에서 handoff 상태를 확인합니다:

[H 0:31, 13msg]    ← 31분 전 handoff, 이후 13건 대화
[NO-HO] ← handoff 없음

색상으로 긴급도 표시:

  • 0건: 회색 (방금 저장)
  • 1~5건: 녹색 (최근)
  • 6~15건: 노랑 (갱신 권장)
  • 16건+: 빨강 (stale 위험)

5. PI(프롬프트 주입) 상태

2줄 우측에서 현재 시스템 프롬프트 주입 현황을 확인합니다:

GS(3470) GU(53) PS(76) PU PP
코드의미소스
GSGlobal System/AGENTS.SYSTEM.md
GUGlobal User/AGENTS.USER.md
PSProject System{project}/AGENTS.SYSTEM.md
PUProject User{project}/AGENTS.USER.md

숫자는 주입된 토큰 수. 어떤 지침이 적용 중인지 한눈에 파악 가능합니다.

6. 프로젝트 전환

tmux 세션을 전환하면 상태바가 자동으로 해당 프로젝트 정보를 표시합니다. 메모, 세션 ID, Handoff, LLM 상태 모두 세션별로 분리됩니다.

세션명 규칙

tmux 세션명 = 프로젝트 단위. 폴더 구분자를 변환합니다:

프로젝트 경로tmux 세션명
workspace/quant.howworkspace--quant__how
workspace/patent.howworkspace--patent__how
(루트)__claude

변환 규칙: /--, .__

설치

make tmux-notes-setup

이 명령은:

  1. 기존 ~/.tmux.conf 백업
  2. .ai-core/tmux/tmux-notes/~/.config/tmux-notes로 심링크
  3. ~/.tmux.conf 생성
# 적용
tmux source ~/.tmux.conf
의존성
  • tmux 3.0+ (status 3줄 + pane-border 지원)
  • xclip (클립보드 연동, 선택)
  • vim (메모 편집)

스크립트 목록

.ai-core/tmux/tmux-notes/ 폴더의 12개 스크립트:

스크립트역할표시 위치
sysinfo.shCPU/RAM/SWAP 사용률1줄 우측
session-id.shClaude 세션 ID 앞 5자1줄 우측
prompt-status.shPI 상태 (GS/GU/PS/PU)2줄 우측
last-question.sh마지막 작업 요약3줄 우측
handoff-status.shHandoff 경과시간 + 메시지 수pane-border 좌측
multi-llm-status.shLLM 프로바이더 상태pane-border 우측
claude-usage.shClaude 토큰 사용량(캐시 기반)
claude-usage-updater.shUsage 백그라운드 갱신(데몬)
chorus-usage-updater.shChorus LLM 사용량 갱신(데몬)
session-context.shsummaries에서 topic 추출(선택적)
discussion-mode.shchorus/legacy 모드 표시(선택적)
setup.sh설치 스크립트-

tmux 설정 주요 항목

설정이유
prefixCtrl+aCtrl+b보다 편리
status-interval2초빠른 상태 갱신
status 3상단 3줄충분한 정보 표시
mouse on마우스 지원복사/붙여넣기 편의
escape-time 0ESC 지연 제거vim 사용자 필수

비활성화된 위험 단축키

실수 방지를 위해 다음이 비활성화되어 있습니다:

  • d (detach) — 실수로 세션 나가기 방지
  • & (kill-window), x (kill-pane) — 삭제 방지
  • 패널 분할/전환 키 (%, ", o 등) — 단일 패널 운영

설정 수정

# 프로젝트 설정 (공유됨)
vim .ai-core/tmux/tmux-notes/tmux-setup.conf
tmux source ~/.tmux.conf

# 개인 설정 추가 (Git 제외)
cat > ~/.tmux.conf.local << 'EOF'
set -g status-style bg=blue
EOF

파일 경로

.ai-core/tmux/
└── tmux-notes/
├── tmux-setup.conf ← tmux 설정 (source 대상)
├── setup.sh ← 설치 스크립트
├── *.sh ← 상태바 스크립트 (12개)
├── {세션명}.txt ← 세션별 메모 (런타임)
└── .last-question-{세션명}.txt ← 작업 요약 (런타임)

관련 문서