원문 캡처 · github.com
원문 캡처 · github.com

Putaway는 맥의 다운로드 폴더에 있는 파일을 기존 폴더에 분류하고, 이동 전에 계획을 검토하게 해주는 앱이다. Apple silicon을 탑재하고 macOS 26 이상을 실행하는 맥에서 사용할 수 있다.

앱은 파일마다 폴더를 제안한다. 확신도가 높은 파일은 이동할 준비가 된 상태로 표시하고, 나머지는 제안된 폴더를 사용자가 확인하도록 한다. 사용자가 Move를 누르기 전에는 파일이 이동하지 않으며, Undo로 마지막 이동을 되돌릴 수 있다. 데모는 SubQ 키를 사용한다. Apple Intelligence나 사용자가 지정한 모델을 쓸 때는 파일마다 폴더를 확인한다.

설치는 다음 명령으로 할 수 있으며, Homebrew로도 설치할 수 있다. 두 설치 방식 모두 앱을 ~/Applications에 넣고 putaway 명령도 추가한다.

bash
curl -fsSL https://raw.githubusercontent.com/devYRPauli/putaway/main/install.sh | bash
bash
brew install devyrpauli/tap/putaway

기본 엔진은 맥에서 실행되는 Apple Intelligence다. 별도 클라우드 서비스는 포함하지 않는다. 설정에서 OpenAI chat API를 지원하는 자체 서버를 지정하거나, API 키를 이용해 SubQ Snap 또는 Jev를 사용할 수 있다. 자체 서버는 Ollama, LM Studio, llama.cpp, mlx_lm 등이 예시로 제시돼 있다. SubQ나 Jev는 폴더별 확률을 제공해 확신도가 높은 파일을 이동 대상으로 표시한다.

SubQ나 Jev를 쓰면 Putaway는 폴더 이름과 각 파일에서 읽은 텍스트의 첫 1,000자를 해당 서비스로 보낸다. 파일 전체는 보내지 않는다. 스캔이나 이미지에서는 맥에서 텍스트를 먼저 읽어 그 텍스트만 전송한다. zip처럼 텍스트가 없는 파일은 파일 이름만 보내며, 폴더는 사용자가 확인한다. .env, id_rsa, *.pem, passwords.csv, recovery-codes.txt처럼 지정된 이름의 파일은 읽지 않고 제자리에 둔다. 파일 내용이 개인 키나 API 토큰처럼 보이면 전송하지 않는다. Apple Intelligence를 사용하면 데이터가 맥을 벗어나지 않으며, 자체 모델을 쓰면 입력한 서버에만 텍스트를 보낸다.

파일을 덮어쓰지 않고, 같은 이름의 파일이 있으면 새 파일 이름에 숫자를 붙인다. 계획을 만든 뒤 변경된 파일과 다운로드가 끝나지 않은 파일은 건너뛴다. 이동 후 파일을 수정했다면 Undo를 실행해도 그 파일은 새 위치에 남는다.

명령줄에서는 계획을 만든 뒤 이동을 적용하거나 되돌릴 수 있다.

bash
putaway plan ~/Downloads --into ~/Documents
putaway apply
putaway undo

putaway plan은 파일을 이동하지 않으며, putaway apply는 마지막 계획에서 MOVE로 표시된 파일만 옮긴다. 소스 빌드에는 Xcode 26 이상이 필요하다. 자세한 내용은 Putaway 저장소에서 확인할 수 있다.