feat: add conversation search and usage dashboard
This commit is contained in:
62
.planning/advanced-conversation-search/task_plan.md
Normal file
62
.planning/advanced-conversation-search/task_plan.md
Normal file
@@ -0,0 +1,62 @@
|
||||
# 高级会话检索落地计划
|
||||
|
||||
## 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。 |
|
||||
Reference in New Issue
Block a user