新增: F-15阶段2手动上下文管理(2 IPC+3事件+前端按钮+status渲染)

This commit is contained in:
2026-06-17 01:09:41 +08:00
parent 7fd29e68c3
commit 4194842561
10 changed files with 751 additions and 36 deletions

View File

@@ -90,6 +90,25 @@ export const aiApi = {
return invoke('ai_chat_stop')
},
// ── F-15 阶段2: 手动上下文管理(清空 / 压缩) ──
// 后端经 ai-chat-event emit 生命周期事件:
// ai_context_cleared { conversation_id } — 清空完成
// ai_compressing { conversation_id } — 压缩开始(loading)
// ai_compressed { conversation_id, summary } — 压缩成功(摘要随事件到前端)
// ai_error { message, conversation_id } — 压缩失败
// 历史消息落库时 status 标 archived_segment(清空)/ compressed(压缩),
// 前端按 status 折叠成"已归档/已压缩"分隔条(可展开看原文)。
/** 清空当前对话上下文(历史消息归档保留,DB 不删;新对话不受影响) */
clearContext(conversationId: string): Promise<void> {
return invoke('ai_chat_clear_context', { conversationId })
},
/** 压缩当前对话上下文(LLM 摘要落 system 消息 + 历史消息标 compressed 归档) */
compressContext(conversationId: string, language: string): Promise<void> {
return invoke('ai_chat_compress_context', { conversationId, language })
},
/** 列出所有 AI 提供商 */
listProviders(): Promise<AiProviderConfig[]> {
return invoke('ai_list_providers')