Skip to content

History Sessions

The current source implements history sessions, not a workflow recorder or personal task library.

Completed, stopped, and errored runs are saved in IndexedDB when the side panel has a current task and at least one history event.

The database uses:

  • A dedicated extension history database in IndexedDB.
  • Object store: sessions
  • Index: by-created

Each saved record follows this shape:

type SessionRecord = {
id: string
task: string
history: HistoricalEvent[]
status: "completed" | "error"
createdAt: number
}

The side panel has a History view with the following user-facing actions:

  • Run again
  • Export history JSON
  • Delete history
  • Clear All

Selecting a session opens a detail view with the original task, step count, status, and event list. Run again starts a new agent run with the original task text.

The current source does not include:

  • A recording mode that captures manual user actions.
  • Named reusable workflow definitions.
  • Task variables such as {{DATE}}.
  • Secret variables that substitute credentials during replay.
  • Persistent selector recovery for recorded workflows.

Those features are planned separately. Today, History is an audit and rerun surface for agent sessions that already occurred.

History stores the same event model used by the running chat UI:

  • step events with reflection, action name, action input, output, and usage.
  • observation events with browser state text.
  • retry events with attempt counts.
  • error events with a message.
  • user_takeover events when manual takeover is recorded.