Skip to content

feat(chat): distill thread titles after first turn (#471) - #492

Open
huangcheng wants to merge 3 commits into
TencentCloud:developfrom
huangcheng:feature/thread-title-distill
Open

feat(chat): distill thread titles after first turn (#471)#492
huangcheng wants to merge 3 commits into
TencentCloud:developfrom
huangcheng:feature/thread-title-distill

Conversation

@huangcheng

Copy link
Copy Markdown
Contributor

Summary

  • After the first successful assistant reply, the gateway sets an interim title from the clipped first user message, then asynchronously distills a short topic via the agent default model (title_distill.py). Manual renames are preserved.
  • Dashboard polls for distilled titles for up to ~90s after each turn; minimal nav refreshes its independent session cache on streamEnd.
  • Sidebar session titles use hover marquee scrolling when truncated (SessionRowTitle).
  • Documented thread title behavior in docs/api.md; CONTRIBUTING checklist now mentions updating docs/ for product/API changes.

Fixes #471

Test plan

  • make all (2726 tests passed)
  • uv run pytest tests/unit/gateway/test_title_distill.py -q
  • Dashboard: send first message in new chat → sidebar shows clipped title, then distilled title within ~60s
  • Hover long distilled title → infinite horizontal scroll; mouse leave → ellipsis restored
  • Manually rename session → distill must not overwrite custom title
  • HITL resume path: test_hitl_resume_records_final_answer_in_thread_history passes

Auto-generate short conversation titles via the agent default model after the first successful reply, with dashboard polling and hover marquee for truncated sidebar labels.
Keep title distill under [Unreleased]; retain upstream [0.9.30] release notes.
Resolve CHANGELOG [Unreleased] conflict by keeping title-distill entry with upstream additions.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant