name: 加载上下文捆绑包 description: 从上下文捆绑文件中重新加载前一个会话的上下文。用于从上一个会话恢复工作。 argument-hint: [捆绑包路径] allowed-tools: 读取, 全局
加载上下文捆绑包
从上下文捆绑文件中重新加载前一个会话的上下文。
参数
$1: 上下文捆绑 JSONL 文件的路径
指令
您正在从之前的代理会话中重新加载上下文以继续工作。
步骤 1: 读取捆绑文件
读取在 $1 中指定的 JSONL 捆绑文件。
每一行是一个 JSON 对象,格式如下:
{"operation": "read", "file_path": "path/to/file", "limit": 100, "offset": 0}
{"operation": "write", "file_path": "path/to/file", "content_length": 500}
{"operation": "prompt", "prompt": "截断的用户提示..."}
步骤 2: 分析捆绑
提取和分析:
- 所有访问过的唯一文件路径
- 带有参数的读取操作
- 用户提示以了解已完成的工作
步骤 3: 去重和优化
对于每个唯一文件,确定最优读取参数:
去重规则:
- 如果文件有任何条目没有限制/偏移 -> 读取整个文件
- 如果有多个带有参数的条目 -> 选择最大的限制,优先偏移为 0
- 如果所有条目的偏移 > 0 -> 选择读取文件最远的条目
- 如果同一文件有 >3 个条目 -> 读取整个文件(频繁访问 = 重要)
步骤 4: 加载上下文
仅用最优参数读取每个唯一文件一次:
对于去重列表中的每个文件:
- 用确定的参数读取
- 记录加载了什么
步骤 5: 理解故事
基于用户提示和文件操作,构建理解:
- 之前的代理在做什么工作?
- 哪些文件是工作的核心?
- 变化的进展是什么?
- 下一步可能是什么?
步骤 6: 报告
输出
报告上下文恢复:
## 上下文捆绑已加载
**捆绑包:** [文件名]
**会话:** [如果有可用的会话 ID]
### 先前工作摘要
基于提示和文件操作,之前的代理是:
[工作摘要]
### 文件恢复
| 文件 | 访问次数 | 加载状态 |
| --- | --- | --- |
| file1.ts | 5 | 完整 |
| file2.md | 2 | 完整 |
| file3.py | 1 | 部分(第 1-100 行) |
### 上下文恢复
- **加载的文件数:** [数量]
- **估计的令牌数:** [估计]
- **工作连续性:** [评估]
### 准备继续
[基于恢复的上下文您现在准备做什么]
### 识别的差距
[任何无法恢复或可能过时的上下文]
备注
- 上下文捆绑由跟踪文件操作的钩子创建
- 这使得能够在代理实例之间继续工作
- 捆绑文件使用 JSONL 格式(每行一个 JSON 对象)
- 参见 @context-priming-patterns.md 以获取预置与捆绑的比较
- 参见 @rd-framework.md 以获取上下文管理策略