From d2e48468350ff315ca54663dbe2783c6e6eddcb2 Mon Sep 17 00:00:00 2001 From: Grail Finder Date: Sun, 6 Apr 2025 13:59:44 +0300 Subject: Feat: import chat on f11 --- session.go | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'session.go') diff --git a/session.go b/session.go index 7d790f3..8ffabc2 100644 --- a/session.go +++ b/session.go @@ -7,6 +7,7 @@ import ( "fmt" "os" "os/exec" + "path/filepath" "strings" "time" ) @@ -34,6 +35,24 @@ func exportChat() error { return os.WriteFile(activeChatName+".json", data, 0666) } +func importChat(filename string) error { + data, err := os.ReadFile(filename) + if err != nil { + return err + } + messages := []models.RoleMsg{} + if err := json.Unmarshal(data, &messages); err != nil { + return err + } + activeChatName = filepath.Base(filename) + chatBody.Messages = messages + cfg.AssistantRole = messages[1].Role + if cfg.AssistantRole == cfg.UserRole { + cfg.AssistantRole = messages[2].Role + } + return nil +} + func updateStorageChat(name string, msgs []models.RoleMsg) error { var err error chat, ok := chatMap[name] -- cgit v1.2.3