네 개의 경보 슬롯, 세 가지 실패 모드: 수면, 레이... 노트

네 개의 경보 슬롯, 세 가지 실패 모드: 수면, 레이스, 타임아웃을 견디는 야간 드레인 구축

Claude Code 대화는 설계상 지속적인 메모리가 없어 사용자가 컨텍스트를 반복적으로 다시 설명해야 합니다. 이러한 장기 기억의 부재는 특히 여러 프로젝트를 관리할 때 생산성을 저해합니다. 이를 해결하기 위해 저자는 Claude Code 로그를 Obsidian 볼트로 내보내는 야간 스크립트를 개발했습니다. 이 자동화된 프로세스는 수동 요약의 필요성을 없애고 사용자 의지와 상관없이 지식이 보존되도록 합니다. Obsidian은 로컬 Markdown 파일, Git 버전 관리 및 연결 기능을 위해 선택되어 효과적인 외부 두뇌를 만들었습니다.스크립트 개발 중에는 강력한 3중 계층 설계가 필요한 세 가지 치명적인 실패가 발생했습니다. Mac이 스크립트 실행 중에 절전 모드로 전환되어 처리가 불완전하게 남겨지는 절전 모드 동결 문제가 발생했습니다. 예약된 스크립트 실행과 수동 실행이 겹쳐 Git 충돌을 일으키는 이중 실행 경합이 발생했습니다. 마지막으로, 광범위한 로그 처리가 스크립트의 시간 제한을 초과하여 시간 초과 실패가 발생했습니다.이러한 실패로 인해 다중 슬롯 재발사 시스템, 절전 모드 방지를 위한 caffeinate, 단계 마커를 사용한 멱등성 재시도가 구현되었습니다. 이 설계는 중단되더라도 처리가 중단된 부분부터 다시 시작되도록 합니다. 시스템은 이제 Claude 세션 로그로 시작하여 원시 대화 파일, Obsidian 볼트, 그리고 마지막으로 개인 Git 저장소를 거치는 4계층 아키텍처를 특징으로 합니다.스크립트에 대한 여러 예약 슬롯은 중복성을 제공하여 후속 실행이 미완료된 작업을 처리할 수 있도록 합니다. Caffeinate는 시스템 절전 모드를 방지하는 데 사용되며, 잠금 디렉토리는 동시 스크립트 실행을 방지합니다. 멱등성 재시도는 완료된 단계를 표시하여 스크립트가 이미 처리된 세그먼트를 건너뛸 수 있도록 하여 달성됩니다. 이를 통해 실패가 발생하더라도 일일 수집 프로세스가 결국 완료될 수 있습니다.launchd plist 구성 및 nvm 노드 검색을 포함한 PATH 조정은 스크립트가 최소 실행 환경에서 안정적으로 실행되도록 보장합니다. /bin/bash에 대한 전체 디스크 액세스는 macOS 개인 정보 보호 보호로 인한 조용한 실패를 방지하기 위해 조기에 확인됩니다. 스크립트는 초기 신호가 무시되더라도 프로세스 종료를 보장하기 위해 GNU coreutils의 timeout과 함께 run_to 함수를 사용합니다. 이 포괄적인 설정은 Claude Code 대화를 위한 복원력 있는 외부 메모리를 만듭니다.