Slop 로그

claude-warmup ·

claude-warmup 0.3: 가장 바쁜 시각에 Claude 5시간 한도가 딱 리셋되게 맞추기

피크 시간을 정하면 그 시각에 5시간 창이 리셋되도록 핑 시각을 거꾸로 계산해 맞춰 줘요. 하루 24시간이 5시간으로 나누어떨어지지 않아 생기는 빈 4시간은 직접 골라요.

claude-warmup은 Claude Pro·Max의 5시간 창을 늘 켜 두는 작은 도구예요. 앞 창이 끝나면 바로 새 창을 열어 두니까, 언제 자리에 앉든 내 첫 메시지가 5시간짜리 기다림을 새로 시작하지 않아요.

그런데 써 보니 아쉬운 점이 하나 있었어요. 저는 매일 비슷한 시간에 일어나고, 일이 가장 몰리는 시간도 거의 같아요. 그렇다면 그 시각에 딱 리셋되는 게 제일 좋겠죠. 0.2에서 피크 시간을 넣었고, 0.3에서 빈 시간을 직접 고르게 다듬었어요.

피크 시간이란

“평일 11:30이 제일 바쁘다”고 알려 주면, 그 시각에 창이 끝나도록 핑 시각을 거꾸로 계산해요. 11:30에 리셋되려면 그 창은 06:30에 시작해야 하고, 그 앞 창은 01:30에 시작해야 하는 식이에요.

하루 24시간에는 4시간이 남아요

여기서 문제가 하나 있어요. 하루는 24시간인데 창은 5시간이라, 창 4개를 이어 붙이면 20시간이고 4시간은 창이 없어요. 피크에 맞추는 한 이 빈 4시간은 어딘가에 꼭 생겨요.

0.2에서는 이 빈 시간이 계산상 피크 바로 뒤(11:30–15:30)에 생겼어요. 가장 바쁜 시간 직후가 비는 셈이라 손해였죠. 그래서 0.3부터는 어디를 비울지 직접 고르게 했어요. 피크를 정하면 고를 수 있는 다섯 가지를 보여 주고 번호를 물어요.

$ claude-warmup config peak 11:30 weekdays
✓ peak = 11:30 weekdays
  하루는 24시간이라 평일 11:30에 창을 맞추면 창이 없는 4시간이 생겨요. 어디를 비울까요? (고르면 피크가 적용돼요)
    1) 11:30–15:30  (피크 바로 뒤)
    2) 16:30–20:30
    3) 21:30–01:30
    4) 02:30–06:30
    5) 07:30–11:30  (피크 바로 앞)
  번호 (나중에 정하려면 Enter): 4
✓ 빈 시간(창 없음): 02:30–06:30
  이제 06:30, 11:30, 16:30, 21:30에 맞춰 핑을 보내서, 평일 11:30에 창이 딱 리셋되게 해요.

저는 자고 있을 새벽을 비웠어요. 그러면 평일에는 창이 06:30 → 11:30(리셋) → 16:30 → 21:30 → 02:30으로 이어지고, 02:30–06:30만 비어요.

쓰는 법 뜻
config peak 11:30 weekdays 평일 11:30 (평일, 월-금, mon,wed,fri도 돼요. 요일 없이 쓰면 매일)
config gap 빈 시간 목록을 다시 보여 주고 물어봐요
config gap 4 4번 칸을 빈 시간으로 (그 안의 시각으로 config gap 03:00도 돼요)
config peak off 끄기 (원래대로 창을 끊김 없이 이어요)

이렇게 동작해요

  • 빈 시간을 고르기 전에는 피크가 적용되지 않아요. 임의로 정하지 않으려고요.
  • 맞는 시각이 아니면 기다려요. 엉뚱한 시각에 창을 열면 그 창이 피크를 어긋나게 만드니까요. 기다리는 동안에는 Claude를 부르지 않아서 토큰도 안 써요.
  • 이미 어긋난 창은 어쩔 수 없어요. 내가 다른 시각에 직접 메시지를 보내서 창이 열렸다면 그 창은 옮길 수 없어요. 그 창이 끝나면 다음 맞는 시각에 다시 맞춰요.
  • 요일을 정하면 그 사이에는 원래대로 동작해요. 피크 하루 전부터 맞추기 시작하고, 주말처럼 피크가 먼 시간에는 창이 끝나자마자 새 창을 열어요.
  • 피크를 바꾸면 고를 수 있는 빈 시간도 달라져요. 정해 둔 빈 시간이 새 목록에 맞지 않으면 다시 물어봐요.

상태 화면에서 바로 확인할 수 있어요.

자동 워밍업
  스케줄      06:00–23:00 · 매일
  피크 시간   평일 11:30 · 06:30, 11:30, 16:30, 21:30에 맞춰 핑
  빈 시간     02:30–06:30
  다음 핑     16:25경, 내일 11:30에 리셋되도록 맞춰서

업데이트하는 법

npm install -g github:jungtaejoon/claude-warmup
claude-warmup install
claude-warmup config peak 11:30 weekdays

install을 다시 실행해야 백그라운드 서비스가 새 버전으로 바뀌어요. 이미 피크를 쓰고 있었다면 claude-warmup config gap으로 빈 시간을 골라 주세요. scripts/server-setup.sh로 서버에 설치했다면 npm 명령에 --prefix ~/.local을 붙여야 같은 자리의 프로그램이 바뀌어요. 저도 처음에 이걸 빼먹어서 서버에서 옛 버전이 그대로 돌고 있었어요.

변경 내용: 0.3 릴리스 노트 · 0.2 릴리스 노트