mcpField
S
session-navigation

session-navigation

github.com/factory-aiAgent 工作流117103 次安装3 天前更新
代码仓库

关于 session-navigation

session-navigation 是用于查找和回顾过往 Droid 会话的技能,介绍如何浏览会话文件、搜索对话、查看元数据与用量,并找回待继续的工作。

主要功能

  1. 01按项目定位会话
  2. 02跨会话搜索对话内容
  3. 03查看会话元数据和用量
  4. 04回顾先前工作以便续做

适用场景

  1. 01查找讨论某个 Bug 的会话
  2. 02回顾项目近期工作
  3. 03继续工作前找回上下文
  4. 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。

会话标题不一定能说明问题。有时需要阅读对话才能知道会话内容。

会话中可能包含敏感信息。展示内容时请务必谨慎。

评论

支持 Markdown