diff --git a/package.json b/package.json index e2dffb1a24..b4d5ad0d68 100644 --- a/package.json +++ b/package.json @@ -33,6 +33,7 @@ "@electron-toolkit/tsconfig": "^1.0.1", "@fontsource/inter": "^5.0.18", "@hello-pangea/dnd": "^16.6.0", + "@kangfenmao/keyv-storage": "^0.1.0", "@reduxjs/toolkit": "^2.2.5", "@types/lodash": "^4.17.5", "@types/node": "^18.19.9", diff --git a/src/renderer/src/env.d.ts b/src/renderer/src/env.d.ts index 1e06e65853..8a9efb43db 100644 --- a/src/renderer/src/env.d.ts +++ b/src/renderer/src/env.d.ts @@ -2,10 +2,12 @@ import { MessageInstance } from 'antd/es/message/interface' import { HookAPI } from 'antd/es/modal/useModal' +import type KeyvStorage from '@kangfenmao/keyv-storage' declare global { interface Window { message: MessageInstance modal: HookAPI + keyv: KeyvStorage } } diff --git a/src/renderer/src/init.ts b/src/renderer/src/init.ts index 8c8726d345..5f9e6ebf77 100644 --- a/src/renderer/src/init.ts +++ b/src/renderer/src/init.ts @@ -1,4 +1,5 @@ import localforage from 'localforage' +import KeyvStorage from '@kangfenmao/keyv-storage' function init() { localforage.config({ @@ -8,6 +9,8 @@ function init() { storeName: 'cherryai', description: 'Cherry Studio Storage' }) + window.keyv = new KeyvStorage() + window.keyv.init() } init() diff --git a/yarn.lock b/yarn.lock index 54cc080325..41652faf84 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1051,6 +1051,13 @@ __metadata: languageName: node linkType: hard +"@kangfenmao/keyv-storage@npm:^0.1.0": + version: 0.1.0 + resolution: "@kangfenmao/keyv-storage@npm:0.1.0" + checksum: 10c0/647cf2d2f2e403ec91d1835546aa08bc6af1468a2823c3aa2cef883bacf67eb1a88bb97be1b4c0a09bc3ed69dba2ccbb8ecc3fd13242e84d4e234d5b77707156 + languageName: node + linkType: hard + "@malept/cross-spawn-promise@npm:^1.1.0": version: 1.1.1 resolution: "@malept/cross-spawn-promise@npm:1.1.1" @@ -2628,6 +2635,7 @@ __metadata: "@electron-toolkit/utils": "npm:^3.0.0" "@fontsource/inter": "npm:^5.0.18" "@hello-pangea/dnd": "npm:^16.6.0" + "@kangfenmao/keyv-storage": "npm:^0.1.0" "@reduxjs/toolkit": "npm:^2.2.5" "@types/lodash": "npm:^4.17.5" "@types/node": "npm:^18.19.9"