Skip to content

sp replay diff

When agents use this: Deep dive on a failed case — diff bodies, compare JSON. For correlated logs use sp logs.

Subcommands

SubcommandDescription
diff get <diffId>Base vs test messages (artifact)
compareFull-link compare result
mock-tree <replayId>Mock tree for replay
noise queryQuery noise rules
noise excludeExclude noise (-f + --confirm)
realtime …Real-time replay queue (see below)

Examples

bash
sp replay diff get diff-abc --out-dir .sp-work --json
sp replay compare --trace-id t1 --replay-id r1 --out-dir .sp-work --json
sp logs --trace-id <trace-id> --since 2026-06-27T10:00:00Z --until 2026-06-27T10:05:00Z --json
sp replay mock-tree replay-uuid --json

JSON output (diff get)

json
{
  "ok": true,
  "command": "replay diff get",
  "data": {
    "artifact": ".sp-work/diff-abc.json",
    "summary": {
      "diffId": "abc",
      "diffResultCode": 1,
      "categoryName": "ResponseBody"
    }
  }
}

Artifact contains decoded baseMsg and testMsg (JSON when parseable).

REST mapping

SubcommandMethodPath
diff getGET/api/report/queryDiffMsgById/{id}
comparePOSTSchedule /api/compareCase + report APIs
mock-treeGET/api/storage/replay-mock-tree/{replayId}
noise queryGET/api/queryNoise
noise excludePOST/api/excludeNoise

Real-time replay

SubcommandPath
realtime createPOST /api/createRealTimePlan
realtime queue pause <planId>GET /api/queue/control/pause?planId=... (--confirm)
realtime queue resume <planId>GET /api/queue/control/resume?planId=... (--confirm)
realtime logPOST /api/realtime/log/query

Replaces sp_api

sp_apisp
diff_detailsp replay diff get
compare_resultsp replay compare
replay_log_overviewsp logs --trace-id …
download_replay_logssp logs --trace-id … → 落盘后 grep

零代码改动 · 全上下文可见性 · 成本优化