Skip to content

[Feature] Customize speaker names in exported transcripts #863

Description

@Nagi-ovo

🥰 需求描述 | Feature Description

Human-readable conversation exports currently use fixed User and Assistant speaker labels.

Some users give their AI persona a specific name and want that name to appear in exported transcripts. A custom user label is also useful when exported conversations are shared inside a team, where the human contributor should be identifiable.

This request concerns export presentation only. It should not rename anything in Gemini's UI or change the underlying user / assistant roles in machine-readable JSON.

🧐 解决方案 | Proposed Solution

Add a compact Speaker names section to the existing export dialog, alongside the current font-size and image-width preferences.

Speaker names

User label      [ User      ]
AI label        [ Assistant ]

Recommended behavior:

  • Default to the existing localized User and Assistant labels.
  • Let users override either field for the current export, for example Erik and a named AI persona.
  • Remember the chosen values as export preferences for future exports.
  • Treat an empty or whitespace-only value as the localized default.
  • Apply the labels consistently to Markdown, PDF, and image conversation exports.
  • Keep JSON role values unchanged.
  • Keep the fields hidden or disabled for export types where speaker labels do not apply, such as standalone Deep Research documents.
  • Escape user-provided values appropriately in Markdown and HTML output.

The export dialog is the preferred location because this is export-specific presentation metadata and the dialog already contains related controls such as font size and image width.

🔄 替代方案 | Alternatives Considered

  • Popup settings: Rejected because the preference is only meaningful while exporting and would be difficult to discover later.
  • Rename the roles globally in Gemini: Out of scope and could interfere with DOM role detection.
  • Ask for names on every export without remembering them: More repetitive for users who consistently use the same names.
  • Post-process exported files manually: Possible today, but inconvenient and inconsistent across Markdown, PDF, and image exports.

📝 补充信息 | Additional Information

Suggested placement in the existing export dialog:

┌─────────────────────────────────────────┐
│ Export Conversation                     │
│                                         │
│ ○ Markdown   ○ PDF   ○ Image   ○ JSON   │
│                                         │
│ Speaker names                           │
│ ┌─────────────────┐ ┌─────────────────┐ │
│ │ User            │ │ Assistant       │ │
│ └─────────────────┘ └─────────────────┘ │
│                                         │
│ [format-specific font size / width]     │
│                                         │
│                       Cancel   Export   │
└─────────────────────────────────────────┘

Acceptance criteria:

  • Existing exports remain unchanged when defaults are used.
  • Custom names appear in every human-readable conversation export path.
  • JSON continues to use stable role identifiers.
  • Values persist across export-dialog sessions and can be reset by clearing the fields.
  • Tests cover defaults, custom values, blank fallback, escaping, persistence, and all affected export formats.

Metadata

Metadata

Assignees

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions