mcpField
C
cline-session-history

cline-session-history

github.com/clineAgent 工作流40341 次安装15 周前更新
代码仓库

关于 cline-session-history

cline-session-history 是用于查找和查看本机 Cline 会话记录的 Agent 技能。它可筛选会话元数据与对话记录,并支持查看或导出匹配结果。

主要功能

  1. 01按时间、提示词、状态、模型等筛选会话
  2. 02通过文本或正则表达式搜索提示词
  3. 03按内容类型和消息数查看对话记录
  4. 04导出匹配的会话文件
  5. 05读取 JSON 文件及可选的 SQLite 数据库

适用场景

  1. 01按提示词或日期查找历史会话
  2. 02查看会话对话记录或所用模型
  3. 03定位失败或已取消的会话
  4. 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 文件

工作流程

  1. 首先根据用户的条件运行搜索,获取匹配的会话列表。
  2. 如果用户想查看详细信息,请使用 --full-prompt 或 --transcript。
  3. 检查对话记录时,可考虑使用 --max-messages 和 --content-types 聚焦于相关内容。
  4. 批量导出时,使用 --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