Skip to content

feat(tui): nudge toward /agents dashboard when delegation starts - #34704

Merged
kshitijk4poor merged 1 commit into
NousResearch:mainfrom
kshitijk4poor:feat/tui-agents-nudge
May 30, 2026
Merged

feat(tui): nudge toward /agents dashboard when delegation starts#34704
kshitijk4poor merged 1 commit into
NousResearch:mainfrom
kshitijk4poor:feat/tui-agents-nudge

Conversation

@kshitijk4poor

Copy link
Copy Markdown
Collaborator

Summary

The TUI already ships a capable /agents spawn-tree dashboard (live tree, Gantt timeline, per-child tokens/cost/files/tool calls, kill/pause controls, history replay) — but nothing surfaced it. While a turn delegates, the transcript stays quiet and the user has to already know to type /agents.

This adds a one-time, transient activity hint the first time a turn starts delegating:

subagents working · /agents to watch live

It matches the existing · /logs to inspect house style and points at the dashboard without hijacking the screen.

Behavior

  • Fires at most once per turn (resets on message.start).
  • Silent when the /agents overlay is already open (nothing to advertise).
  • Gated by display.tui_agents_nudge (default true). Disable with hermes config set display.tui_agents_nudge false.

Why hook subagent.start and not spawn_requested

The delegate progress callback in tools/delegate_tool.py only relays subagent.start and subagent.complete to the gateway — subagent.spawn_requested falls through its event normalizer and is dropped, so it never reaches the TUI in the CLI→gateway path. subagent.start is the first delegation event the TUI reliably receives. The handler hooks both (the spawn_requested case is wired for the future, also once-per-turn guarded), so the nudge fires regardless of which path emits first.

Changes

  • ui-tui/src/app/createGatewayEventHandler.ts — nudge logic (config-gated, once-per-turn, silent-when-open), hooked on subagent.start + subagent.spawn_requested, reset on message.start. Config flag fetched eagerly via existing config.get full pattern.
  • ui-tui/src/gatewayTypes.tstui_agents_nudge on ConfigDisplayConfig.
  • hermes_cli/config.pydisplay.tui_agents_nudge default (True).
  • Tests — 5 cases: fires on spawn_requested, fires on start, once-per-turn + resets next turn, silent when overlay open, disabled by config flag.

Test plan

  • npx vitest run src/__tests__/createGatewayEventHandler.test.ts → 48 passed
  • Full ui-tui suite → only the pre-existing unrelated virtualHeights.test.ts failure remains (present on base main)
  • npx eslint clean on touched files
  • tui_agents_nudge resolves to True via load_config() → flows through config.get full

@alt-glitch alt-glitch added type/feature New feature or request comp/tui Terminal UI (ui-tui/ + tui_gateway/) tool/delegate Subagent delegation P3 Low — cosmetic, nice to have labels May 29, 2026
@kshitijk4poor
kshitijk4poor force-pushed the feat/tui-agents-nudge branch from 341407b to 6804191 Compare May 30, 2026 06:51
The TUI already ships a rich /agents spawn-tree dashboard (live tree,
timeline, per-child tokens/cost/files/tools, kill/pause), but nothing
surfaced it — during delegation the transcript stayed quiet and users
had to already know to type /agents.

Drop a one-time transient activity hint ("subagents working · /agents
to watch live") the first time a turn starts delegating, matching the
existing "· /logs to inspect" house style. Guards keep it unobtrusive:

- fires at most once per turn (resets on message.start)
- silent when the /agents overlay is already open
- gated by display.tui_agents_nudge (default true)

Hooked on subagent.start, not subagent.spawn_requested: the delegate
progress callback in tools/delegate_tool.py only relays start/complete
to the gateway and drops spawn_requested, so start is the first
delegation event the TUI reliably receives. spawn_requested is wired
too for the future case, guarded once-per-turn.

Adds the display.tui_agents_nudge config default and gatewayTypes entry.
@kshitijk4poor
kshitijk4poor force-pushed the feat/tui-agents-nudge branch from 6804191 to 5a72e82 Compare May 30, 2026 06:56
@kshitijk4poor
kshitijk4poor merged commit 8738cb9 into NousResearch:main May 30, 2026
22 checks passed
alt-glitch pushed a commit that referenced this pull request Jun 14, 2026
feat(tui): nudge toward /agents dashboard when delegation starts
T02200059 pushed a commit to T02200059/hermes-agent that referenced this pull request Jun 18, 2026
…nts-nudge

feat(tui): nudge toward /agents dashboard when delegation starts
waefrebeorn pushed a commit to waefrebeorn/slermes that referenced this pull request Jul 2, 2026
…nts-nudge

feat(tui): nudge toward /agents dashboard when delegation starts
santhreal pushed a commit to santhreal/hermes-agent that referenced this pull request Jul 13, 2026
…nts-nudge

feat(tui): nudge toward /agents dashboard when delegation starts
Gravezzz pushed a commit to Gravezzz/hermes-agent that referenced this pull request Jul 21, 2026
…nts-nudge

feat(tui): nudge toward /agents dashboard when delegation starts
@kshitijk4poor
kshitijk4poor deleted the feat/tui-agents-nudge branch August 5, 2026 07:07
leewenjie pushed a commit to leewenjie/hermes-agent that referenced this pull request Aug 7, 2026
…nts-nudge

feat(tui): nudge toward /agents dashboard when delegation starts
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp/tui Terminal UI (ui-tui/ + tui_gateway/) P3 Low — cosmetic, nice to have tool/delegate Subagent delegation type/feature New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants