1 line
4.0 KiB
JSON
1 line
4.0 KiB
JSON
{"repo": "chenzhirui0624/ai-roleplay", "files": {"src/services/storage.ts": {"ec2e50722b8d33d220c12c3c0b43318fadbd6c07": {"t": 1785746033.5258167, "n": 1850, "h": "23c311101fb811d7", "c": "import type { Character, ChatSession, AppSettings } from '../types'\n\nconst KEYS = {\n CHARACTERS: 'rp_characters',\n SESSIONS: 'rp_sessions',\n SETTINGS: 'rp_settings',\n}\n\nexport function loadCharacters(): Character[] {\n try {\n const data = localStorage.getItem(KEYS.CHARACTERS)\n return data ? JSON.parse(data) : []\n } catch {\n return []\n }\n}\n\nexport function saveCharacters(characters: Character[]): void {\n localStorage.setItem(KEYS.CHARACTERS, JSON.stringify(characters))\n}\n\nexport function loadSessions(): Record<string, ChatSession> {\n try {\n const data = localStorage.getItem(KEYS.SESSIONS)\n return data ? JSON.parse(data) : {}\n } catch {\n return {}\n }\n}\n\nexport function saveSessions(sessions: Record<string, ChatSession>): void {\n localStorage.setItem(KEYS.SESSIONS, JSON.stringify(sessions))\n}\n\nexport function saveSession(session: ChatSession): void {\n const sessions = loadSessions()\n sessions[session.id] = session\n saveSessions(sessions)\n}\n\nexport function deleteSession(characterId: string): void {\n const sessions = loadSessions()\n delete sessions[characterId]\n saveSessions(sessions)\n}\n\nexport function loadSettings(): AppSettings {\n try {\n const data = localStorage.getItem(KEYS.SETTINGS)\n if (data) return JSON.parse(data)\n } catch { /* empty */ }\n return defaultSettings()\n}\n\nexport function saveSettings(settings: AppSettings): void {\n localStorage.setItem(KEYS.SETTINGS, JSON.stringify(settings))\n}\n\nexport function defaultSettings(): AppSettings {\n return {\n api: {\n baseUrl: 'https://api.deepseek.com',\n apiKey: '',\n model: 'deepseek-chat',\n temperature: 0.8,\n maxTokens: 4096,\n minLength: 800,\n },\n jailbreak: {\n enabled: false,\n templateId: 'none',\n customPrompt: '',\n autoRewrite: false,\n },\n contextSize: 20,\n }\n}\n"}, "5408d7300a60dc50f1b3c116898d2974af5240bb": {"t": 1785759051.5832489, "n": 1828, "h": "5cf83c8858f89449", "c": "import type { Character, ChatSession, AppSettings } from '../types'\n\nconst KEYS = {\n CHARACTERS: 'rp_characters',\n SESSIONS: 'rp_sessions',\n SETTINGS: 'rp_settings',\n}\n\nexport function loadCharacters(): Character[] {\n try {\n const data = localStorage.getItem(KEYS.CHARACTERS)\n return data ? JSON.parse(data) : []\n } catch {\n return []\n }\n}\n\nexport function saveCharacters(characters: Character[]): void {\n localStorage.setItem(KEYS.CHARACTERS, JSON.stringify(characters))\n}\n\nexport function loadSessions(): Record<string, ChatSession> {\n try {\n const data = localStorage.getItem(KEYS.SESSIONS)\n return data ? JSON.parse(data) : {}\n } catch {\n return {}\n }\n}\n\nexport function saveSessions(sessions: Record<string, ChatSession>): void {\n localStorage.setItem(KEYS.SESSIONS, JSON.stringify(sessions))\n}\n\nexport function saveSession(session: ChatSession): void {\n const sessions = loadSessions()\n sessions[session.id] = session\n saveSessions(sessions)\n}\n\nexport function deleteSession(characterId: string): void {\n const sessions = loadSessions()\n delete sessions[characterId]\n saveSessions(sessions)\n}\n\nexport function loadSettings(): AppSettings {\n try {\n const data = localStorage.getItem(KEYS.SETTINGS)\n if (data) return JSON.parse(data)\n } catch { /* empty */ }\n return defaultSettings()\n}\n\nexport function saveSettings(settings: AppSettings): void {\n localStorage.setItem(KEYS.SETTINGS, JSON.stringify(settings))\n}\n\nexport function defaultSettings(): AppSettings {\n return {\n api: {\n baseUrl: 'https://api.deepseek.com',\n apiKey: '',\n model: 'deepseek-chat',\n temperature: 0.8,\n maxTokens: 2048,\n },\n jailbreak: {\n enabled: false,\n templateId: 'none',\n customPrompt: '',\n autoRewrite: false,\n },\n contextSize: 20,\n }\n}\n"}}}} |