Skip to main content

Chrome DevTools for AI agents — record, inspect, fork, replay, diff.

Project description

rewind-agent

Python SDK for Rewind — the time-travel debugger for AI agents.

Record every LLM call. See the exact context window. Fork, fix, replay from failure — without re-running.

Install

pip install rewind-agent

This installs both the Python SDK and the rewind CLI. The native binary is auto-downloaded on first use.

Quick Start

One line to start recording — no proxy, no setup:

import rewind_agent
import openai

rewind_agent.init()  # patches OpenAI + Anthropic automatically

client = openai.OpenAI()
client.chat.completions.create(model="gpt-4o", messages=[...])
# Recorded to ~/.rewind/ — inspect with: rewind show latest

Or as a scoped session:

with rewind_agent.session("my-agent"):
    client = openai.OpenAI()
    client.chat.completions.create(model="gpt-4o", messages=[...])

Two Recording Modes

Direct mode (default) Proxy mode
Setup rewind_agent.init() rewind record in a second terminal
How Monkey-patches SDK clients in-process HTTP proxy intercepts LLM traffic
Best for Python agents, quick iteration Any language, polyglot teams
# Direct mode (default — no proxy needed)
rewind_agent.init(mode="direct")

# Proxy mode (requires `rewind record` running)
rewind_agent.init(mode="proxy", proxy_url="http://127.0.0.1:8443")

Replay from Failure

Agent failed at step 5? Fix your code, then replay — steps 1-4 are cached (instant, free), step 5 re-runs live:

with rewind_agent.replay("latest", from_step=4):
    result = my_agent.run("Research Tokyo population")
    # Steps 1-4: instant cached responses (0ms, 0 tokens)
    # Step 5+: live LLM calls, recorded to a new forked timeline

After the replay, diff the timelines: rewind diff <session> main replayed

Regression Testing

Turn any session into a baseline. After code changes, check for regressions:

from rewind_agent import Assertions

# Check the latest session against a known-good baseline
result = Assertions().check("booking-happy-path", "latest")
assert result.passed, f"Regression: {result.failed_checks} checks failed"

Checks step types, models, tool calls, error status, and token usage. Supports configurable tolerance:

result = Assertions().check("my-baseline", "latest", token_tolerance=0.15)
print(f"Passed: {result.passed_checks}/{result.total_checks}")

Agent Hooks

Enrich recordings with semantic labels:

@rewind_agent.step("search")
def search(query: str) -> str:
    return client.chat.completions.create(...)

@rewind_agent.tool("calculator")
def calculate(a: float, b: float) -> float:
    return a + b

with rewind_agent.trace("analysis"):
    rewind_agent.annotate("confidence", 0.92)
    result = search("Tokyo population")

Framework Support

Native (auto-detected on init()): OpenAI Agents SDK, Pydantic AI — zero config.

Wrapper (manual setup):

# LangGraph
graph = rewind_agent.wrap_langgraph(compiled_graph)

# CrewAI
crew = rewind_agent.wrap_crew(crew)

Any other framework works via the HTTP proxy — point OPENAI_BASE_URL at rewind record.

Learn More

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rewind_agent-0.14.4.tar.gz (56.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rewind_agent-0.14.4-py3-none-any.whl (66.8 kB view details)

Uploaded Python 3

File details

Details for the file rewind_agent-0.14.4.tar.gz.

File metadata

  • Download URL: rewind_agent-0.14.4.tar.gz
  • Upload date:
  • Size: 56.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for rewind_agent-0.14.4.tar.gz
Algorithm Hash digest
SHA256 573e398002ebef11e56f6c6aacc78b36aaaa64e27b4dc59224cbe4005bb2b4e0
MD5 1305bff76db4a5394f6b9210bfb0f857
BLAKE2b-256 a82ca524ec6cba86ec2bade8a5b91eeacba02e232d1b604c6649b8504b91bc19

See more details on using hashes here.

File details

Details for the file rewind_agent-0.14.4-py3-none-any.whl.

File metadata

  • Download URL: rewind_agent-0.14.4-py3-none-any.whl
  • Upload date:
  • Size: 66.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for rewind_agent-0.14.4-py3-none-any.whl
Algorithm Hash digest
SHA256 9f738fad986d3b331d47b80791b3535eed64342345025bd6254fe4b6bc799c1b
MD5 3d571a7b3e92145f96c5a498aae76503
BLAKE2b-256 79f8a7986c7a0f45c2a47e243d7103006545f254745710f43dbd740b15ba1fc7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page