날짜와 시간
OpenClaw는 전송 타임스탬프에 호스트 로컬 시간을, 시스템 프롬프트에는 사용자 시간대만 사용하는 것이 기본값입니다.
공급자 타임스탬프는 그대로 보존되므로 도구는 고유한 시맨틱을 유지합니다(현재 시각은 session_status로 확인할 수 있습니다).
메시지 엔벨로프 (기본: 로컬 시간)
수신 메시지에는 분 단위 타임스탬프가 붙습니다.
[Provider ... 2026-01-05 16:26 PST] message text
이 엔벨로프 타임스탬프는 공급자 시간대와 관계없이 기본적으로 호스트 로컬 시간을 사용합니다.
다음과 같이 동작을 변경할 수 있습니다.
{
agents: {
defaults: {
envelopeTimezone: "local", // "utc" | "local" | "user" | IANA 시간대
envelopeTimestamp: "on", // "on" | "off"
envelopeElapsed: "on", // "on" | "off"
},
},
}
envelopeTimezone: "utc"— UTC를 사용합니다.envelopeTimezone: "local"— 호스트 시간대를 사용합니다.envelopeTimezone: "user"—agents.defaults.userTimezone를 사용합니다(미설정 시 호스트 시간대로 대체).- 명시적 IANA 시간대(예:
"America/Chicago")를 지정하면 고정 시간대를 사용합니다. envelopeTimestamp: "off"— 엔벨로프 헤더에서 절대 타임스탬프를 제거합니다.envelopeElapsed: "off"— 경과 시간 접미사(+2m형식)를 제거합니다.
예시
로컬 (기본값):
[WhatsApp +1555 2026-01-18 00:19 PST] hello
사용자 시간대:
[WhatsApp +1555 2026-01-18 00:19 CST] hello
경과 시간 활성화:
[WhatsApp +1555 +30s 2026-01-18T05:19Z] follow-up
시스템 프롬프트: 현재 날짜와 시간
사용자 시간대를 알고 있으면 시스템 프롬프트에 시간대만 포함하는 Current Date & Time 섹션이 추가됩니다. 프롬프트 캐싱 안정성을 위해 시계/시간 형식은 포함하지 않습니다.
Time zone: America/Chicago
에이전트가 현재 시각을 알아야 할 때는 session_status 도구를 사용하세요. 상태 카드에 타임스탬프가 포함되어 있습니다.
시스템 이벤트 줄 (기본: 로컬 시간)
에이전트 컨텍스트에 삽입되는 큐 시스템 이벤트는 메시지 엔벨로프와 동일한 시간대(기본: 호스트 로컬)로 타임스탬프가 붙습니다.
System: [2026-01-12 12:19:17 PST] Model switched.
사용자 시간대 + 형식 설정
{
agents: {
defaults: {
userTimezone: "America/Chicago",
timeFormat: "auto", // auto | 12 | 24
},
},
}
userTimezone— 프롬프트 컨텍스트에 사용할 사용자 로컬 시간대를 설정합니다.timeFormat— 프롬프트에서 12시간/24시간 표시를 제어합니다.auto는 OS 설정을 따릅니다.
시간 형식 감지 (auto)
timeFormat: "auto"일 때 OpenClaw는 OS 설정(macOS/Windows)을 확인하고, 확인할 수 없으면 로캘 포맷팅으로 대체합니다. 감지된 값은 반복적인 시스템 호출을 피하기 위해 프로세스 단위로 캐시됩니다.
도구 페이로드 + 커넥터 (공급자 원시 시간 + 정규화 필드)
채널 도구는 공급자 고유 타임스탬프를 반환하고, 일관성을 위해 정규화 필드를 추가합니다.
timestampMs: 에포크 밀리초 (UTC)timestampUtc: ISO 8601 UTC 문자열
공급자 원시 필드는 그대로 보존되므로 데이터 손실이 없습니다.
- Slack: API에서 제공하는 에포크 형태 문자열
- Discord: UTC ISO 타임스탬프
- Telegram/WhatsApp: 공급자별 숫자/ISO 타임스탬프
로컬 시간이 필요하면 알려진 시간대를 사용해 다운스트림에서 변환하세요.