본문으로 건너뛰기

리마인더

리마인더 기능을 사용하면 브라우저에서 토스트 알림으로 발생하는 시간 지정 리마인더를 설정할 수 있습니다. 리마인더를 예약하면 시간이 되면 플랫폼이 알림을 보냅니다.

리마인더 만들기

모든 채팅에서 /remind 명령 사용:

/remind 30m check the build status

플랫폼이 시간과 메시지를 구문 분석하고 리마인더를 예약하고 채팅에서 확인합니다:

Reminder set for 30m: check the build status

명령 구문

/remind [시간] [메시지]

"me"와 "in"이라는 단어는 선택사항이며 무시됩니다:

/remind me in 30 minutes to check the build
/remind 2h review the PR
/remind 1d deploy to production

시간 형식

형식단위예시
30s, 30sec, 30seconds/remind 30s check the timer
5m, 5min, 5minutes/remind 5m take a break
2h, 2hrs, 2hours시간/remind 2h review PR
1d, 1day, 1days/remind 1d follow up on email

시간 값은 단위가 뒤따르는 숫자여야 합니다. 상대 시간("X 분/시간 후")만 지원됩니다.

자연스러운 표현을 위해 시간과 메시지 사이에 "to"라는 단어를 사용할 수 있습니다: /remind 1h to check the deployment

리마인더 작동 방식

  1. 리마인더를 만들면 ais-reminders 키 아래 IndexedDB에 저장됨
  2. 지정된 기간 동안 JavaScript setTimeout이 예약됨
  3. 타이머가 발생하면 메시지와 함께 토스트 알림이 나타남
  4. 발생 후 리마인더가 저장소에서 자동으로 제거됨

페이지 가시성 확인

리마인더는 브라우저 탭이 보일 때마다 기한이 지난 항목을 확인합니다 (Page Visibility API 사용). 이것은 리마인더가 만료되었을 때 컴퓨터가 잠자기 상태였거나 탭이 백그라운드에 있던 경우를 처리합니다.

경고

리마인더는 브라우저 탭이 열려 있어야 합니다. 서버 측 푸시 알림이 아닙니다. 탭이나 브라우저를 닫으면 리마인더는 다음에 앱을 열 때 발생합니다 (기한이 지난 경우). 하지만 기기를 깨우지는 않습니다.

활성 리마인더 보기

활성(아직 발생하지 않은) 리마인더는 IndexedDB에 저장됩니다. 현재 채팅의 확인 메시지를 통해 볼 수 있습니다. 전용 리마인더 관리 UI는 향후 릴리스에서 계획되어 있습니다.

리마인더 취소

리마인더는 한 번 발생하고 자동으로 제거됩니다. 현재 발생 전에 대기 중인 리마인더를 취소하는 명령이 없습니다. 원치 않는 리마인더를 피하려면 채팅을 지우거나 페이지를 다시 로드할 수 있습니다 (리마인더는 로드 시 저장소에서 다시 예약되므로 이것만으로는 취소되지 않습니다).

지속성

리마인더는 페이지 다시 로드에서 생존합니다. 앱이 초기화될 때:

  1. 모든 저장된 리마인더가 IndexedDB에서 로드됨
  2. 각 리마인더의 타임아웃이 저장된 만료 시간을 기반으로 다시 예약됨
  3. 리마인더가 이미 기한이 지난 경우 즉시 발생함

제한사항

제한세부 정보
브라우저 탭 필요리마인더는 클라이언트 측 전용 -- 탭이 열려 있어야 함
상대 시간만"오후 3시에" 또는 "내일 오전 9시에" 없음 -- "X 분/시간/일 후"만
반복 리마인더 없음각 리마인더는 한 번 발생
단일 기기리마인더는 브라우저에 저장되며 기기 간 동기화되지 않음
최대 타임아웃JavaScript setTimeout은 최대 ~24.8일 (2^31 ms). 이 이상의 리마인더는 정확하게 발생하지 않을 수 있음
정보

리마인더는 특정 봇과 연결됩니다. 리마인더는 봇의 ID와 함께 저장되므로 만든 대화와 연결됩니다.