summaryrefslogtreecommitdiff
path: root/session.go
diff options
context:
space:
mode:
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]