자는 동안에도 pi가 돌아가길 원해서, 그 부족한 부분을 채워줄 레이어를 직접 만들었음.
I wanted pi to work while I sleep, so I built the missing layer around it.
핵심 요약
pi를 무인 환경에서 안전하게 실행할 수 있도록 큐, 예산 제한, 권한 관리 기능을 추가한 레이어 도구 'pi-dispatch' 개발.
- pi-dispatch 개발 — pi를 무인 환경에서 안전하게 실행하기 위한 큐 및 예산 제한 레이어 구현함.
- 자체 인프라 운영 — Claude Code와 달리 모든 작업을 본인의 환경에서 직접 제어하고 실행함.
- 다양한 트리거 지원 — GitHub, GitLab 등 다양한 플랫폼의 이벤트나 스케줄을 통해 작업을 시작할 수 있음.
- 안전한 실행 환경 — 컨테이너 기반의 격리된 환경에서 작업을 실행하여 예산 초과를 방지함.
pi는 큐도 없고, 사용 한도도 없고, 권한 시스템도 없어. 뭐 그게 pi의 역할은 아니니까 공평하긴 하지.
근데 난 이게 사람 손 안 거치고 알아서 돌아가길 원했거든.
그래서 그 주변을 감싸는 레이어를 만들었고, 여러 번 릴리즈한 끝에 이번 주에 1.0 버전을 찍었어. MIT 라이선스고, 여기 먼저 공유한다.
간단히 말하자면, 어떤 트리거가 작업을 실행하면(cron 스케줄, GitHub/GitLab/Forgejo/Azure DevOps의 라벨/댓글/PR, 아니면 워크플로우 확장 프로그램의 슬래시 커맨드 등), 그 작업이 격리된 일회용 컨테이너 안에서 pi를 돌리는 방식이야. 컨테이너가 뜨기도 전에 예산부터 먼저 체크하고.
루프가 미쳐 날뛰어도 요금 폭탄 맞는 게 아니라 그냥 거절당하는 거지.
Claude Code 루틴이랑 거의 비슷한 개념인데, 이건 전부 네 서버에서 돌아간다는 게 달라.
네 이미지, 네 큐, 네 제한 설정, 그리고 스케줄 외의 다양한 트리거까지 다 네 맘대로 할 수 있어.
https://github.com/edgehero/pi-dispatch
다들 pi를 어떻게 무인으로 돌리고 있는지 궁금하네. 그리고 이걸 안 쓰게 만드는 이유가 뭔지도 알고 싶어. "X 때문에 내 설정이 망가져서 못 쓴다" 같은 피드백이 나한테는 제일 도움 되니까 많이 남겨줘.


