summaryrefslogtreecommitdiff
path: root/Omni/Agent
diff options
context:
space:
mode:
authorBen Sima <ben@bensima.com>2025-12-12 19:20:27 -0500
committerBen Sima <ben@bensima.com>2025-12-12 19:20:27 -0500
commitd83457550a972328dab94a7a8a636a03ecd15196 (patch)
tree77f89c430f6579dc27c98bdf71a2aaf1e16aed30 /Omni/Agent
parent74e240919d9fd895025d3c3dd96cac45c2b8de60 (diff)
Add current date/time to Telegram bot system prompt
Diffstat (limited to 'Omni/Agent')
-rw-r--r--Omni/Agent/Telegram.hs10
1 files changed, 10 insertions, 0 deletions
diff --git a/Omni/Agent/Telegram.hs b/Omni/Agent/Telegram.hs
index c5cc465..ff161db 100644
--- a/Omni/Agent/Telegram.hs
+++ b/Omni/Agent/Telegram.hs
@@ -59,6 +59,9 @@ import qualified Data.Aeson as Aeson
import qualified Data.Aeson.KeyMap as KeyMap
import qualified Data.ByteString.Lazy as BL
import qualified Data.Text as Text
+import Data.Time (getCurrentTime, utcToLocalTime)
+import Data.Time.Format (defaultTimeLocale, formatTime)
+import Data.Time.LocalTime (getCurrentTimeZone)
import qualified Network.HTTP.Client as HTTPClient
import qualified Network.HTTP.Simple as HTTP
import qualified Omni.Agent.Engine as Engine
@@ -660,8 +663,15 @@ handleAuthorizedMessage tgConfig provider engineCfg msg uid userName chatId = do
memories <- Memory.recallMemories uid userMessage 5
let memoryContext = Memory.formatMemoriesForPrompt memories
+ now <- getCurrentTime
+ tz <- getCurrentTimeZone
+ let localTime = utcToLocalTime tz now
+ timeStr = Text.pack (formatTime defaultTimeLocale "%A, %B %d, %Y at %H:%M" localTime)
+
let systemPrompt =
telegramSystemPrompt
+ <> "\n\n## Current Date and Time\n"
+ <> timeStr
<> "\n\n## What you know about this user\n"
<> memoryContext
<> "\n\n"