关于 recall
recall 是用于搜索 Claude Code、Codex、pi 和 Grok 历史会话的命令行技能,支持全文检索、筛选及从结果中恢复会话。
主要功能
- 01按 BM25 排序的全文搜索
- 02支持英文词干和中日韩匹配
- 03按项目、日期或来源筛选
- 04按最近时间列出会话
- 05重建索引并提供记录路径
适用场景
- 01按关键词或短语查找过往讨论
- 02查看特定项目或时间范围的会话
- 03定位记录并恢复相应会话
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ arjunkmrm/ recall --skill recall安装后在 Claude Code 中输入/recall确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
.gitignoreREADME.mdLICENSECHANGELOG.mdscripts/read_session.pyrecall.pytests/test_index_lock.pytest_grok_parser.py__init__.pytest_pi_parser.pytest_role_column.pytest_ranking.py详细介绍
/recall — 搜索过往的 Claude、Codex、pi 和 Grok 会话
使用 BM25 排名通过全文搜索查找所有过往的 Claude Code、Codex、pi 和 Grok 会话。
用法
python3 ~/.claude/skills/recall/scripts/recall.py [QUERY] [--project PATH] [--days N] [--source claude|codex|pi|grok] [--limit N] [--reindex]
示例
# List every session in the last day (no text search)
python3 ~/.claude/skills/recall/scripts/recall.py --days 1
# List every pi session in the last week
python3 ~/.claude/skills/recall/scripts/recall.py --days 7 --source pi
# Simple keyword search
python3 ~/.claude/skills/recall/scripts/recall.py "bufferStore"
# Phrase search (exact match)
python3 ~/.claude/skills/recall/scripts/recall.py '"ACP protocol"'
# Boolean query
python3 ~/.claude/skills/recall/scripts/recall.py "rust AND async"
# Prefix search
python3 ~/.claude/skills/recall/scripts/recall.py "buffer*"
# Filter by project and recency
python3 ~/.claude/skills/recall/scripts/recall.py "state machine" --project ~/my-project --days 7
# Search only Claude Code sessions
python3 ~/.claude/skills/recall/scripts/recall.py "buffer" --source claude
# Search only Codex sessions
python3 ~/.claude/skills/recall/scripts/recall.py "buffer" --source codex
# Search only pi sessions
python3 ~/.claude/skills/recall/scripts/recall.py "buffer" --source pi
# Search only Grok sessions
python3 ~/.claude/skills/recall/scripts/recall.py "buffer" --source grok
# Force reindex
python3 ~/.claude/skills/recall/scripts/recall.py --reindex "test"
查询语法(FTS5)
- 单词:
bufferStore— 匹配词干变体(例如,“discussing”会匹配“discuss”) - 短语:
"ACP protocol"— 精确匹配短语 - 布尔运算:
rust AND async、tauri OR electron、NOT deprecated - 前缀:
buffer*— 匹配 bufferStore、bufferMap 等 - 组合查询:
"state machine" AND test - 中日韩文本:
issue化— 自动对日文、中文和韩文文本使用三元组匹配
找到匹配项后
要恢复会话,请进入项目目录并使用相应的命令:
# Claude Code sessions [claude]
cd /path/to/project
claude --resume SESSION_ID
# Codex sessions [codex]
cd /path/to/project
codex resume SESSION_ID
# Grok sessions [grok]
```bash
grok --resume SESSION_ID
Pi 会话 [pi]
cd /path/to/project pi --session SESSION_ID # 完整或部分 ID;pi 会解析前缀匹配
Each result includes a `File:` path. Use it to read the raw transcript (auto-detects format):
```bash
python3 ~/.claude/skills/recall/scripts/read_session.py <File-path-from-result>
如果结果缺少 File: 路径,请运行 --reindex 以补全索引。
备注
- 索引存储在
~/.recall.db(SQLite FTS5,会自动从~/.claude/recall.db迁移) - 为四个来源建立索引:
~/.claude/projects/(Claude Code)、~/.codex/sessions/(Codex)、~/.pi/agent/sessions/(pi)和~/.grok/sessions/**/chat_history.jsonl(Grok) - 首次运行会为所有会话建立索引(几秒钟);之后的运行会增量更新
- 仅为用户和助手消息建立索引(跳过工具调用、思考块和状态快照)
- 结果会显示
[claude]、[codex]、[pi]或[grok]标签,以标明来源 - 双表 FTS:英文查询使用 Porter 词干提取,中日韩查询使用三元组匹配
- 省略查询参数即可进入列表模式——列出时间范围内的所有会话,按最近时间排序,不进行 FTS
- 提供查询即可进行全文搜索;两种模式均支持
--project、--days、--source、--limit - 从 0.3.x 升级:运行一次
--reindex以纳入 pi 会话 - 从 0.4.x 升级:运行一次
--reindex以纳入 Grok 会话 - 从 0.2.x 升级:运行一次
--reindex以构建中日韩索引
评论
支持 Markdown