Skip to content

[Feature]: Generate concise conversation titles automatically in Pro workbench #1265

Description

@YizukiAme

Problem or Motivation

Pro conversations currently fall back to a truncated copy of the first prompt as their title. This is immediate and reliable, but long or instruction-heavy prompts make the conversation rail harder to scan.

OpenMAIC already generates a courseTitle for the learning artifact, but that is a different concept: a conversation describes the user's task or intent, while a course title names the generated output. Reusing courseTitle would couple two independent identities.

Proposed Solution

After the first effective user message creates a Pro session:

  1. Keep showing the existing prompt-derived fallback immediately.
  2. Start one independent, asynchronous title-generation task using only the first user message or a small amount of visible conversation context.
  3. Generate a short title in the conversation language and persist it as the session title.
  4. Before saving, confirm that the user has not manually renamed the conversation.
  5. If generation fails or is cancelled, keep the fallback title and do not affect the main Agent run.

The automatic task should be non-blocking and should not continuously rename a conversation as more messages arrive.

Acceptance Criteria

  • A new Pro conversation receives a concise automatic title without delaying the Agent response.
  • The prompt-derived fallback remains visible until generation succeeds and remains usable if it fails.
  • The generated title is persisted and survives reload.
  • A manual title always takes precedence; an in-flight automatic task cannot overwrite it.
  • A conversation title is independent from the generated course courseTitle.
  • Title input excludes internal reasoning, tool payloads, raw IDs, and generated course contents.
  • Automatic generation occurs at most once in the normal flow; failure does not create a retry loop.
  • Tests cover success, failure, persistence, and the manual-rename race.

Alternatives Considered

  • Continue truncating the first prompt only: useful as a fallback, but often produces long, low-signal labels.
  • Reuse the generated courseTitle: rejected because the conversation and generated course have different meanings and lifecycles.
  • Regenerate after every turn: rejected because titles would be unstable and could overwrite user intent.

Area

UI / UX

Additional Context

Depends on the manual session-title persistence path tracked in #1263. That issue fixes the existing rename contract; this Feature Request adds automatic naming on top of it.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions