Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
96 changes: 48 additions & 48 deletions docs/features/app-spotlight-search/tasks.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,77 +8,77 @@

## T1 快捷键与事件

- [ ] 新增快捷键配置项 `QuickSearch`
- [ ] 默认值设为 `CommandOrControl+P`
- [ ] 新增 `SHORTCUT_EVENTS.TOGGLE_SPOTLIGHT`
- [ ] `ShortcutPresenter` 注册 / 重注册 Spotlight 快捷键
- [ ] 快捷键设置页展示并允许修改 `QuickSearch`
- [x] 新增快捷键配置项 `QuickSearch`
- [x] 默认值设为 `CommandOrControl+P`
- [x] 新增 `SHORTCUT_EVENTS.TOGGLE_SPOTLIGHT`
- [x] `ShortcutPresenter` 注册 / 重注册 Spotlight 快捷键
- [x] 快捷键设置页展示并允许修改 `QuickSearch`

## T2 历史搜索服务

- [ ] 抽离消息可见文本抽取公共逻辑
- [ ] 新增 `deepchat_search_documents` 普通表
- [ ] 新增 `deepchat_search_documents_fts` FTS5 虚表
- [ ] 实现首次回填 / schema rebuild
- [ ] 实现会话创建 / 重命名 / 删除的索引同步
- [ ] 实现消息写入 / 编辑 / 删除的索引同步
- [ ] 实现 FTS 失败回退到 `LIKE`
- [x] 抽离"消息可见文本抽取"公共逻辑
- [x] 新增 `deepchat_search_documents` 普通表
- [x] 新增 `deepchat_search_documents_fts` FTS5 虚表
- [x] 实现首次回填 / schema rebuild
- [x] 实现会话创建 / 重命名 / 删除的索引同步
- [x] 实现消息写入 / 编辑 / 删除的索引同步
- [x] 实现 FTS 失败回退到 `LIKE`

## T3 Presenter 与共享类型

- [ ] 新增 `HistorySearchOptions`
- [ ] 新增 `HistorySearchHit / SessionHit / MessageHit`
- [ ] `IAgentSessionPresenter` 增加 `searchHistory(query, options?)`
- [ ] 补充共享类型导出
- [x] 新增 `HistorySearchOptions`
- [x] 新增 `HistorySearchHit / SessionHit / MessageHit`
- [x] `IAgentSessionPresenter` 增加 `searchHistory(query, options?)`
- [x] 补充共享类型导出

## T4 设置导航 registry

- [ ] 抽取设置页共享 registry
- [ ] 字段包含 `routeName / titleKey / icon / keywords[]`
- [ ] 设置窗口侧栏复用该 registry
- [ ] Spotlight setting items 复用该 registry
- [x] 抽取设置页共享 registry
- [x] 字段包含 `routeName / titleKey / icon / keywords[]`
- [x] 设置窗口侧栏复用该 registry
- [x] Spotlight setting items 复用该 registry

## T5 Spotlight Renderer 状态

- [ ] 新增 `spotlight store`
- [ ] 管理 `open/query/results/activeIndex/loading/requestSeq/pendingMessageJump`
- [ ] 输入 80ms debounce
- [ ] 按 requestSeq 丢弃过期响应
- [ ] 结果截断到 12 条
- [x] 新增 `spotlight store`
- [x] 管理 `open/query/results/activeIndex/loading/requestSeq/pendingMessageJump`
- [x] 输入 80ms debounce
- [x] 按 requestSeq 丢弃过期响应
- [x] 结果截断到 12 条

## T6 Spotlight UI

- [ ] 新增主聊天窗口顶层 Spotlight overlay
- [ ] 沿用 `rounded-2xl + border + bg-card/40 + backdrop-blur` 视觉样式
- [ ] 左侧 rail 增加 Spotlight 入口
- [ ] 空查询展示 `Recent Sessions + Agents + Actions`
- [ ] 查询态展示单一混排结果列表
- [ ] 增加 `kind pill`
- [ ] 支持 `Esc / ↑ / ↓ / Home / End / Enter / hover / click`
- [x] 新增主聊天窗口顶层 Spotlight overlay
- [x] 沿用 `rounded-2xl + border + bg-card/40 + backdrop-blur` 视觉样式
- [x] 左侧 rail 增加 Spotlight 入口
- [x] 空查询展示 `Recent Sessions + Agents + Actions`
- [x] 查询态展示单一混排结果列表
- [x] 增加 `kind pill`
- [x] 支持 `Esc / ↑ / ↓ / Home / End / Enter / hover / click`
- [ ] 尊重 `prefers-reduced-motion`

## T7 执行行为

- [ ] `session` 命中切会话
- [ ] `message` 命中写入 `pendingMessageJump`
- [ ] `ChatPage` 在消息加载完成后滚动并高亮目标消息
- [ ] `agent` 命中复用现有侧栏切换逻辑
- [ ] `setting` 命中打开 / 聚焦设置窗口并导航
- [ ] `action` 命中只执行非破坏性动作
- [x] `session` 命中切会话
- [x] `message` 命中写入 `pendingMessageJump`
- [x] `ChatPage` 在消息加载完成后滚动并高亮目标消息
- [x] `agent` 命中复用现有侧栏切换逻辑
- [x] `setting` 命中打开 / 聚焦设置窗口并导航
- [x] `action` 命中只执行非破坏性动作

## T8 测试

- [ ] main tests:排序、回填、增量同步、降级查询
- [ ] renderer tests:打开关闭、自动聚焦、键盘链路
- [ ] renderer tests:混排与去重
- [ ] renderer tests:message jump + scroll highlight
- [ ] renderer tests:agent / setting / action 执行
- [x] main tests:排序、回填、增量同步、降级查询
- [x] renderer tests:打开关闭、自动聚焦、键盘链路
- [x] renderer tests:混排与去重
- [x] renderer tests:message jump + scroll highlight
- [x] renderer tests:agent / setting / action 执行
- [ ] 验收场景:sidebar 收起、空查询、设置窗口聚焦

## T9 质量检查

- [ ] `pnpm run format`
- [ ] `pnpm run i18n`
- [ ] `pnpm run lint`
- [ ] `pnpm run typecheck`
- [ ] 运行相关 main / renderer 测试
- [x] `pnpm run format`
- [x] `pnpm run i18n`
- [x] `pnpm run lint`
- [x] `pnpm run typecheck`
- [x] 运行相关 main / renderer 测试
4 changes: 1 addition & 3 deletions src/renderer/src/components/WindowSideBar.vue
Original file line number Diff line number Diff line change
Expand Up @@ -1138,13 +1138,11 @@ onUnmounted(() => {
}

.window-sidebar-shell {
contain: layout style paint;
contain: layout style;
}

.window-sidebar-session-column {
backface-visibility: hidden;
transform: translateZ(0);
will-change: transform, opacity;
}

.session-list {
Expand Down
Loading