360 Secure SkillHub
360 安全技能中心

Apollo Timeout

该 Skill 是一份超时容错原则指南,定义了超时标记继续、超时重试和 Fork 隔离三种策略,并包含 stall 检测阈值与危险操作隔离清单。它引用 Claude Code 事件循环机制作为参考,未提供具体代码实现或配置参数。

nic-yuan
nic-yuan
热度 21.93
最近更新 2026-04-06 23:51:59
分类:效率依赖:纯提示词应用场景:工作流 / 任务管理

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add apollo-timeout
Metadata
name
apollo-timeout
description
任务卡住了就跳过继续,不让整个流程停下来。
version
1.0.0
read_when
["子任务可能超时 时","需要防止任务卡死时","执行危险操作时","设计长时间任务时","需要隔离执行时"]
metadata
{"openclaw":{"emoji":"⏱️","requires":{"bins":[],"env":[]},"triggers":["超时","卡死","容错","stall","任务挂起","隔离执行"],"suite":"apollo"}}

Apollo Timeout - 超时容错原则

核心准则

每个子任务设置超时时间,超时后标记继续而不是卡死整个流程。危险操作用fork隔离。

Claude Code 的超时机制:

  • stall 检测:事件循环超过500ms无响应会报警
  • 子任务超时:每个子任务有独立的超时时间
  • 超时标记继续:不卡死,记录超时继续下一步

三种超时处理策略

1. 超时标记继续(Timeout → Continue)

子任务执行中... → 超时 → 
  记录"任务X超时" → 
  标记继续 → 
  执行下一个任务

2. 超时重试(Timeout → Retry)

子任务执行中... → 超时 → 
  重试一次 →
  再超时 → 
  标记失败,继续

3. Fork 隔离(Fork Isolation)

危险操作 → 
  在独立子Agent中执行 →
  超时/失败不影响主流程

stall 检测原则

stall时长 处理
< 100ms 正常
100-500ms 关注
> 500ms 报警
> 阈值 强制中断

应用检查表

  • 每个子任务是否都设置了超时时间?
  • 超时后是否有明确的处理策略?
  • 危险操作是否用fork隔离?
  • 是否有任务可能无限循环?

危险操作需要隔离

  • 执行用户提供的代码
  • 文件系统修改
  • 网络请求
  • 长时间运行的命令
  • 不可逆的操作

参考

来源:Claude Code 事件循环 + AgentTool,512,000行源码研究