> ## Documentation Index
> Fetch the complete documentation index at: https://docs.opensync.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Sessions View

> Browse, filter, search, and manage your AI coding sessions

# Sessions View

The Sessions view is the primary interface for browsing your synced coding sessions. It displays a filterable, searchable, sortable list of every session from every connected tool.

## Session data model

Every session in OpenSync is stored with this structure:

| Field              | Type    | Description                                                               |
| ------------------ | ------- | ------------------------------------------------------------------------- |
| `title`            | string  | Auto-generated from the first user message. Can be edited.                |
| `externalId`       | string  | Unique ID from the originating tool. Used for dedup during sync.          |
| `source`           | string  | Plugin identifier: "opencode", "claude-code", "codex-cli", "cursor", etc. |
| `model`            | string  | AI model name (e.g., "claude-sonnet-4-20250514", "gpt-4o", "o3-mini").    |
| `provider`         | string  | Model provider (e.g., "anthropic", "openai").                             |
| `projectPath`      | string  | Absolute path to the project directory.                                   |
| `projectName`      | string  | Last segment of the project path.                                         |
| `promptTokens`     | number  | Total input tokens across all messages.                                   |
| `completionTokens` | number  | Total output tokens across all messages.                                  |
| `totalTokens`      | number  | Sum of prompt and completion tokens.                                      |
| `cost`             | number  | Estimated USD cost based on model pricing.                                |
| `messageCount`     | number  | Number of messages in the conversation.                                   |
| `durationMs`       | number  | Total session duration in milliseconds.                                   |
| `isPublic`         | boolean | Whether the session has a public share link.                              |
| `publicSlug`       | string  | URL slug for the public view (if enabled).                                |
| `searchableText`   | string  | Concatenated text from title and messages, used for full-text search.     |
| `summary`          | string  | AI-generated session summary (if available).                              |

## Browsing sessions

Sessions are listed in reverse chronological order by default. Each card in the list shows the title, source icon, model, message count, token count, cost, and time ago.

Pagination loads 25 sessions at a time. Scroll to the bottom to load more.

## Filtering

Use the filter bar above the session list to narrow results.

### By source

Click the source dropdown to select one or more tools:

* OpenCode
* Claude Code
* Codex CLI
* Cursor
* Factory Droid
* Pi

Only sources that have at least one session appear in the dropdown.

### By date range

Select a preset or custom date range:

| Preset       | Range                           |
| ------------ | ------------------------------- |
| Today        | Sessions created since midnight |
| Last 7 days  | Sessions from the past week     |
| Last 30 days | Sessions from the past month    |
| All time     | No date filter                  |

### By search

The search input runs a full-text query against `sessions.searchableText`. This field contains the session title concatenated with all message text content.

Search is prefix-matched, so typing "refact" will find sessions containing "refactoring".

## Sorting

Click the column headers to sort by:

| Column   | Default direction          | What it sorts           |
| -------- | -------------------------- | ----------------------- |
| Date     | Descending (newest first)  | `sessions.createdAt`    |
| Tokens   | Descending (most first)    | `sessions.totalTokens`  |
| Cost     | Descending (highest first) | `sessions.cost`         |
| Messages | Descending (most first)    | `sessions.messageCount` |

## Session detail view

Click a session card to open its detail panel. The detail view has these sections:

### Conversation

The full message history rendered in a chat layout. Each message shows:

* **Role badge** (User, Assistant, System, Tool)
* **Text content** with syntax highlighting for code blocks
* **Token count** per message (prompt tokens for user messages, completion tokens for assistant messages)
* **Timestamp** relative to session start

Tool messages display the tool name and output. System messages are collapsed by default.

### Message parts

Each message can have multiple parts stored in the `parts` table. Parts represent distinct content blocks:

| Part type     | Description                             |
| ------------- | --------------------------------------- |
| `text`        | Plain text content                      |
| `tool-call`   | A function call with name and arguments |
| `tool-result` | The output returned by a tool           |

Parts are displayed in order within each message.

### Session metadata

A sidebar panel shows:

* Source and model
* Project name and path
* Total tokens (prompt/completion breakdown)
* Cost estimate
* Duration
* Created and last updated timestamps
* Eval status (if tagged)

## Session actions

### Copy

The **Copy** button copies the entire conversation as formatted markdown, suitable for pasting into documentation or sharing.

### Export

Export a single session in these formats:

* **DeepEval JSON** for the DeepEval evaluation framework
* **OpenAI Evals JSONL** for OpenAI's evals format
* **Plain text** for human reading

See [Evals Export](/dashboard/evals) for details on each format.

### Share

Toggle **Public** to generate a public URL for the session. Anyone with the link can view the conversation. The URL uses the `publicSlug` field.

Public sessions are read-only. Viewers cannot modify or delete them.

### Delete

Permanently deletes the session and all associated messages, message parts, and embeddings. This cannot be undone.

<Warning title="Deletion is permanent">
  Deleted sessions and their messages, parts, and embeddings are permanently removed from the database. Export important sessions before deleting.
</Warning>

## Bulk actions

Select multiple sessions using the checkboxes on the left side of each card, then use the bulk action toolbar:

* **Export selected** downloads all selected sessions in your chosen format
* **Delete selected** permanently removes all selected sessions

## Next steps

<CardGroup cols={2}>
  <Card title="Evals Export" href="/dashboard/evals" description="Tag and export sessions for evaluation" />

  <Card title="Context Search" href="/dashboard/context" description="Find sessions with semantic search" />

  <Card title="API Reference" href="/api/endpoints" description="Access sessions programmatically" />
</CardGroup>
