MCPcopy Create free account
hub / github.com/ChatLab/ChatLab / saveAIChatMessages

Function saveAIChatMessages

src/stores/aiChat.ts:1313–1343  ·  view source on GitHub ↗
(
    aiChatId: string | null,
    userMsg: ChatMessage,
    aiMsg: ChatMessage,
    tokenUsage?: TokenUsage
  )

Source from the content-addressed store, hash-verified

1311 }
1312
1313 async function saveAIChatMessages(
1314 aiChatId: string | null,
1315 userMsg: ChatMessage,
1316 aiMsg: ChatMessage,
1317 tokenUsage?: TokenUsage
1318 ): Promise<{ userMessage: ChatMessage; assistantMessage: ChatMessage } | null> {
1319 try {
1320 if (!aiChatId) {
1321 return null
1322 }
1323
1324 const savedUserMessage = await useAIService().addMessage(aiChatId, 'user', userMsg.content)
1325 const serializableContentBlocks = toSerializableContentBlocks(aiMsg.contentBlocks)
1326 const savedAssistantMessage = await useAIService().addMessage(
1327 aiChatId,
1328 'assistant',
1329 aiMsg.content,
1330 undefined,
1331 undefined,
1332 serializableContentBlocks,
1333 tokenUsage
1334 )
1335 return {
1336 userMessage: toRuntimeMessage(savedUserMessage),
1337 assistantMessage: toRuntimeMessage(savedAssistantMessage),
1338 }
1339 } catch (error) {
1340 console.error('[AI] 保存对话失败:', error)
1341 return null
1342 }
1343 }
1344
1345 async function buildReadySerializablePreprocessConfig() {
1346 const preprocessConfig = settingsStore.aiPreprocessConfig

Callers 1

sendMessageFunction · 0.85

Calls 5

useAIServiceFunction · 0.90
toRuntimeMessageFunction · 0.85
addMessageMethod · 0.65
errorMethod · 0.65

Tested by

no test coverage detected