Skip to main content

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:
FieldTypeDescription
titlestringAuto-generated from the first user message. Can be edited.
externalIdstringUnique ID from the originating tool. Used for dedup during sync.
sourcestringPlugin identifier: “opencode”, “claude-code”, “codex-cli”, “cursor”, etc.
modelstringAI model name (e.g., “claude-sonnet-4-20250514”, “gpt-4o”, “o3-mini”).
providerstringModel provider (e.g., “anthropic”, “openai”).
projectPathstringAbsolute path to the project directory.
projectNamestringLast segment of the project path.
promptTokensnumberTotal input tokens across all messages.
completionTokensnumberTotal output tokens across all messages.
totalTokensnumberSum of prompt and completion tokens.
costnumberEstimated USD cost based on model pricing.
messageCountnumberNumber of messages in the conversation.
durationMsnumberTotal session duration in milliseconds.
isPublicbooleanWhether the session has a public share link.
publicSlugstringURL slug for the public view (if enabled).
searchableTextstringConcatenated text from title and messages, used for full-text search.
summarystringAI-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:
PresetRange
TodaySessions created since midnight
Last 7 daysSessions from the past week
Last 30 daysSessions from the past month
All timeNo date filter
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:
ColumnDefault directionWhat it sorts
DateDescending (newest first)sessions.createdAt
TokensDescending (most first)sessions.totalTokens
CostDescending (highest first)sessions.cost
MessagesDescending (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 typeDescription
textPlain text content
tool-callA function call with name and arguments
tool-resultThe 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 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.
Deleted sessions and their messages, parts, and embeddings are permanently removed from the database. Export important sessions before deleting.

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