关于 cline-session-history
cline-session-history 是用于查找和查看本机 Cline 会话记录的 Agent 技能。它可筛选会话元数据与对话记录,并支持查看或导出匹配结果。
主要功能
- 01按时间、提示词、状态、模型等筛选会话
- 02通过文本或正则表达式搜索提示词
- 03按内容类型和消息数查看对话记录
- 04导出匹配的会话文件
- 05读取 JSON 文件及可选的 SQLite 数据库
适用场景
- 01按提示词或日期查找历史会话
- 02查看会话对话记录或所用模型
- 03定位失败或已取消的会话
- 04导出符合时间范围的会话
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ cline/ skills --skill cline-session-history安装后在 Claude Code 中输入/cline-session-history确认已加载。
附带文件scripts/search_sessions.py
详细介绍
Cline 会话历史记录
搜索和浏览存储在本地计算机上的 Cline 会话历史记录。会话以独立的 JSON 元数据文件和对话记录(.messages.json)文件形式存储在 ~/.cline/data/sessions/ 中。较早的会话也可能存储在 sessions.db SQLite 数据库中。
何时使用此技能
- “查找我在最近一小时内关于……的会话”
- “查找以这条提示词开头的会话”
- “查找我询问过……的会话”
- “显示使用了模型 X 的会话”
- “昨天有哪些会话失败了?”
- “显示会话 的对话记录”
- “将上周的会话导出到某个文件夹”
- “那次……的会话是什么来着?”
- 任何涉及过往 Cline 对话历史记录的请求
使用方法
搜索脚本与此文件位于同一目录下的 scripts/search_sessions.py。请根据此技能自身所在的目录解析脚本路径——不要根据当前工作目录解析,这样无论从哪里运行命令都能正常工作。
脚本路径: scripts/search_sessions.py(相对于此技能所在的目录)
以下示例使用 scripts/search_sessions.py;如果从其他位置运行,请在路径前加上技能目录的绝对路径。
所有筛选条件均为可选项,并按 AND 逻辑组合。
快速示例
# Sessions from the last 10 minutes
python3 scripts/search_sessions.py --since 10m
# Sessions between two dates with "chatgpt" in the prompt
python3 scripts/search_sessions.py --since 2026-06-01 --until 2026-06-21 --prompt chatgpt
# Find a session by its starting prompt (quoted substring match)
python3 scripts/search_sessions.py --since 1d --prompt "find some code that should be improved" --full-prompt
# Non-interactive sessions that failed
python3 scripts/search_sessions.py --no-interactive --status failed
# VS Code extension sessions using Claude models, full prompts
python3 scripts/search_sessions.py --source vscode --model "claude" --full-prompt
# Full transcript of a specific session
python3 scripts/search_sessions.py --session-id 1781991507587_pozk0 --transcript
# Export matching sessions to a directory
python3 scripts/search_sessions.py --since 1d --export ~/tmp/exported-sessions
时间筛选
--since 和 --until 均接受:
- 相对时间:
10m、30min、2h、1d、1w(分钟、小时、天、周) - ISO 8601:
2026-06-20、2026-06-20T21:30:00Z、2026-06-20T21:30:00+00:00
所有可用筛选条件
| 筛选条件 | 描述 |
|---|---|
--since <time> | 开始时间晚于此时间的会话 |
--until <time> | 开始时间早于此时间的会话 |
--prompt <text> | 在提示词中进行不区分大小写的子字符串搜索 |
--prompt-regex <pattern> | 在提示词中进行不区分大小写的正则表达式搜索 |
--status <status> | running、idle、completed、cancelled、failed |
--source <source> | cli、vscode 等(精确匹配) |
--provider <name> | 提供商名称,精确匹配(例如 cline) |
--model <text> | 模型名称子字符串,不区分大小写(例如 claude) |
--mode <mode> | plan 或 act |
--cwd <path> | 工作目录子字符串匹配 |
--session-id <id> | 精确查找会话 ID |
--interactive / --no-interactive | 按交互标志筛选 |
--team-only / --no-team | 按团队会话标志筛选 |
--subagents / --no-subagents | 包含或排除子 Agent 会话 |
输出选项
| 选项 | 描述 |
|---|---|
--full-prompt | 显示完整提示词文本,而非截断后的文本 |
--transcript | 打印完整对话记录 |
--max-messages <n> | 限制对话记录输出中的消息数量 |
--content-types <types> | 以逗号分隔:text,thinking,tool_use,tool_result,image |
--export <dir> | 将匹配的会话文件复制到某个目录 |
--limit <n> | 返回的会话数量上限 |
--json | 以 JSON 格式输出 |
数据源选项
| 选项 | 描述 |
|---|---|
--sessions-dir <path> | 自定义会话目录(默认:~/.cline/data/sessions) |
--db-path <path> | 自定义 sessions.db 路径 |
--no-db | 跳过 SQLite 数据库,仅扫描 JSON 文件 |
工作流程
- 首先根据用户的条件运行搜索,获取匹配的会话列表。
- 如果用户想查看详细信息,请使用
--full-prompt或--transcript。 - 检查对话记录时,可考虑使用
--max-messages和--content-types聚焦于相关内容。 - 批量导出时,使用
--export <dir>复制会话文件。
会话数据结构
磁盘上的每个会话都包含:
<session_id>.json— 元数据:session_id、started_at、status、source、provider、model、cwd、prompt、metadata(mode、systemPrompt、cost、usage)等。<session_id>.messages.json— 完整的对话记录,其中的消息包含内容块(文本、思考、tool_use、tool_result、图像)。
SQLite sessions.db 可能包含较早的会话,其字段类似,此外还包含 transcript_path、hook_path、parent_session_id、agent_id、is_subagent。
评论
支持 Markdown