关于 session-navigation
session-navigation 是用于查找和回顾过往 Droid 会话的技能,介绍如何浏览会话文件、搜索对话、查看元数据与用量,并找回待继续的工作。
主要功能
- 01按项目定位会话
- 02跨会话搜索对话内容
- 03查看会话元数据和用量
- 04回顾先前工作以便续做
适用场景
- 01查找讨论某个 Bug 的会话
- 02回顾项目近期工作
- 03继续工作前找回上下文
- 04查看会话时长和 Token 数
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ factory-ai/ factory-plugins --skill session-navigation安装后在 Claude Code 中输入/session-navigation确认已加载。
详细介绍
会话导航
了解如何查找和浏览过去的 Droid 会话。你可能想继续上次未完成的工作、找到上周做过的事,或者只是看看某个项目最近发生了什么。
会话存放位置
会话存放在 ~/.factory/sessions/ 中,并按项目文件夹组织。每个项目都有自己的目录,路径会经过编码(斜杠会替换为短横线):
~/.factory/sessions/
├── -Users-enoreyes-code-work-myapp/
│ ├── <uuid>.jsonl
│ └── <uuid>.settings.json
├── -Users-enoreyes-code-projects-api/
│ ├── <uuid>.jsonl
│ └── <uuid>.settings.json
└── ...
每个会话有两个文件:
对话(.jsonl):每行都是一个 JSON 对象。第一行包含元数据(会话 ID、标题、工作目录),其余内容是来回的对话,包括用户消息、助手回复和工具调用。
设置(.settings.json):会话的统计信息,包括所用模型、运行时长、令牌数量和自主模式。
查找会话
列出项目文件夹
# See all project folders with sessions
ls ~/.factory/sessions/
# Find folders for a specific project (partial match)
ls ~/.factory/sessions/ | grep "myapp"
查看项目中的最近会话
# List sessions by date for a project
ls -lt ~/.factory/sessions/-Users-enoreyes-code-work-myapp/
# Get titles of recent sessions
for f in $(ls -t ~/.factory/sessions/-Users-enoreyes-code-work-myapp/*.jsonl | head -10); do
echo "=== $f ==="
head -1 "$f" | jq -r '.title // "Untitled"'
done
按内容搜索
# Search across ALL sessions
rg "authentication" ~/.factory/sessions/
# Search within a specific project
rg "bug fix" ~/.factory/sessions/-Users-enoreyes-code-work-myapp/
# See matches in context
rg -C 2 "login" ~/.factory/sessions/-Users-enoreyes-code-projects-api/
查找包含相关会话的项目
# Which projects have sessions mentioning "redis"?
rg -l "redis" ~/.factory/sessions/ | cut -d'/' -f1-5 | sort -u
阅读会话
找到会话文件后:
# The metadata (title, working directory)
head -1 ~/.factory/sessions/-Users-enoreyes-code-work-myapp/<uuid>.jsonl | jq .
# Session stats (model, tokens, duration)
cat ~/.factory/sessions/-Users-enoreyes-code-work-myapp/<uuid>.settings.json | jq .
# How long was this conversation?
wc -l ~/.factory/sessions/-Users-enoreyes-code-work-myapp/<uuid>.jsonl
用户消息的 "role": "user",助手回复的 "role": "assistant"。工具调用会显示运行过哪些命令,以及涉及了哪些文件。
常见情况
“我在这个项目中做过什么?” 列出该项目的会话文件夹,查看日期,并阅读对话文件。
“找到我们修复登录错误的那个会话” 在各个会话中搜索“login”或“auth”。找到后,阅读对话内容。
“继续我之前在做的事” 找到会话,回顾发生过的事情,并在继续之前总结关键决策。
“我用了多少 Droid?” 设置文件中包含令牌数量和活跃时长。如有需要,可汇总各个会话的数据。
提示
使用 rg(ripgrep)代替 grep。它速度更快,也更擅长处理嵌套文件夹。
项目路径中的斜杠会替换为短横线。/Users/me/code/app 会变成 -Users-me-code-app。
会话标题不一定能说明问题。有时需要阅读对话才能知道会话内容。
会话中可能包含敏感信息。展示内容时请务必谨慎。