搜索与过滤
两种互补的查找方式:会话内部的类型过滤与关键词搜索,以及一个跨越你导入的所有会话进行搜索的全局命令面板。
会话会变得很长——上千条消息是常态。Chronicle 为你提供了一种快速方式,把单个会话缩小到你关心的那些消息;同时还有一个独立的、覆盖整个应用的面板,用来回答"我到底是在哪儿做过那件事?"——当你甚至不知道那是哪个会话时。两者都不会触碰你的数据:过滤和搜索都是只读的,不会改动时间线和快照。
会话内过滤
在 Playback 模式下,工具栏里有一排过滤标签:
- Conversation —— 用户消息和助手消息
- Tool —— 工具调用及其结果
- Thinking —— 模型的思考块
各标签以**或(OR)**逻辑组合:同时启用 Conversation 和 Tool 就能看到两者。Tool 标签会把请求与结果配成一对,因此你会把一次调用和它的输出保留在一起,而不至于让其中一方成为孤儿。不启用任何标签则显示全部内容。一旦有任何标签或搜索词处于激活状态,就会出现一个 Clear filter 按钮。
过滤是非破坏性的——它只改变列出哪些行。TimberLine 和代码快照仍然反映完整的会话,因此你可以过滤对话而不会在时间上迷失位置。(若要真正把一个会话提炼出来并导出,那是 提炼模式——一个不同的工具。)
关键词搜索(⌘F)
按 ⌘F 聚焦到会话内的搜索框。它会针对消息文本、工具名称和工具输入实时过滤消息列表,并带有 300 毫秒防抖,让打字保持顺畅。匹配项会被内联高亮,工具栏中的计数器会显示 Match: <visible>/<total>。搜索会与类型标签组合使用——先过滤到 Tool 调用,再搜索某个文件名,你就只会得到提到它的那些工具调用。Esc 可清除搜索。
全局搜索(⌘K)
命令面板是跨会话的视图。从任意位置按 ⌘K 打开它,或点击主页上的 🔍 按钮。输入查询词,Chronicle 就会在所有已导入的会话内容中搜索,按会话分组,配有高亮片段和匹配计数。
面板为你提供:
- 范围(Scopes) —— All、Code 或 Chat,用于把匹配限定在偏代码的内容、对话,或两者兼有。
- 时间过滤 —— All Time、7 Days、30 Days 或 1 Year。
- 项目过滤 —— 缩小到单个项目。
- Recent Access —— 当查询为空时,面板会列出你最近的会话,因此它兼作快速返回的入口。
- 键盘导航 ——
↑/↓移动,Enter打开高亮的结果(直接跳进那个会话),Esc关闭。
注意: 全局搜索基于
LIKE,而非全文索引。它直接扫描消息文本和工具输入,在 Chronicle 的规模下(数万行)这已经足够快。如果你的数据库某天增长到让人觉得慢的地步,那就是该重新审视的信号——在那之前,这种更简单的做法能让导入保持低开销、行为可预测。