Files
Selig 4c966a3ad2 Initial commit: OpenClaw Skill Collection
6 custom skills (assign-task, dispatch-webhook, daily-briefing,
task-capture, qmd-brain, tts-voice) with technical documentation.
Compatible with Claude Code, OpenClaw, Codex CLI, and OpenCode.
2026-03-13 10:58:30 +08:00

50 lines
3.5 KiB
JSON
Executable File

{
"title": "Timezones",
"content": "OpenClaw standardizes timestamps so the model sees a **single reference time**.\n\n## Message envelopes (local by default)\n\nInbound messages are wrapped in an envelope like:\n\nThe timestamp in the envelope is **host-local by default**, with minutes precision.\n\nYou can override this with:\n\n* `envelopeTimezone: \"utc\"` uses UTC.\n* `envelopeTimezone: \"user\"` uses `agents.defaults.userTimezone` (falls back to host timezone).\n* Use an explicit IANA timezone (e.g., `\"Europe/Vienna\"`) for a fixed offset.\n* `envelopeTimestamp: \"off\"` removes absolute timestamps from envelope headers.\n* `envelopeElapsed: \"off\"` removes elapsed time suffixes (the `+2m` style).\n\n## Tool payloads (raw provider data + normalized fields)\n\nTool calls (`channels.discord.readMessages`, `channels.slack.readMessages`, etc.) return **raw provider timestamps**.\nWe also attach normalized fields for consistency:\n\n* `timestampMs` (UTC epoch milliseconds)\n* `timestampUtc` (ISO 8601 UTC string)\n\nRaw provider fields are preserved.\n\n## User timezone for the system prompt\n\nSet `agents.defaults.userTimezone` to tell the model the user's local time zone. If it is\nunset, OpenClaw resolves the **host timezone at runtime** (no config write).\n\nThe system prompt includes:\n\n* `Current Date & Time` section with local time and timezone\n* `Time format: 12-hour` or `24-hour`\n\nYou can control the prompt format with `agents.defaults.timeFormat` (`auto` | `12` | `24`).\n\nSee [Date & Time](/date-time) for the full behavior and examples.",
"code_samples": [
{
"code": "[Provider ... 2026-01-05 16:26 PST] message text",
"language": "unknown"
},
{
"code": "* `envelopeTimezone: \"utc\"` uses UTC.\n* `envelopeTimezone: \"user\"` uses `agents.defaults.userTimezone` (falls back to host timezone).\n* Use an explicit IANA timezone (e.g., `\"Europe/Vienna\"`) for a fixed offset.\n* `envelopeTimestamp: \"off\"` removes absolute timestamps from envelope headers.\n* `envelopeElapsed: \"off\"` removes elapsed time suffixes (the `+2m` style).\n\n### Examples\n\n**Local (default):**",
"language": "unknown"
},
{
"code": "**Fixed timezone:**",
"language": "unknown"
},
{
"code": "**Elapsed time:**",
"language": "unknown"
},
{
"code": "## Tool payloads (raw provider data + normalized fields)\n\nTool calls (`channels.discord.readMessages`, `channels.slack.readMessages`, etc.) return **raw provider timestamps**.\nWe also attach normalized fields for consistency:\n\n* `timestampMs` (UTC epoch milliseconds)\n* `timestampUtc` (ISO 8601 UTC string)\n\nRaw provider fields are preserved.\n\n## User timezone for the system prompt\n\nSet `agents.defaults.userTimezone` to tell the model the user's local time zone. If it is\nunset, OpenClaw resolves the **host timezone at runtime** (no config write).",
"language": "unknown"
}
],
"headings": [
{
"level": "h2",
"text": "Message envelopes (local by default)",
"id": "message-envelopes-(local-by-default)"
},
{
"level": "h3",
"text": "Examples",
"id": "examples"
},
{
"level": "h2",
"text": "Tool payloads (raw provider data + normalized fields)",
"id": "tool-payloads-(raw-provider-data-+-normalized-fields)"
},
{
"level": "h2",
"text": "User timezone for the system prompt",
"id": "user-timezone-for-the-system-prompt"
}
],
"url": "llms-txt#timezones",
"links": []
}