Skip to content

feat: 发布 0.1.0 本地会话检索补充层 - #48

Closed
fanbuz wants to merge 1 commit into
mainfrom
codex/0.1.0-local-session-search
Closed

fanbuz wants to merge 1 commit into
mainfrom
codex/0.1.0-local-session-search

Conversation

@fanbuz

@fanbuz fanbuz commented Jul 29, 2026

Copy link
Copy Markdown
Owner

当前目标

将 codex-threads 收敛为 Codex 原生线程能力的本地历史检索补充层,并发布 0.1.0。

变更范围

  • 删除 experimental restore-app-thread 及 Codex App 私有状态写入
  • 搜索与 context JSON 增加 source / handoff,候选 session_id 先交给原生线程能力确认
  • 引入 v2 contentless FTS 索引、受限线程聚合和低信号事件过滤
  • 修复带连字符/符号查询退化为 LIKE 全表扫描的问题
  • 新增 Local Codex Session Search Skill,明确排除创建、续聊、fork、发送消息和线程管理
  • 增加升级说明、路线图和可复现的真实会话库基准

迁移影响

首次打开旧索引时会清空可重建的派生索引并设置 rebuild_required;原始 ~/.codex/sessions 不会修改。升级后需执行:

codex-threads --json sync --force

基准

2026-07-29,本地 1,331 个会话文件、4,102,492,311 字节:

  • v2 索引:588,685,484 字节(约 561 MiB)
  • 完整重建:24.075 秒,失败文件 0
  • threads search codex-threads:6 ms,FTS literal
  • 旧版索引约 3.0 GB,同查询 7.28 秒并回退 LIKE

验证

  • cargo fmt --all
  • cargo test --locked
  • cargo clippy --locked --all-targets -- -D warnings
  • cargo build --release --locked
  • python3 -m unittest discover scripts/tests
  • Skill quick_validate.py
  • git diff --check
  • 真实 3.82 GiB 会话库全量重建与三类查询基准

Closes #43
Closes #44
Closes #45
Closes #46
Closes #47

@fanbuz

fanbuz commented Jul 29, 2026

Copy link
Copy Markdown
Owner Author

@codex review

2 similar comments
@fanbuz

fanbuz commented Jul 29, 2026

Copy link
Copy Markdown
Owner Author

@codex review

@fanbuz

fanbuz commented Aug 4, 2026

Copy link
Copy Markdown
Owner Author

@codex review

@fanbuz
fanbuz marked this pull request as draft August 4, 2026 01:32
@fanbuz
fanbuz marked this pull request as ready for review August 4, 2026 01:32
@fanbuz

fanbuz commented Aug 4, 2026

Copy link
Copy Markdown
Owner Author

Codex Review 在仓库启用前未接管此 PR;使用同一已验证分支新建 PR,以触发启用后的审核。

@fanbuz fanbuz closed this Aug 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant