claude code with zellij

최근 버전의 claude code 에서는 AGENT_TEAMS(팀모드)를 제공한다.
~/.claude/settings.json 에 아래 환경변수를 활성화 하면된다.
  "env": {
    "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1"
  },

이게 기존 병렬 에이전트와 다른 점은 서브 에이전트들끼리 통신할 수 있고, tmux가 설치되어 있다면 각 에이전트들의 작업을 볼수 있어 좋다.

            팀모드 (TeamCreate + Agent)        병렬 에이전트 (Agent only)
실행 방식     별도 프로세스 (out-of-process)        인프로세스 (in-process)
tmux pane   각 teammate마다 별도 pane 생성        생성 안됨
UI 표시      각 pane에서 실시간 진행 확인 가능        메인 화면에서 결과만 반환
통신         SendMessage로 메시지 교환            결과를 직접 반환
작업 관리     TaskCreate/TaskUpdate로 추적        없음 (단발성)
teammate 간 가능 (서로 메시지 송수신)               불가 (독립 실행)
수명         idle 대기, 추가 작업 할당 가능          작업 완료 시 즉시 종료

그런데 multiplexer로는 tmux 만 공식 지원해서 zellij 에서 쓸수 없었는데
https://github.com/stanislc/zellij-claude-teams 에서 zellij 용 shim 을 제공한다.
zellij 환경의 claude code 에서 tmux 명령이 호출되면 shim이 이를 가로채 zellij pane으로 라우팅한다.

zellij-claude-teams 설치 후 zsh 환경 설정까지를 아래 스크립트로 만들어 뒀다.

zellij 세션에서 claude code 를 실행하고 팀모드로 작업 요청을 하면 다음과 같이 zellij pane 으로 에이전트들의 작업중인 내용을 볼수 있다. 작업이 끝다면 서비스에이전트 pane 들은 자동으로 닫힌다.

comments:

댓글 쓰기