Skip to content

feat(discord): support AI-generated auto-thread names - #17378

Closed
lyrabot2000 wants to merge 1 commit into
NousResearch:mainfrom
lyrabot2000:feat/discord-ai-thread-naming
Closed

feat(discord): support AI-generated auto-thread names#17378
lyrabot2000 wants to merge 1 commit into
NousResearch:mainfrom
lyrabot2000:feat/discord-ai-thread-naming

Conversation

@lyrabot2000

@lyrabot2000 lyrabot2000 commented Apr 29, 2026

Copy link
Copy Markdown

Summary

  • add discord.thread_naming config with first_message (default) and ai modes
  • use Hermes title generator to produce Discord auto-thread names when mode is ai
  • keep robust fallback to first-message naming when AI generation fails
  • preserve existing mention-stripping behavior for readable thread names

Testing

  • python -m pytest tests/e2e/test_discord_adapter.py -q
  • python -m pytest tests/hermes_cli/test_config.py -q

Notes

Default behavior is unchanged (first_message). Set discord.thread_naming: ai to enable AI naming.

@alt-glitch alt-glitch added type/feature New feature or request P3 Low — cosmetic, nice to have platform/discord Discord bot adapter comp/gateway Gateway runner, session dispatch, delivery labels Apr 29, 2026
@alt-glitch

Copy link
Copy Markdown
Collaborator

Likely duplicate of #15757 and #13915 — same feature (AI-generated Discord thread names). Also overlaps with #3009.

@teknium1

Copy link
Copy Markdown
Contributor

Thanks for the contribution. This is now implemented on current main through a later, guarded Discord auto-thread title flow.

  • Automated hermes-sweeper review verified that 0d9ed9214d (Add semantic titles for Discord auto-threads, shipped in v2026.7.7) records the initial placeholder name and routes newly created Discord threads through the existing LLM session-title generator.
  • gateway/run.py:19021-19026 supplies the generated title callback, and gateway/run.py:13551-13572 renames only the Hermes-created auto-thread.
  • plugins/platforms/discord/adapter.py:5317-5325 retains the first-message title at creation time, then documents semantic LLM naming after the first agent turn. plugins/platforms/discord/adapter.py:5401-5405 prevents overwriting human-renamed or pre-existing threads.
  • This also resolves the overlapping feature area noted in the prior discussion around feat(gateway/discord): sync thread names with session titles #15757, feat(discord): add opt-in smart auto-retitling for threads #13915, and feat(discord): generate auto-thread titles #3009.

@teknium1 teknium1 closed this Jul 12, 2026
@teknium1 teknium1 added the sweeper:implemented-on-main Sweeper: behavior already present on current main label Jul 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp/gateway Gateway runner, session dispatch, delivery P3 Low — cosmetic, nice to have platform/discord Discord bot adapter sweeper:implemented-on-main Sweeper: behavior already present on current main type/feature New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants