Files

63 lines
2.0 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 会话内容检索优化方案
## Goal
基于 cc-web 当前代码与存储方式,给出可按会话消息正文找回历史会话的可落地方案;本轮只调研和设计,不修改产品代码。
## Current Phase
Phase 5(已完成)
## Phases
### Phase 1: 项目上下文与边界
- [x] 读取 Trellis 工作流
- [x] 建立隔离研究目录
- **Status:** complete
### Phase 2: 现有检索链路
- [x] 确认 codebase-memory 索引
- [x] 定位前端过滤与后端列表接口
- **Status:** complete
### Phase 3: 数据与性能约束
- [x] 核查消息结构与持久化限制
- [x] 聚合真实数据规模并执行只读基准
- [x] 验证历史消息定位能力
- **Status:** complete
### Phase 4: 架构比较与推荐
- [x] 比较浏览器过滤、实时文件扫描、内存索引和 FTS/外部服务
- [x] 确定服务端内存文档索引 + 持久化增量缓存
- **Status:** complete
### Phase 5: 交付方案
- [x] 定义协议、UI、排序、增量生命周期和分期
- [x] 整理实施范围、验收标准、风险与成本
- [x] 核验源码行号和只读基准
- **Status:** complete
## 关键约束
- 本轮不修改业务代码、不重启服务。
- 优先使用 codebase-memory-mcp 理解代码,rg/sed 只校验行号与配置。
- 方案兼顾已有大量会话、中文检索、历史数据迁移和持续增量索引。
## 决策
- 首期采用服务端内存文档索引 + `sessions/_search/` 持久化增量缓存。
- 保持现有轻量 `session_list`,正文只在命中时返回受限 snippet。
- 不首期引入 SQLite/原生依赖或外部搜索服务。
## Errors Encountered
| Error | Attempt | Resolution |
|-------|---------|------------|
| 完成检查显示 `0/0 phases` | 1 | 原计划使用中文勾选列表,检查脚本只识别标准 Phase 标题与状态字段;已改用标准格式并显式传入计划路径复检。 |
| 完成检查显示 `5/6 phases` | 2 | 错误说明本身包含了检查器的标题匹配字面量,被误计为第六阶段;已改写错误说明。 |