Skip to content

feat(search): 升级 package-aware 搜索并修复单字检索不稳#82

Merged
abraxas914 merged 1 commit intomainfrom
codex/pr-search-package-aware-reader
Mar 28, 2026
Merged

feat(search): 升级 package-aware 搜索并修复单字检索不稳#82
abraxas914 merged 1 commit intomainfrom
codex/pr-search-package-aware-reader

Conversation

@abraxas914
Copy link
Copy Markdown
Owner

背景

现有搜索链存在两层断裂:Threads 的 offscreen/body-search 仍以 content_text 为单一真源,Reader 与列表/高亮对单字查询的门槛也不一致。

attachments[] / citations[] / artifacts[] 已进入运行时与渲染契约后,搜索若继续只理解正文,会出现 sidecar 搜不到、能搜到但不能导航、以及单字查询忽明忽暗的问题。

本次修正

  • 引入统一的 SearchReadiness 规则:
    • 空查询不进入搜索
    • 单个 CJK 字符进入 full-text
    • 单个非 CJK 字符仅做标题/摘要命中
    • 长度 >= 2 进入 full-text
  • 将 Threads full-text 搜索从 content_text 升级为 package-aware projection,统一覆盖:
    • body
    • source
    • attachment
    • artifact
    • annotation
  • 升级 ConversationMatchSummary,新增:
    • firstMatchedSurface
    • matchedSurfaces
  • 升级 Reader 搜索模型,让 Sources / Attachments / Artifacts 命中可自动展开并定位
  • 同步更新 Threads/Reader 搜索规范与手测清单

非目标

  • 不做 schema bump
  • 不改搜索排序
  • 不引入 relevance ranking
  • 不处理 floating capsule UI 调整

验证

  • pnpm -C frontend eval:prompts --mode=mock --strict
  • frontend\\node_modules\\.bin\\tsc.cmd -p frontend\\tsconfig.json --noEmit
  • pnpm -C frontend build
  • pnpm -C vesti-web build

手测重点

  • 单个中文字符能触发 full-text 搜索
  • 单个英文字符只影响标题/摘要,不触发 full-text
  • attachment-only / artifact-only / source-only message 能在 Threads 搜到
  • Reader 命中 sidecar 时会自动展开并定位到正确项
  • Threads 的命中提示能区分 messages / sources / attachments / artifacts / notes

@abraxas914 abraxas914 merged commit df21fc4 into main Mar 28, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant