Turink Labs
Turink Toys

Turink Toys

개발 중

macOS 반복 작업 처리 도구 모음

기능

macOS 에서 반복되지만 기본 기능만으로는 해결되지 않는 일을 다룹니다. 지금 들어 있는 것은 다음과 같고 쓰면서 필요해지는 기능을 계속 더합니다.

압축

macOS 에서 만든 zip 을 윈도우에서 열면 한글 파일명이 깨집니다. macOS 가 파일명에 UTF-8 표시를 넣지 않아 윈도우가 시스템 코드 페이지로 읽기 때문입니다. 여기에 자모 분해 방식의 차이와 윈도우가 허용하지 않는 문자까지 겹칩니다. 보내는 사람은 받는 쪽이 알려주기 전까지 깨진 사실을 모릅니다.

표시를 넣고 파일명을 정규화하며 윈도우가 만들 수 없는 문자를 바꾼 뒤 무엇을 바꿨는지 알려줍니다. 반대로 이미 깨져서 도착한 압축 파일에서 원래 이름을 되살리는 일도 합니다.

디스크 정리

개발 도구가 남기는 캐시는 수십 기가바이트를 차지합니다. 직접 지우려 해도 무엇을 지워도 되는지 판단하기 어렵고 상용 정리 앱은 필요 이상으로 많은 곳에 손을 댑니다.

어디에 얼마나 쌓였는지 먼저 보여주고 지운 것을 휴지통에 넣습니다. 잘못 지운 경우 되돌릴 수 있습니다. 다시 내려받아야 하는 항목은 캐시와 구분해 따로 확인을 받습니다.

전원

덮개를 닫아도 잠들지 않게 하거나 정해진 시간 동안 화면이 꺼지지 않게 합니다. macOS 설정에서 직접 바꿀 수 없어 터미널 명령을 찾아 외워야 하던 항목입니다.

배경

이 문제에 해결책이 없는 것은 아닙니다. 압축 문제는 명령어 옵션을 조합하면 되고 캐시 경로는 검색하면 나옵니다. 다만 자주 겪는 일은 아니어서 필요할 때마다 다시 찾게 되고 찾은 방법이 지금 버전에서도 맞는지는 실행해 봐야 확인할 수 있습니다.

되돌릴 수 없는 작업이라는 점이 여기에 겹칩니다. 캐시를 지우는 명령을 검색해서 붙여넣을 때 그 경로가 정말 캐시인지 확인하는 사람은 많지 않습니다. 이 도구가 지우는 대신 휴지통으로 옮기는 이유입니다.

에이전트 지원

압축과 디스크 정리는 사람이 직접 하기보다 맡기는 편이 나은 일입니다. 그래서 AI 에이전트가 호출할 수 있게 만들었습니다.

에이전트가 쓰려면 도구가 자신의 기능을 설명해야 합니다. 사용할 수 있는 작업의 목록과 각 작업의 입력 형식을 실행 파일에서 바로 조회합니다. 별도 문서나 설정이 필요하지 않습니다.

작업이 실패하면 원인 코드와 다음에 실행할 명령을 함께 돌려줍니다. 선택이 필요한 상황에서는 사람에게 묻지 않고 후보를 반환한 뒤 멈춥니다. 에이전트는 응답을 기다릴 수 없기 때문입니다.

되돌릴 수 없는 작업에는 별도의 절차를 둡니다. 무엇을 지울지 계획으로 만들어 먼저 돌려주고 그 계획을 확인받은 뒤에 실행합니다. 확인과 실행 사이에 파일이 달라지면 계획이 맞지 않으므로 중단합니다. 사람은 실행 직전에 화면을 보고 이상을 알아채지만 에이전트는 그러지 못합니다.

권한이 필요한 작업은 전원 설정뿐입니다. 에이전트는 암호 입력 창에 답할 수 없으므로 실패로 처리하지 않고 권한이 필요하다는 코드를 돌려줍니다.

언어

한국어와 영어를 지원합니다. 사람이 읽는 문구만 번역하고 오류 코드와 JSON 필드 이름은 어느 언어에서든 영어로 둡니다. 코드를 보고 분기하는 호출자가 기기의 언어 설정에 영향을 받으면 안 되기 때문입니다.

설치

brew install --cask reinlainer/tap/turink-toys

응용 프로그램과 터미널 명령을 함께 설치합니다. Homebrew 를 쓰지 않으면 릴리스 페이지의 압축 파일을 내려받습니다.

현황

v0.1.0 · MIT 라이선스. Developer ID 서명을 하지 않은 빌드라 갱신은 Homebrew 로 진행합니다.