Install
openclaw skills install @paudyyin/error-classifier四类错误分类与处理引擎。自动识别临时错误/永久错误/验证错误/上下文错误,并提供相应处理策略(重试/报告/修复/压缩)。当工具调用失败、API 报错、编译测试出错、上下文超限时自动分类并给出处理建议。
openclaw skills install @paudyyin/error-classifier四类错误自动分类与处理引擎。
| 类型 | 含义 | 处理策略 | 典型场景 |
|---|---|---|---|
| TRANSIENT | 临时错误 | 自动重试(指数退避 1s/2s/4s) | timeout, 429, 503, 连接重置 |
| PERMANENT | 永久错误 | 报告用户,不可恢复 | 403, 404, 权限不足, API key 无效 |
| VALIDATION | 验证错误 | 回传模型修复 | 语法错误, 测试失败, 类型错误 |
| CONTEXT | 上下文错误 | 触发压缩 | token 超限, 上下文窗口溢出 |
CONTEXT > VALIDATION > PERMANENT > TRANSIENT
当错误消息同时匹配多种类型时,优先级高的类型胜出。
import sys
sys.path.insert(0, "skills/error-classifier/scripts")
from classifier import ErrorClassifier, ErrorType
classifier = ErrorClassifier()
# 分类错误
error_type = classifier.classify(exception)
# → ErrorType.TRANSIENT / PERMANENT / VALIDATION / CONTEXT
# 获取处理动作
action = classifier.handle(exception, context={"retry_count": 0})
# action.action → "retry" / "report_user" / "fix" / "compress"
# action.message → 人类可读的处理说明
# action.retry_delay → 重试等待秒数(仅 retry 动作)
from classifier import ErrorClassifier
classifier = ErrorClassifier()
def call_api():
# 你的 API 调用
...
try:
result = classifier.execute_with_retry(call_api, on_retry=lambda a, d, e: print(f"重试 {a+1}/3"))
except Exception as e:
print(f"全部重试失败: {e}")
from classifier import classify_error, handle_error, get_retry_delay
error_type = classify_error(exception)
action = handle_error(exception, context={"retry_count": 0})
delay = get_retry_delay(attempt=0) # → 1
第1次重试: 等待 1s (BASE_DELAY × 2^0)
第2次重试: 等待 2s (BASE_DELAY × 2^1)
第3次重试: 等待 4s (BASE_DELAY × 2^2)
超过3次: 报告用户
共 50+ 种错误模式,覆盖中英文场景:
skills/error-classifier/
├── SKILL.md # 本文件
├── scripts/
│ ├── classifier.py # 错误分类器核心
│ ├── patterns.py # 错误模式库(50+ 种模式)
│ └── test_classifier.py # 测试用例
└── references/
└── retry_strategies.md # 重试策略详细说明