跳转到主要内容
RSS Error Code Standard:我们采用 “业务状态码 + 引擎行为指引” 的双重架构。Provider 返回的错误报文必须包含 codemessage

1. 4xx 系列:客户端/协议请求错误

这类错误通常意味着执行引擎发送的请求有误或权限不足。
错误码 (Code)描述 (Message)引擎行为 (Executor Action)
ERR_AUTH_DENIED鉴权失败。可能是 env.TOKEN 失效或过期。FATAL:立即终止流程,通知专家检查密钥。
ERR_REQ_MALFORMED请求报文格式不正确,未满足 Skill 定义的 Payload。FATAL:终止流程,标记协议配置错误。
ERR_RATE_LIMIT触发了 Provider 的频率限制(QPS 超限)。RETRY:根据退避算法(Exponential Backoff)重试。
ERR_RESOURCE_NOT_FOUND指定的 index_name 或 API 资源不存在。FATAL:终止流程。

2. 5xx 系列:服务端/环境错误

这类错误通常意味着 Provider 内部或上游供应商出现了故障。
错误码 (Code)描述 (Message)引擎行为 (Executor Action)
ERR_PROVIDER_FAULTProvider 内部逻辑错误(如数据库连接断开)。RETRY:尝试 1-2 次,若持续失败则转入 on_failure
ERR_UPSTREAM_TIMEOUTProvider 调用第三方服务(如 Amazon API)超时。RETRY:允许重试。
ERR_CONTRACT_VIOLATION返回的数据结构不符合 strict_mode 定义的 Schema。ABORT:拦截数据,防止 AI 错误推理,转入错误流。
ERR_INSUFFICIENT_CREDIT开发者账户余额不足,无法执行该技能。FATAL:终止流程,提示充值。

三、 标准错误报文示例

当服务出现异常时,Provider 必须 返回 200 或对应的错误 HTTP 状态码,并携带以下 JSON
{
  "status": {
    "code": "ERR_RATE_LIMIT",
    "message": "Too many requests for ASIN lookup. Please slow down.",
    "trace_id": "tx-8899-001",
    "is_retryable": true,       // 显式告知引擎是否可以重试
    "retry_after_ms": 2000      // 建议引擎在 2 秒后再尝试
  },
  "data": null
}