feat(x): auto-name chats from the first user message

A tiny background LLM call names new chats in 3-5 words, replacing the
truncated-first-message placeholder once it lands. Manual renames always
win; failures silently keep the placeholder.

Model resolution (getChatTitleModel): chatTitleModel override in
models.json, else the curated gateway flash-lite when the assistant
default routes through the gateway, else the assistant's own provider -
so signed-in users who switched their default to BYOK get titles on
that provider instead of a dead gateway call.
This commit is contained in:
Gagan 2026-07-23 16:13:27 +05:30
parent 033cc6d351
commit 81c07b3a3f
5 changed files with 143 additions and 2 deletions

View file

@ -74,4 +74,5 @@ export const LlmModelConfig = z.object({
meetingNotesModel: ModelOverride.optional(),
liveNoteAgentModel: ModelOverride.optional(),
autoPermissionDecisionModel: ModelOverride.optional(),
chatTitleModel: ModelOverride.optional(),
});