summaryrefslogtreecommitdiff
path: root/session.go
diff options
context:
space:
mode:
authorGrail Finder <wohilas@gmail.com>2025-04-06 13:59:44 +0300
committerGrail Finder <wohilas@gmail.com>2025-04-06 13:59:44 +0300
commitd2e48468350ff315ca54663dbe2783c6e6eddcb2 (patch)
tree2eca48fbfbb20c2f4fe584aa53260ece8788b3d6 /session.go
parent4a9c90af3f3b8c9d5d382892b8f3392df0b5d212 (diff)
Feat: import chat on f11
Diffstat (limited to 'session.go')
-rw-r--r--session.go19
1 files changed, 19 insertions, 0 deletions
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]