diff --git a/models/chaite/cloud.js b/models/chaite/cloud.js index c0b6b5c..5b31b51 100644 --- a/models/chaite/cloud.js +++ b/models/chaite/cloud.js @@ -19,7 +19,7 @@ import { ChatGPTUserModeSelector } from './user_mode_selector.js' import { LowDBUserStateStorage } from './user_state_storage.js' import { LowDBHistoryManager } from './history_manager.js' import { VectraVectorDatabase } from './vector_database.js' -import ChatGPTStorage from '../storage.js' +import ChatGPTStorage, {ChatGPTHistoryStorage} from '../storage.js' import path from 'path' import fs from 'fs' import { migrateDatabase } from '../../utils/initDB.js' @@ -133,7 +133,7 @@ export async function initChaite () { const toolsGroupManager = await ToolsGroupManager.init(new LowDBToolsGroupDTOsStorage(ChatGPTStorage)) const userModeSelector = new ChatGPTUserModeSelector() const userStateStorage = new LowDBUserStateStorage(ChatGPTStorage) - const historyManager = new LowDBHistoryManager(ChatGPTStorage) + const historyManager = new LowDBHistoryManager(ChatGPTHistoryStorage) let chaite = Chaite.init(channelsManager, toolsManager, processorsManager, chatPresetManager, toolsGroupManager, userModeSelector, userStateStorage, historyManager, logger) logger.info('Chaite 初始化完成') diff --git a/models/storage.js b/models/storage.js index 1117833..02f4b12 100644 --- a/models/storage.js +++ b/models/storage.js @@ -362,4 +362,17 @@ const ChatGPTStorage = new LowDBStorage({ directory: dataDir }) +if (ChatGPTStorage.db.data.collections.history) { + ChatGPTStorage.dropCollection('history').then(() => { + logger.debug('drop older version history collection') + }).catch(err => { + logger.warn('failed to drop older version history collection', err) + }) +} + +export const ChatGPTHistoryStorage = new LowDBStorage({ + filename: 'history.json', + directory: dataDir +}) + export default ChatGPTStorage