Skip to content

[Feature] 全局对话上下文搜索 - 跨 Agent/会话检索历史对话 #840

Description

@Clawiee

💡 Feature Request: 全局对话上下文搜索功能

Tags: feature, search, conversation, ux


Summary

增加一个全局对话上下文搜索功能,支持跨所有 Agent、跨所有会话检索历史对话内容。

Motivation

当前痛点:

  1. 对话后遗忘 - 与某个 Agent 对话后,过段时间想找回相关信息,但:

    • 不记得是哪个 Agent
    • 不记得在哪个会话
    • 只记得讨论过某个关键词/概念
  2. 逐个查找低效 - 只能:

    • 挨个进入每个 Agent 的会话列表
    • 逐个会话翻找
    • 如果有 10+ 个 Agent,每个 Agent 多个会话,效率极低
  3. 跨 Agent 关联信息 - 可能在不同 Agent 处讨论过相关话题,需要汇总查看

Proposed Solution

入口设计

  1. 全局搜索入口

    • 顶部导航栏搜索框(支持 Ctrl/Cmd + K 快捷键)
    • 输入关键词后自动搜索所有对话
  2. 搜索结果展示

    • 按相关性排序
    • 显示:对话片段摘要 + 所属 Agent + 所属会话 + 时间
    • 支持点击跳转到对应会话的对应位置

搜索能力

功能 说明
关键词搜索 匹配对话内容中的文本
时间范围 支持筛选最近 7天 / 30天 / 全部
Agent 筛选 可指定搜索某个 Agent
会话筛选 可指定搜索某个会话
上下文预览 显示匹配片段前后各 N 条消息

示例交互

用户输入:RAG 优化
搜索结果:
┌─────────────────────────────────────────────────────────┐
│ 📄 RAG 优化 - 检索增强生成调优                          │
│ "我们可以通过调整 chunk size 来优化 RAG..."            │
│ Agent: 技术助手 | 会话: RAG 调优讨论 | 3天前             │
│ [跳转到此处]                                            │
├─────────────────────────────────────────────────────────┤
│ 📄 RAG 优化 - 向量数据库选择                            │
│ "对于 RAG 场景,推荐使用 FAISS 或 Milvus..."           │
│ Agent: 数据库顾问 | 会话: 向量库选型 | 1周前            │
│ [跳转到此处]                                            │
└─────────────────────────────────────────────────────────┘

Technical Considerations

数据存储

  • 对话消息需要可索引化
  • 考虑使用全文搜索引擎(Elasticsearch/Meilisearch)或数据库全文索引

搜索字段

{
  "content": "消息内容",
  "agent_id": "所属 Agent ID",
  "agent_name": "所属 Agent 名称",
  "session_id": "所属会话 ID",
  "session_name": "所属会话名称",
  "user_id": "对话用户",
  "created_at": "创建时间",
  "updated_at": "更新时间"
}

权限控制

  • 私有会话:只能搜索到自己创建的会话
  • 共享会话:可被有权限的用户搜索到
  • 不得跨租户搜索

性能考量

  • 考虑增量索引而非全量重建
  • 对高频搜索词做缓存
  • 限制单次搜索结果数量(分页加载)

UI/UX Design

搜索弹窗(Command Palette 风格)

┌─────────────────────────────────────────────┐
│ 🔍 搜索所有对话...                    [ESC] │
├─────────────────────────────────────────────┤
│ [输入搜索关键词...]                         │
├─────────────────────────────────────────────┤
│ 筛选:                                      │
│  Agent: [全部 ▼]   时间: [全部 ▼]          │
├─────────────────────────────────────────────┤
│ 搜索结果(按相关性排序)                    │
│                                              │
│ 📄 RAG 优化建议                             │
│ "...通过调整 chunk size 来优化检索..."     │
│ 技术助手 → RAG 调优 | 2026-08-01           │
│                                              │
│ 📄 性能问题排查                             │
│ "...发现加载慢是因为没有缓存..."            │
│ 运维助手 → 问题记录 | 2026-08-03           │
│                                              │
│ [加载更多...]                               │
└─────────────────────────────────────────────┘

跳转到定位

  • 点击搜索结果后,自动打开对应 Agent → 对应会话 → 滚动到匹配消息位置
  • 高亮匹配关键词

Use Cases

场景 1:找回灵感

  • 上周和"产品助手"讨论过某个功能创意
  • 记得关键词是"用户画像"
  • 全局搜索"用户画像" → 快速定位

场景 2:跨 Agent 汇总

  • 需要整理某个项目涉及的所有讨论
  • 全局搜索项目名称 → 汇总所有 Agent 的相关对话

场景 3:审计追溯

  • 管理员需要审计某段时间内的所有对话
  • 按时间范围 + 关键词筛选

Success Metrics

  • 用户搜索后能在 3 次点击内找到目标对话
  • 搜索响应时间 < 500ms
  • 搜索结果相关性准确率 > 80%

Related Issues

可能与 #838(通讯录设计)相关,搜索功能可作为通讯录/导航的扩展能力。

Priority

High - 这是一个能显著提升用户效率的核心功能,尤其适合重度用户和多 Agent 场景。

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions