关于 session-scout
Session Scout 是一款脚本工具,可在 Windows、macOS 和 Linux 上查找 Claude Code、Claude Desktop 与 OpenCode 会话,展示会话信息并导出 CSV。
主要功能
- 01发现 Claude Code 会话
- 02查找 Claude Desktop 历史文件
- 03区分 OpenCode CLI 和桌面会话
- 04显示时间戳和项目路径
- 05将会话列表导出为 CSV
适用场景
- 01查看多个支持工具的近期会话
- 02查找会话关联的项目路径
- 03导出会话记录以便后续检查
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ evolv3-ai/ vibe-skills --skill session-scout安装后在 Claude Code 中输入/session-scout确认已加载。
附带文件scripts/Session-Scout.ps1scripts/session-scout.sh
详细介绍
Session Scout
状态:已可用于生产环境 最后更新:2026-02-13 依赖项:PowerShell 7+(Windows)或 Bash 4+(macOS/Linux)
脚本路径解析:Claude Code 加载此文件时,会提供完整路径。下方所有 scripts/ 引用均相对于此文件所在目录。请根据此文件的路径推导出 SKILL_DIR,并在运行脚本时将其添加为前缀。
快速入门(1 分钟)
1. 运行脚本
macOS / Linux:
# Show recent sessions (default: top 12)
scripts/session-scout.sh
# Show more sessions
scripts/session-scout.sh --top 20
Windows(PowerShell):
# Show recent sessions (default: top 12)
pwsh -ExecutionPolicy Bypass -File scripts/Session-Scout.ps1
# Show more sessions
pwsh -ExecutionPolicy Bypass -File scripts/Session-Scout.ps1 -Top 20
输出列:
- Tool - Claude Code(Windows/WSL)、Claude Desktop、OpenCode CLI/Desktop
- When - 最后活动时间戳
- ProjectPath - 工作目录路径
- Project - 项目代号/标识符
- SessionId - UUID(Claude Code)或时间戳(OpenCode)
2. 导出为 CSV
macOS / Linux:
# Export to default location (~/.admin/logs/session-scout-YYYY-MM-DD.csv)
scripts/session-scout.sh --csv
# Export to custom path
scripts/session-scout.sh --file ~/exports/sessions.csv
Windows(PowerShell):
# Export to default location (~/.admin/logs/session-scout-YYYY-MM-DD.csv)
pwsh -ExecutionPolicy Bypass -File scripts/Session-Scout.ps1 -Csv
# Export to custom path
pwsh -ExecutionPolicy Bypass -File scripts/Session-Scout.ps1 -File "D:\exports\sessions.csv"
可发现的内容
Claude Code 会话
- Windows:
%USERPROFILE%\.claude\projects\*\*.jsonl - WSL/Linux:
~/.claude/projects/*/*.jsonl - macOS:
~/.claude/projects/*/*.jsonl - 提取内容:cwd、项目代号、会话 UUID
Claude Desktop 会话
- Windows:
%APPDATA%\Claude和%LOCALAPPDATA%\Claude - macOS:
~/Library/Application Support/Claude/和~/Library/Application Support/Anthropic/ - Linux:
~/.config/Claude/和~/.config/Anthropic/ - 查找内容:聊天、对话、转录、历史记录文件
OpenCode 会话
- Windows:
%USERPROFILE%\.local\share\opencode\log\*.log - macOS/Linux:
~/.local/share/opencode/log/*.log - 区分方式:桌面版(多个目录)与 CLI(单个目录)
重要规则
始终执行
- Windows:使用
pwsh(PowerShell 7+)运行,而不是 Windows PowerShell 5.1 - Windows:直接运行时使用
-ExecutionPolicy Bypass - macOS/Linux:使用
session-scout.sh(关联数组需要 Bash 4+) - 如果未找到 WSL 会话,请检查 WSL 是否正在运行(仅限 Windows)
切勿执行
- 不要直接修改会话
.jsonl文件 - 不要假设所有会话都包含可提取的路径(有些会显示为空)
- 不要在 WSL 内运行 PowerShell 脚本(请改用 Bash 脚本)
防范已知问题
此技能可防范 3 个已记录的问题:
问题 #1:找不到基于 UUID 的文件名
错误:即使正在使用 Claude Code,也找不到会话
原因:Claude Code 已从 chat_*.jsonl 改为使用基于 UUID 的文件名
防范措施:脚本使用 *.jsonl 模式(排除 agent-*.jsonl)
问题 #2:WSL 发行版名称包含空字节
错误:未检测到 WSL 会话,发行版名称显示为 U b u n t u
原因:wsl.exe -l -q 输出的内容采用 UTF-16LE 编码并包含空字节
防范措施:Get-WSLDistros 函数会正确剔除空字节
问题 #3:混淆 OpenCode 桌面版与 CLI
错误:所有 OpenCode 会话都显示为同一类型 原因:桌面版会打开多个项目,而 CLI 会打开一个项目 防范措施:脚本会检测模式:多个目录 = 桌面版,单个目录 = CLI
参数参考
PowerShell(Session-Scout.ps1):
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
-Top | int | 12 | 显示的会话数量上限 |
-Csv | switch | - | 导出到默认路径:~/.admin/logs/session-scout-YYYY-MM-DD.csv |
-File | string | - | 导出到指定的 CSV 路径 |
Bash(session-scout.sh):
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
--top, -t | int | 12 | 显示的会话数量上限 |
--csv | flag | - | 导出到默认路径:~/.admin/logs/session-scout-YYYY-MM-DD.csv |
--file, -f | string | - | 导出到指定的 CSV 路径 |
会话存储位置
Claude Code (Windows):
%USERPROFILE%\.claude\projects\{project-slug}\{uuid}.jsonl
Claude Code (macOS/Linux):
~/.claude/projects/{project-slug}/{uuid}.jsonl
Claude Desktop (Windows):
%APPDATA%\Claude\
%LOCALAPPDATA%\Claude\
Claude Desktop (macOS):
~/Library/Application Support/Claude/
~/Library/Application Support/Anthropic/
Claude Desktop (Linux):
~/.config/Claude/
~/.config/Anthropic/
OpenCode (Windows):
%USERPROFILE%\.local\share\opencode\log\{timestamp}.log
OpenCode (macOS/Linux):
~/.local/share/opencode/log/{timestamp}.log
故障排查
问题:找不到会话
解决方案:手动检查预期位置:
# macOS / Linux
find ~/.claude/projects -name '*.jsonl' 2>/dev/null | wc -l
# Windows
dir $env:USERPROFILE\.claude\projects -Recurse -Filter *.jsonl | measure
问题:未显示 WSL 会话(仅限 Windows)
解决方案:确保 WSL 正在运行,并且可访问各发行版:
wsl -l -q
问题:ProjectPath 显示为空
解决方案:路径提取采用尽力而为的方式。会话文件在前 100 行中可能不包含 cwd 字段。
示例输出
Tool When ProjectPath Project SessionId
---- ---- ----------- ------- ---------
Claude Code (Windows) 1/26/2026 5:39:03 PM D:\admin D--admin bdeb38c1-98a8-...
Claude Code (WSL:Ubuntu-24.04) 1/26/2026 1:47:28 PM /home/wsladmin/dev/vibe-skills -home-wsladmin-dev-v 3cd316dc-c168-...
OpenCode CLI 1/26/2026 5:30:37 PM D:\rlm-project 2026-01-26T203036
OpenCode Desktop 1/26/2026 1:53:00 PM D:\wireframe-kit 2026-01-26T190547
Claude Desktop 1/26/2026 10:10:18 AM sentry session
完整设置清单
macOS / Linux:
- 已安装 Bash 4+(
bash --version) - 脚本可执行(
chmod +x session-scout.sh) - 至少有一个 Claude Code/OpenCode 会话可供测试
Windows:
- 已安装 PowerShell 7+(
pwsh --version) - 已安装 WSL2(用于发现 WSL 会话)
- 至少有一个 Claude Code/OpenCode 会话可供测试