Describe the bug
When Knowledge Mem processes threads from Hermes Agent session database, the timestamps are displayed in UTC instead of the system timezone (Asia/Shanghai / CST, UTC+8).
To Reproduce
- Have Hermes Agent sessions stored in
~/.hermes/state.db (Unix timestamps)
- Enable
autoThreadAnalysis: true in Knowledge Mem settings
- Let Knowledge Mem process the threads
- Check the generated memory files in OV storage
Expected behavior
Memory files should show timestamps in the system timezone (e.g., "Time: 2026-06-05 09:58" for a session that started at 09:58 CST).
Actual behavior
Memory files show UTC timestamps (e.g., "Time: 2026-06-05 01:58" for the same session, which is 8 hours behind CST).
Root cause analysis
The Hermes session database stores started_at as Unix timestamps (correct, timezone-agnostic). When Knowledge Mem reads these timestamps and formats them for display in the Time: line of memory files, it uses UTC instead of the system timezone.
Environment
- macOS with timezone set to Asia/Shanghai (UTC+8)
- Knowledge Mem desktop app version: 0.3.23
- Hermes Agent sessions stored in SQLite at
~/.hermes/state.db
Impact
All auto-backfilled memory entries have incorrect timestamps, making it difficult to correlate events with actual session times.
Workaround
A post-processing script that reads the correct CST times from the Hermes session DB and updates the Time: lines in memory files via the OV API.
Suggested fix
When formatting Unix timestamps for display, use the system timezone (via Intl.DateTimeFormat().resolvedOptions().timeZone in Electron, or equivalent) instead of defaulting to UTC.
Describe the bug
When Knowledge Mem processes threads from Hermes Agent session database, the timestamps are displayed in UTC instead of the system timezone (Asia/Shanghai / CST, UTC+8).
To Reproduce
~/.hermes/state.db(Unix timestamps)autoThreadAnalysis: truein Knowledge Mem settingsExpected behavior
Memory files should show timestamps in the system timezone (e.g., "Time: 2026-06-05 09:58" for a session that started at 09:58 CST).
Actual behavior
Memory files show UTC timestamps (e.g., "Time: 2026-06-05 01:58" for the same session, which is 8 hours behind CST).
Root cause analysis
The Hermes session database stores
started_atas Unix timestamps (correct, timezone-agnostic). When Knowledge Mem reads these timestamps and formats them for display in theTime:line of memory files, it uses UTC instead of the system timezone.Environment
~/.hermes/state.dbImpact
All auto-backfilled memory entries have incorrect timestamps, making it difficult to correlate events with actual session times.
Workaround
A post-processing script that reads the correct CST times from the Hermes session DB and updates the
Time:lines in memory files via the OV API.Suggested fix
When formatting Unix timestamps for display, use the system timezone (via
Intl.DateTimeFormat().resolvedOptions().timeZonein Electron, or equivalent) instead of defaulting to UTC.