feat(gemini-web): Introduce stable account label for identification

This commit is contained in:
hkfires
2025-09-25 10:59:20 +08:00
parent f5dc380b63
commit 2175a10932
2 changed files with 22 additions and 0 deletions

View File

@@ -80,6 +80,22 @@ func NewGeminiWebState(cfg *config.Config, token *gemini.GeminiWebTokenStorage,
return state
}
// Label returns a stable account label for logging and persistence.
// If a storage file path is known, it uses the file base name (without extension).
// Otherwise, it falls back to the stable client ID (e.g., "gemini-web-<hash>").
func (s *GeminiWebState) Label() string {
if s == nil {
return ""
}
if s.storagePath != "" {
base := strings.TrimSuffix(filepath.Base(s.storagePath), filepath.Ext(s.storagePath))
if base != "" {
return base
}
}
return s.stableClientID
}
func (s *GeminiWebState) loadConversationCaches() {
if path := s.convStorePath(); path != "" {
if store, err := LoadConvStore(path); err == nil {