Skip to content

날짜 / 위치 / 알림

날짜 (due_date + due_time)

자연어 인식

create_taskcontent 안에 시간 표현 → 자동 파싱:

입력파싱 결과 (한국 기준 2026-05-07 목요일)
"내일 오전 10시"due_date: "2026-05-08T10:00:00+09:00"
"다음주 화요일"due_date: "2026-05-12" (시간 없음 → is_all_day 가능)
"오늘 저녁 7시"due_date: "2026-05-07T19:00:00+09:00"
"5월 20일 3시"due_date: "2026-05-20T15:00:00+09:00"
"30분 후"due_date = now + 30 min

명시적 ISO 8601 도 가능:

json
{ "content": "회의", "due_date": "2026-05-08T10:00:00+09:00" }

due_date + due_time 분리

due_date 가 시간 없을 때 due_time 만 따로:

json
{ "content": "회의", "due_date": "2026-05-08", "due_time": "10:00" }

종일 일정

json
{ "content": "휴가", "due_date": "2026-05-08", "is_all_day": true }

다일 이벤트

json
{
  "content": "출장",
  "start_date": "2026-05-08",
  "due_date": "2026-05-10",
  "is_all_day": true
}

위치 (location + GPS)

사람용 텍스트

json
{ "content": "강남역 미팅", "location": "강남역 3번 출구 스타벅스" }

표시할 때 그대로 노출. list_taskslocation 필터에서 부분 일치 검색.

GPS 좌표

json
{
  "content": "스벅",
  "location": "Starbucks Gangnam",
  "location_lat": 37.4979,
  "location_lng": 127.0276
}

iOS/Android 앱에서 지도 표시 가능.

이동시간 (travel_time)

마감 시각 N분 전 이동 시간 확보 (알림 스케줄링 영향):

json
{
  "content": "강남역 미팅",
  "due_date": "2026-05-08T10:00:00+09:00",
  "travel_time": 30,
  "notification_minutes_before": 60
}

→ 마감 60분 전 알림 + 30분 전엔 "이동 시간" 표시.

알림 (notification_minutes_before)

기본

json
{
  "content": "회의",
  "due_date": "2026-05-08T10:00:00+09:00",
  "notification_minutes_before": 30
}

→ 09:30 에 푸시 (FCM/APNs/Telegram/Web Push 모두).

알림 제거 (update 시)

json
{ "id": "uuid", "notification_minutes_before": null }

null 명시적 전달 → 기존 MCP reminder 제거.

다중 채널 / 다중 시점

현재 MCP 도구는 단일 알림만 (notification_minutes_before). 다중 알림은 웹 UI 또는 update_task 후 다시 push.

반복 (repeat_rule)

단순 패턴

json
{
  "content": "주간 회고",
  "due_date": "2026-05-10T14:00:00+09:00",
  "repeat_rule": "weekly"
}

값: daily / weekly / monthly / yearly.

RRULE (iCalendar)

json
{ "repeat_rule": "FREQ=WEEKLY;BYDAY=MO,WE,FR;UNTIL=20261231T235959Z" }

서버가 부분 지원. 자세한 spec 은 RFC 5545.

인스턴스 vs 마스터

반복 설정 task 는 "마스터". 표시되는 건 recurring_instances:

  • 마스터 수정 → 모든 미래 인스턴스 영향
  • 단일 인스턴스 수정 → 그것만 (예외)

우선순위 (is_important)

true 면 별표 + 모든 list 에서 우선 정렬.

json
{ "content": "긴급 패치", "is_important": true }

다음

MIT License · ainote.dev