Tmux-restore: 재부팅해도 tmux 창과 코딩 에이전트 대화를 그대로 복구
Show HN: Tmux-restore saves tmux windows and agent sessions across reboots
TL;DR Highlight
tmux 상태와 에이전트 대화를 1분마다 저장해 재부팅 후 이어서 복구
Who Should Read
재부팅할 때마다 tmux 창 수십 개와 Claude Code 대화 세션을 잃어 불편한 개발자
Core Mechanics
- tmux 구성을 통째로 복구한다
- 세션, 윈도우, 분할, 작업 디렉터리, 스크롤백이 돌아온다.
- tmux-resurrect와 tmux-continuum 위에 만든 플러그인이다.
- 에이전트는 하던 대화를 이어서 연다
- Claude Code, Codex, Gemini CLI, opencode, pi를 지원한다.
- 같은 플래그로 각자의 대화를 다시 연다.
- 저장은 1분마다, 종료 직전에도 한 번 더
- 종료 직전 저장은 백그라운드 서비스가 맡는다.
- Linux는 systemd, macOS는 launchd를 쓴다.
- 대화 ID는 어댑터가 찾는다
- 어댑터가 에이전트 자체 세션 파일에서 대화 ID를 찾는다.
- 그 대화를 재개하는 명령을 저장해 둔다.
- 위험한 명령은 자동 재실행하지 않는다
- 에디터와 모니터는 다시 실행한다.
- 배포나 dev 서버 같은 건 프롬프트에 입력만 해 두고 Enter를 기다린다.
- 새 에이전트 지원은 짧은 파일 하나
- 어댑터는 파일 하나로 추가할 수 있다고 한다.
- 방법은 CONTRIBUTING.md에 있다.
Community Reactions
- tmux-resurrect만 쓰면 에이전트 세션이 안 돌아왔다는 경험
- Claude Code가 나온 뒤로 긴 세션이 제 pane에 복구되지 않아 불편했는데 이걸로 해결됐다는 후기가 있다.
- 복구하면 모든 게 제자리에 있다고 한다.
- 기반 플러그인을 10년 넘게 써 왔다는 경험
- 40개 넘는 pane, 15개 넘는 윈도우를 WSL 재시작 후에도 복구해 왔다는 후기가 있다.
- 이 도구가 그 기반만큼 믿을 만한지 지켜보겠다는 반응이다.
- 비슷한 도구가 이미 있다는 정보
- session-keeper는 pi, Claude Code, Copilot CLI를 지원한다.
- tail -f 같은 장기 프로세스도 저장하고 키 입력 때마다 저장한다는 설명이다.
- 필요성에 대한 반론
- 터미널이 에이전트뿐이라 터미널 앱이 --resume만 처리하면 되지 않느냐는 의견이 있다.
- tmux v4.0에 네이티브 저장·복구가 들어갈 수 있다는 링크와, VM 최대 절전이 더 간단하다는 의견도 있다.
How to Apply
- 오늘 설치 스크립트를 열어보고 설치하기
- 파이프 실행이 꺼려지면 install.sh를 먼저 내려받아 읽어본 뒤 실행하라.
- 설치 후 tmux에서 에이전트를 띄워 두고 저장 대기 후 tmux를 재시작해 복구를 확인하라.
- 재부팅 테스트로 에이전트 복구 확인하기
- 지원 에이전트 pane 몇 개와 dev 서버 pane 하나를 열어 두고 재부팅하라.
- 에이전트는 대화가 이어지는지, dev 서버는 Enter 대기 상태인지 확인하라.
- 쓰는 에이전트가 목록에 없으면 어댑터 추가하기
- CONTRIBUTING.md를 읽고 어댑터 파일 하나를 작성하라.
- 에이전트 세션 파일에서 대화 ID를 찾아 재개 명령을 만들도록 하라.
Try It
# 터미널에 붙여넣기 (설치 스크립트를 먼저 읽어보고 실행)
curl -fsSL https://raw.githubusercontent.com/andrewboldi/tmux-restore/main/install.sh -o install.sh
less install.sh
bash install.sh
# 이어서 해 볼 것: tmux에서 에이전트를 띄운 뒤 재부팅하고 같은 대화가 열리는지 확인Terminology
관련 논문
AI Brain Fry 이겨내기: git 기반 우선순위 큐로 에이전트 작업 관리
티켓을 git에 두고 결정만 한 곳에서 처리했더니 20개 스레드 혼란이 줄었다
Goldman Sachs, 트레이더·뱅커의 Claude Code 접근을 제한하다
Goldman이 코딩 에이전트를 엔지니어에게만 허용하고 트레이더·뱅커는 막았다
Agent memory에도 OpenTelemetry 같은 공통 규격이 필요하다는 주장
에이전트 메모리 포맷이 제각각이라 OpenTelemetry식 공통 규격을 제안한 글
Claude Code를 접고 Pi로 갈아탄 이유
Claude Code의 잦은 시스템 프롬프트 변경에 지쳐 Pi로 갈아탔다
에이전트 메모리의 구성 요소: 노트, dreaming, 위키
Claude에 메모리 폴더와 dreaming을 붙였더니 문서 질의 점수가 13%→48%로 올랐다
ChatGPT가 커넥터 사이로 조용히 데이터를 넘긴다는 보안 제보
커넥터 2개를 켜자 후속 툴 호출이 다른 커넥터로 조용히 넘어갔다
Claude Code가 User-Agent 헤더에 이메일을 실어 웹사이트로 보낸다
Claude Code가 curl 요청 User-Agent에 사용자 이메일을 넣어 스팸 피해 제보가 나왔다
Rivet: S3 위에서 에이전트를 확장·오케스트레이션하는 Actor 플랫폼
에이전트마다 Actor를 띄웠더니 콜드스타트 4.99ms, 메모리 72KB가 됐다