新增: 跨会话召回四层架构与脉络卡
- 会话终态提炼: 删除前+停靠双挂点,快照与清水位同临界区 - 目标快照: 恢复引导按最终有效意图生成,旧目标不复活 - 知识检索项目维度软排序,WorkingContext 持久化迁移 - 脉络卡: published 知识按项目聚合纯读侧,带入上下文经输入框显式注入 - 压缩与缓存能力在主循环/子代理/提示词三面接线 - 两份专项设计文档与看板销账
This commit is contained in:
@@ -153,7 +153,7 @@ import { useAppSettingsStore } from '../../stores/appSettings'
|
||||
import { getConvState } from '../../composables/ai/useAiEvents'
|
||||
import { continueList, exitListOnBackspace } from '../../composables/ai/useListContinuation'
|
||||
import { textIdle } from '../../composables/ai/useAiPendingState'
|
||||
import { getConvDraft, setConvDraft, classifySendError, type SendErrorKind } from '../../composables/ai/aiShared'
|
||||
import { getConvDraft, setConvDraft, classifySendError, convDraftAppends, takeConvDraftAppend, type SendErrorKind } from '../../composables/ai/aiShared'
|
||||
import { extractImageUrlParts } from '../../composables/ai/utils'
|
||||
import { uploadFile } from '../../composables/ai/fileUpload'
|
||||
import { open } from '@tauri-apps/plugin-dialog'
|
||||
@@ -1207,6 +1207,23 @@ watch(() => store.state.activeConversationId, (nv, ov) => {
|
||||
})
|
||||
})
|
||||
|
||||
// ── 脉络卡「带入上下文」外部投递:以输入框实时内容为基底追加(草稿 Map 不含键入
|
||||
// 过程,直接写 Map 会丢当前输入),一次性消费防重放;追加后聚焦输入框由用户决断 ──
|
||||
watch(
|
||||
() => convDraftAppends.has(store.state.activeConversationId ?? ''),
|
||||
(has) => {
|
||||
if (!has) return
|
||||
const convId = store.state.activeConversationId
|
||||
const chunk = takeConvDraftAppend(convId)
|
||||
if (!chunk) return
|
||||
inputText.value = inputText.value ? `${inputText.value}\n${chunk}` : chunk
|
||||
nextTick(() => {
|
||||
autoResize()
|
||||
focus()
|
||||
})
|
||||
},
|
||||
)
|
||||
|
||||
// ── I5 发送失败错误分类文案:类别到 i18n 键的映射(分类逻辑在 aiShared.classifySendError)。
|
||||
// other 复用既有 toastSendFail 文案,行为与改造前一致 ──
|
||||
const SEND_ERR_KEY: Record<SendErrorKind, string> = {
|
||||
|
||||
Reference in New Issue
Block a user