feat: several models for the assistant, each with its own name, kind, address and key; a model menu in the chat when there are several (or always, from Аккаунт › Вид), the choice kept for the user
This commit is contained in:
1 parent
ded86e1c3f
commit
983809714b
12 files changed
+411
-44
No files matched your search
@@ -4,12 +4,15 @@ import (
|
||||
"encoding/json"
|
||||
"net/http"
|
||||
"strconv"
|
||||
"strings"
|
||||
)
|
||||
|
||||
// Each user's look of the panel (Аккаунт › Вид), kept on the server so it
|
||||
// is the same on every device: where a tab's icons go, the terminal's font
|
||||
// size, a compact file list, the time column, animations, and whether a
|
||||
// terminal or file pane opened «Здесь» starts in the active pane's folder.
|
||||
// terminal or file pane opened «Здесь» starts in the active pane's folder;
|
||||
// and the assistant's model: which one, and whether the chat always offers
|
||||
// the choice.
|
||||
type viewPrefs struct {
|
||||
TabIcons string `json:"tabIcons,omitempty"` // left (default), right, hide
|
||||
TermFont int `json:"termFont,omitempty"` // 11-20; 0: the default
|
||||
@@ -17,6 +20,10 @@ type viewPrefs struct {
|
||||
FileTime string `json:"fileTime,omitempty"` // show (default), hide
|
||||
Motion string `json:"motion,omitempty"` // on (default), off
|
||||
OpenHere string `json:"openHere,omitempty"` // on (default), off
|
||||
// AIModelPick: the model menu in the chat - when there are several
|
||||
// (default) or always. AIModel: the id of the model chosen.
|
||||
AIModelPick string `json:"aiModelPick,omitempty"`
|
||||
AIModel string `json:"aiModel,omitempty"`
|
||||
}
|
||||
|
||||
func prefsKey(id int64) string { return "prefs_" + strconv.FormatInt(id, 10) }
|
||||
@@ -38,6 +45,12 @@ func (p viewPrefs) clean() viewPrefs {
|
||||
if p.OpenHere != "off" {
|
||||
p.OpenHere = ""
|
||||
}
|
||||
if p.AIModelPick != "always" {
|
||||
p.AIModelPick = ""
|
||||
}
|
||||
if len(p.AIModel) > 32 || strings.Trim(p.AIModel, "0123456789abcdefghijklmnopqrstuvwxyz") != "" {
|
||||
p.AIModel = ""
|
||||
}
|
||||
return p
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user