Files
cc-web/.planning/advanced-conversation-search/task_plan.md

63 lines
2.2 KiB
Markdown
Raw 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
保留现有侧栏检索全部行为,在旁边新增高级检索入口,落地可检索用户/助手消息正文、展示命中摘要并定位原消息的独立检索工作台。
## Current Phase
Complete
## Phases
### Phase 1: 规格与基线
- [x] 归档参考图并记录哈希
- [x] 审计相关实现、测试与主题边界
- [x] 完成计划审查
- **Status:** complete
### Phase 2: 服务端检索能力
- [x] 实现零依赖内存文档索引和缓存
- [x] 缓存按 version + 文件 dev/ino/size/mtime 校验,缺失或损坏时后台分批重建
- [x] 接入会话生命周期
- [x] 接入 WebSocket 协议、限流和状态(query≤200、limit≤50、snippet≤2×220)
- **Status:** complete
### Phase 3: 高级检索前端
- [x] 保持现有检索代码不变并新增旁路按钮
- [x] 实现独立面板、结果流、排序和匹配模式
- [x] 结果携带 messageIndex;打开会话时按目标索引预取历史块并定位命中消息
- **Status:** complete
### Phase 4: 视觉与回归
- [x] 按参考图完成无卡片结果流、响应式和主题适配
- [x] 增加回归、性能和安全断言
- [x] 更新静态资源缓存版本
- **Status:** complete
### Phase 5: 验证与交付
- [x] 运行语法、专项/主题/全量回归与 diff 检查
- [x] 在真实 Chromium 完成参考、桌面和移动视口验收
- [x] 清理 TODO CSV 并完成 Trellis 记录
- **Status:** complete
## 关键约束
- `normalizeSessionSearchQuery/getSessionSearchText/sessionMatchesSearch` 及现有输入事件语义保持不变。
- 高级检索作为独立入口和独立状态机,不把消息正文塞入 `session_list`。
- 首期不引入第三方运行依赖,不改变现有会话 JSON schema。
- 搜索词不写日志;结果只返回受限摘要,不返回完整历史。
- 使用中文注释和文档;不覆盖用户已有改动。
## Errors Encountered
| Error | Attempt | Resolution |
|-------|---------|------------|
| 子代理使用 full-history fork 时同时指定 agent_type 被拒绝 | 1 | 改用 `fork_turns: none` 并在任务消息中提供完整只读上下文。 |
| wait_agent 使用 1000ms 被拒绝 | 1 | 工具最小等待为 10000ms,后续改用 10000ms。 |