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

Function bindDisplayedBuffer

src/stores/aiChat.ts:377–393  ·  view source on GitHub ↗

* 将当前 UI 绑定到某个 conversation buffer。 * 这里只切换显示,不会影响后台正在推理的 buffer。

(state: AIChatSessionState, bufferKey: string)

Source from the content-addressed store, hash-verified

375 * 这里只切换显示,不会影响后台正在推理的 buffer。
376 */
377 function bindDisplayedBuffer(state: AIChatSessionState, bufferKey: string): void {
378 // 保存当前对话的 token 使用量
379 const currentKey = state.currentAIChatId ?? DRAFT_AI_CHAT_KEY
380 const currentBuffer = state.aiChatBuffers[currentKey]
381 if (currentBuffer) {
382 currentBuffer.sessionTokenUsage = { ...state.sessionTokenUsage }
383 }
384
385 const buffer = getOrCreateBuffer(state, bufferKey)
386 state.currentAIChatId = bufferKey === DRAFT_AI_CHAT_KEY ? null : bufferKey
387 state.messages = buffer.messages
388 state.sourceMessages = buffer.sourceMessages
389 state.currentKeywords = buffer.currentKeywords
390 state.selectedAssistantId = buffer.assistantId
391 state.sessionTokenUsage = buffer.sessionTokenUsage ? { ...buffer.sessionTokenUsage } : createEmptyTokenUsage()
392 state.agentStatus = null
393 }
394
395 function renameBufferKey(state: AIChatSessionState, fromKey: string, toKey: string): AIChatBuffer {
396 const buffer = getOrCreateBuffer(state, fromKey)

Callers 3

loadAIChatFunction · 0.85
focusAIChatFunction · 0.85
startNewAIChatFunction · 0.85

Calls 2

getOrCreateBufferFunction · 0.85
createEmptyTokenUsageFunction · 0.85

Tested by

no test coverage detected