fix: history单独存

This commit is contained in:
ikechan8370 2025-03-26 12:08:40 +08:00
parent fcbdf51eb8
commit 4216e64ed6
2 changed files with 15 additions and 2 deletions

View file

@ -19,7 +19,7 @@ import { ChatGPTUserModeSelector } from './user_mode_selector.js'
import { LowDBUserStateStorage } from './user_state_storage.js' import { LowDBUserStateStorage } from './user_state_storage.js'
import { LowDBHistoryManager } from './history_manager.js' import { LowDBHistoryManager } from './history_manager.js'
import { VectraVectorDatabase } from './vector_database.js' import { VectraVectorDatabase } from './vector_database.js'
import ChatGPTStorage from '../storage.js' import ChatGPTStorage, {ChatGPTHistoryStorage} from '../storage.js'
import path from 'path' import path from 'path'
import fs from 'fs' import fs from 'fs'
import { migrateDatabase } from '../../utils/initDB.js' import { migrateDatabase } from '../../utils/initDB.js'
@ -133,7 +133,7 @@ export async function initChaite () {
const toolsGroupManager = await ToolsGroupManager.init(new LowDBToolsGroupDTOsStorage(ChatGPTStorage)) const toolsGroupManager = await ToolsGroupManager.init(new LowDBToolsGroupDTOsStorage(ChatGPTStorage))
const userModeSelector = new ChatGPTUserModeSelector() const userModeSelector = new ChatGPTUserModeSelector()
const userStateStorage = new LowDBUserStateStorage(ChatGPTStorage) const userStateStorage = new LowDBUserStateStorage(ChatGPTStorage)
const historyManager = new LowDBHistoryManager(ChatGPTStorage) const historyManager = new LowDBHistoryManager(ChatGPTHistoryStorage)
let chaite = Chaite.init(channelsManager, toolsManager, processorsManager, chatPresetManager, toolsGroupManager, let chaite = Chaite.init(channelsManager, toolsManager, processorsManager, chatPresetManager, toolsGroupManager,
userModeSelector, userStateStorage, historyManager, logger) userModeSelector, userStateStorage, historyManager, logger)
logger.info('Chaite 初始化完成') logger.info('Chaite 初始化完成')

View file

@ -362,4 +362,17 @@ const ChatGPTStorage = new LowDBStorage({
directory: dataDir 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 export default ChatGPTStorage