在会话压缩或延续上下文缺失时,自动恢复工作上下文。支持 Discord、Slack、Telegram 等平台。
上下文恢复: 会话压缩后自动恢复工作环境, 或者当存在持续但缺少上下文时是一项面向实际任务的技能,主要用于跨越 Discord、Slack、Telegram、 Signal 和其他的工作。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。
执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
在会话压缩后,或当存在隐含的续写意图但上下文缺失时,自动恢复工作上下文。该能力支持 Discord、Slack、Telegram、Signal 及其他已接入的通信渠道。
适用场景:会话以被截断的上下文开始;用户提及先前工作但未提供具体细节;或出现压缩提示信号。
标签开始(检测到压缩)从运行时上下文中提取:
channel — discord | slack | telegram | signal | 等channelId — 具体的渠道/对话 IDthreadId — 适用于线程化对话(如 Slack、Discord 的 thread)初始拉取:
message:read
channel:
channelId:
limit: 50
自适应扩展逻辑:
newest_timestamp - oldest_timestampbefore 参数)线程感知型恢复(Slack/Discord):
# 若存在 threadId,则优先拉取该 thread 内的消息
message:read
channel:
threadId:
limit: 50
# 再拉取父级渠道消息以获取更广范围的上下文
message:read
channel:
channelId:
limit: 30
需解析的关键内容:
仅调用平台/会话 API(不执行 shell 文件系统扫描):
# 列出近期会话(若对应工具可用)
sessions_list:
limit: 5
# 从最可能匹配的会话中拉取最近消息
sessions_history:
sessionKey:
limit: 80
includeTools: true
若会话 API 不可用,则跳过此步骤,仅基于渠道证据继续处理。
仅在 agent 运行时已提供限定范围的记忆工具/路径时才进行检查。
不得在主目录下执行 shell glob 扫描。
生成结构化摘要:
## 已恢复上下文
**渠道:** # ()
**时间范围:** 至
**分析消息数:**
### 当前项目/任务
- **仓库:**
- **分支:**
- **PR:** # —
### 近期工作时间线
1. []
2. []
3. []
### 待办/未完成事项
- ⏳ "<引用的未完成操作>"
- ⏳ "<另一项未完成事项>"
### 上一条用户请求
> "<可能尚未完成的请求原文>"
默认不向磁盘写入。若持久化有价值,须先征得用户同意:
“我可以将本次恢复的上下文缓存至内存,以便后续保持连续性。是否需要保存?”
呈现恢复的上下文后,主动引导下一步:
“上下文已恢复。您上一条请求是 [X]。该操作 [已完成/未完成]。是否需要 [继续/重试/澄清]?”
channelIdthreadIdchannel 参数配合 Slack 渠道 IDthreadId —— 始终优先检查线程上下文message:read 接口在会话启动时,扫描压缩提示信号:
# 触发检测伪代码
if message contains "":
trigger_context_recovery()
elif message contains any of ["Summary unavailable", "context limits", "truncated", "compacted"]:
trigger_context_recovery()
elif message matches continuation_patterns:
# 如 "continue", "where were we", "did this happen" 等
trigger_context_recovery()
无需等待用户提问 —— 一旦检测到压缩,即主动恢复并呈现上下文。
场景:会话以压缩摘要开始
User message: "Summary unavailable due to context limits... "
User message: "did this happen?"
Agent 执行流程:
标签检测到压缩message:read channel=discord channelId=1460342116516364533 limit=50“上下文已恢复。您上一条请求是从 Nexus 存档会话中提取 PR #137(Skills & Agents System)的编排决策。该操作在上下文被截断前尚未完成。
已恢复状态:
- PR #137:新增 15,053 行,涉及 91 个文件,当前处于 CONFLICTING 合并状态
- 规范文档位置:
content/spec-skills-agents-system.md(共 2,067 行)是否继续执行提取操作?”