Skip to content

搜索与过滤

两种互补的查找方式:会话内部的类型过滤与关键词搜索,以及一个跨越你导入的所有会话进行搜索的全局命令面板。

会话会变得很长——上千条消息是常态。Chronicle 为你提供了一种快速方式,把单个会话缩小到你关心的那些消息;同时还有一个独立的、覆盖整个应用的面板,用来回答"我到底是在哪儿做过那件事?"——当你甚至不知道那是哪个会话时。两者都不会触碰你的数据:过滤和搜索都是只读的,不会改动时间线和快照。

会话内过滤

Playback 模式下,工具栏里有一排过滤标签:

  • Conversation —— 用户消息和助手消息
  • Tool —— 工具调用及其结果
  • Thinking —— 模型的思考块

各标签以**或(OR)**逻辑组合:同时启用 Conversation Tool 就能看到两者。Tool 标签会把请求与结果配成一对,因此你会把一次调用和它的输出保留在一起,而不至于让其中一方成为孤儿。不启用任何标签则显示全部内容。一旦有任何标签或搜索词处于激活状态,就会出现一个 Clear filter 按钮。

过滤是非破坏性的——它只改变列出哪些行。TimberLine 和代码快照仍然反映完整的会话,因此你可以过滤对话而不会在时间上迷失位置。(若要真正把一个会话提炼出来并导出,那是 提炼模式——一个不同的工具。)

关键词搜索(⌘F

⌘F 聚焦到会话内的搜索框。它会针对消息文本、工具名称和工具输入实时过滤消息列表,并带有 300 毫秒防抖,让打字保持顺畅。匹配项会被内联高亮,工具栏中的计数器会显示 Match: <visible>/<total>。搜索会与类型标签组合使用——先过滤到 Tool 调用,再搜索某个文件名,你就只会得到提到它的那些工具调用。Esc 可清除搜索。

全局搜索(⌘K

命令面板是跨会话的视图。从任意位置按 ⌘K 打开它,或点击主页上的 🔍 按钮。输入查询词,Chronicle 就会在所有已导入的会话内容中搜索,按会话分组,配有高亮片段和匹配计数。

面板为你提供:

  • 范围(Scopes) —— AllCodeChat,用于把匹配限定在偏代码的内容、对话,或两者兼有。
  • 时间过滤 —— All Time、7 Days、30 Days 或 1 Year。
  • 项目过滤 —— 缩小到单个项目。
  • Recent Access —— 当查询为空时,面板会列出你最近的会话,因此它兼作快速返回的入口。
  • 键盘导航 —— / 移动,Enter 打开高亮的结果(直接跳进那个会话),Esc 关闭。

注意: 全局搜索基于 LIKE,而非全文索引。它直接扫描消息文本和工具输入,在 Chronicle 的规模下(数万行)这已经足够快。如果你的数据库某天增长到让人觉得慢的地步,那就是该重新审视的信号——在那之前,这种更简单的做法能让导入保持低开销、行为可预测。

相关内容

  • 时间旅行 —— 找到正确的消息之后,拖动定位它们所产出的代码。
  • 键盘快捷键 —— 按模式列出的每一个快捷键,包括搜索和导航。

Released under the MIT License.