셸 명령 기록
일반 로컬 Bash·Zsh 세션에서 사람이 실행한 명령을 협업 타임라인에 기록합니다. 셸이 보고한 실행 경계만 사용하며 키 입력·Enter·화면·프롬프트 문구로 명령을 추정하지 않습니다.
사용법
섹션 제목: “사용법”설정 → 프로필에서 로컬 Bash 또는 Zsh를 선택하고 새 탭을 여세요. 명령을 실행한 다음 타임라인에서 해당 항목을 확인하세요. 기존 세션에는 새 탭이 필요하며 사용자 셸 시작 파일은 수정하지 않습니다.
한 항목이 실행 중 → 완료 / 실패 / 종료 미확인으로 바뀝니다. 펼치면 작업 폴더·종료 코드·소요 시간이 나옵니다. 종료 코드는 셸이 실행한 명령 묶음의 결과이며 파이프라인의 모든 프로세스나 백그라운드 작업의 최종 결과를 뜻하지 않습니다. 에이전트 명령은 기존 요청·승인 항목에 ID로 연결하며, 작성자를 확신할 수 없으면 셸로 표시합니다.
| 동작 | 타임라인 | 에이전트 접근 |
|---|---|---|
| 연동된 로컬 프롬프트에서 명령 실행 | 실행·종료 한 건 | 기존 모드·권한 유지 |
| sudo·SSH·프로그램의 암호 입력 | 입력 내용 기록 안 함 | 기존 화면 권한 유지. 화면에 출력된 내용은 보일 수 있음 |
| Vim·REPL·중첩 셸·tmux 실행 | 외부 프로그램을 실행한 명령만 | 기존 모드·권한 유지 |
ssh host 접속 |
로컬 SSH 명령 한 건, 접속 종료 시 완료 | SSH 내부에서도 유지. 원격 훅 자동 설치 없음 |
| 외부 비공유 세션 | 훅 설치·기록 모두 없음 | 비공유 중 접근 불가. v0.7.0부터는 같은 세션을 명시적으로 공유할 수 있으며 사람 인수만으로 공유되지는 않음 |
호환성과 기록하지 않는 경우
섹션 제목: “호환성과 기록하지 않는 경우”- Bash는 원래 시작 과정을 유지하고 첫
PROMPT_COMMAND에서 연동을 시작합니다. 기존 프롬프트 명령과 종료 코드를 보존합니다. 기존 DEBUG 훅·함수 추적·확장 디버깅이 있으면 설치하지 않습니다. 시작 파일이PROMPT_COMMAND를 덮어쓰면 연동되지 않을 수 있습니다. 새 셸 history 항목을 사용하므로 history 비활성화·제외 규칙·중복 생략에 해당하는 명령은 건너뜁니다. - Zsh는 임시
.zshenv에서 원래ZDOTDIR을 복원하고 원래.zshenv를 실행합니다. 첫 프롬프트에서preexec·precmd에 연결하며 기존 시작 파일과 훅 배열을 유지합니다. 사용자 설정이 훅을 교체하면 기록을 사용할 수 없을 수 있습니다. - 첫 대상은 기본·로그인·대화형 옵션의 로컬 프로필입니다. 사용자 지정 시작 명령, 원격 백엔드 프로필·다른 셸·Windows는 미지원으로 표시하며 원시 입력 기록으로 대체하지 않습니다.
최초 셸만 연동합니다. 원격 셸 훅·다른 셸 지원·명령 인자에 직접 포함된 비밀값의 탐지와 마스킹 정책은 별도 작업입니다. 기록된 명령이 공유해도 안전하다는 보장은 아닙니다.
이벤트 전달과 검증
섹션 제목: “이벤트 전달과 검증”소유자 전용 임시 디렉터리의 제한된 이벤트 파일로 전달하며 별도 실행 파일이나 네트워크 서비스가 필요하지 않습니다. 대기 기록은 최대 64개, 각각 최대 64 KiB입니다. 누락·잘못된 이벤트가 발생하면 해당 탭의 기록을 중단합니다. 새 탭에서 다시 연결할 수 있습니다. 정상 종료 시 임시 파일을 삭제하지만 프로세스 충돌 시 명령 데이터가 남을 수 있습니다. 같은 사용자 프로세스까지 차단하는 보안 경계는 아닙니다. 보안 문서를 참고하세요.
실제 Bash·Zsh PTY 테스트에서 인증 입력·중첩 셸·비공유 세션·기존 훅 보존·history 제외· 에이전트 연결·종료 미확인을 검사합니다. UI 테스트는 실시간·저장 기록을 검사합니다. 별도 인증 테스트 프로젝트에서는 실제 SSH 암호·재시도·키 암호, 비표시·별표·평문 입력과 Vim을 검증했습니다. 이 Linux 검증으로 실제 macOS 셸 훅 동작까지 입증되지는 않으며, 플랫폼별 직접 검증이 필요합니다. v0.6.0 검증 범위도 참고하세요.