SuperAPI AI 工具集

session-discovery

智能体与模型

查看项目

更新于 10-16 01:57

技能介绍

用途

Session Discovery 用于在多个编码智能体运行环境(harness)中查找、检查、恢复、识别或续接早期的编码会话。当用户需要定位某次历史会话时,该技能会跨 Claude Code、Codex 和 Pi 三种环境进行搜索,即使当前对话只运行在其中一种环境中。

主要能力

  • 跨 harness 搜索:同时覆盖 Claude Code、Codex 和 Pi 的转录记录。
  • 线索提取:从请求中提取仓库或项目名称、用户措辞及可能的语音转录变体、文件路径、端点名称、技术、提交哈希、提交信息语言等独特线索。
  • Git 辅助定位:若可识别仓库,先检查其 Git 日志与 reflog,利用提交日期、变更路径和提交信息缩小搜索范围,并区分初始实现与后续审查或修复工作。
  • 转录搜索:对所有转录根目录进行大小写不敏感搜索,先用 rg -i -l 只将候选文件名纳入上下文,并包含 ~/.claude/history.jsonl 以快速映射 Claude Code 提示到会话 ID。
  • 精准检查:使用针对性的 jq 投影检查候选 JSONL 文件,搜索用户与助手文本、工具调用参数、委派任务提示、文件写入、命令输入和子智能体转录,避免打印整行 JSONL。
  • 验证与排序:依据内部时间戳和会话元数据验证候选,不依赖文件修改时间;判断匹配是包含原始工作还是仅引用;对剩余候选排序并报告不确定性。

转录位置(默认)

  • Claude Code:项目转录 ~/.claude/projects/**/*.jsonl;提示索引 ~/.claude/history.jsonl;委派工作 嵌套 <parent-session-id>/subagents/*.jsonl。
  • Codex:活动转录 ~/.codex/sessions/**/*.jsonl;归档转录(若存在)~/.codex/archived_sessions/**/*.jsonl。
  • Pi:转录 ~/.pi/agent/sessions/**/*.jsonl。

目录按 slug 化的工作目录分组;每个文件名包含开始时间戳和会话 ID。这些是默认值,不代表不存在其他存储;应尊重 harness 特定的环境覆盖,若默认目录缺失则检查已安装 harness 的配置。

使用方式

  1. 从请求中提取多个独特线索。
  2. 若可识别仓库,先检查 Git 日志与 reflog。
  3. 对所有转录根目录进行大小写不敏感搜索,使用多个较窄的搜索而非一个过度具体的表达式。
  4. 用 jq 投影检查候选文件,搜索各类文本与工具调用内容。
  5. 依据内部时间戳和会话元数据验证候选。
  6. 判断匹配是否包含原始工作。
  7. 对候选排序并报告不确定性。
  8. 对于超大历史,先按 harness、仓库、文件名开始日期或 Git 推导日期缩小范围。

结果格式

对每个强候选提供:harness;本地日期与时间;原始工作目录;会话 ID;父转录路径;相关子智能体路径(若有);简洁的匹配证据;是原始实现还是后续审查、修复、部署或跟进会话;置信度或剩余歧义。以最强匹配开头,仅在有用时列出可能的替代项。

续接会话

在识别出足够可信的强候选后,除非用户明确表示不要,否则自动准备续接命令,无需等待单独请求。若多个候选确实存在歧义,则报告歧义并等待用户选择。从会话元数据恢复原始工作目录,而非从当前 shell 猜测。验证已安装 harness 的当前续接语法。准备一条切换目录并续接所选会话的 shell 命令。使用配置的别名以保留预期的权限与防休眠行为:Claude Code 用 vamos,Codex 用 letsgo,Pi 用 pi,不要单独写出底层权限绕过标志。用 pbcopy 复制命令到 macOS 剪贴板并告知用户可粘贴,不要在响应中打印该 shell 命令。典型命令形式为 vamos --resume <session-id>、letsgo resume <session-id>、pi --session <transcript-path>,但以已安装 CLI 的帮助为准。

适用场景

  • 用户要求定位、检查、恢复、识别或续接早期编码会话。
  • 需要跨多个 harness 查找历史记录。
  • 需要区分原始实现与后续审查、修复、部署或跟进会话。

限制

  • 默认转录位置仅为默认值,不代表不存在其他存储。
  • 不应依赖文件修改时间,因为续接会话会更新旧转录,长期会话可跨多个日期。
  • 不应打印整行 JSONL,因为工具结果和模型推理可能使单行极其庞大。
  • 隐私方面:会话历史可能包含凭据、私密提示、邮件内容和大型工具结果;只暴露识别会话所需的证据,绝不复制令牌、机密、无关私密对话内容或敏感工具输出。
  • Pi 转录是由 entry ID 和 parentId 链接的树,fork 后可能保留被放弃的分支;被放弃分支上的文本或工具调用命中仍是讨论发生的证据,但当影响置信度时应披露分支歧义。
  • Codex 子智能体可能有单独的 rollout 文件,应使用其元数据与父会话关联;使用工具活动作为证据时,避免将函数调用输出记录计为单独操作。