mcpField
R
recall

recall

github.com/arjunkmrmAgent 工作流146580 次安装13 周前更新
代码仓库

关于 recall

recall 是用于搜索 Claude Code、Codex、pi 和 Grok 历史会话的命令行技能,支持全文检索、筛选及从结果中恢复会话。

主要功能

  1. 01按 BM25 排序的全文搜索
  2. 02支持英文词干和中日韩匹配
  3. 03按项目、日期或来源筛选
  4. 04按最近时间列出会话
  5. 05重建索引并提供记录路径

适用场景

  1. 01按关键词或短语查找过往讨论
  2. 02查看特定项目或时间范围的会话
  3. 03定位记录并恢复相应会话

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/arjunkmrm/recall --skill recall

安装后在 Claude Code 中输入/recall确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

.gitignore
README.md
LICENSE
CHANGELOG.md
scripts/
read_session.py
recall.py
tests/
test_index_lock.py
test_grok_parser.py
__init__.py
test_pi_parser.py
test_role_column.py
test_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