Skip to content

Desktop notification on Linux when an agent is done or blocked #426

Description

@atqamz

What problem would this solve?

When the server runs headless (driven over UHP, with no TUI attached), nothing tells the desktop that an agent has finished or is blocked. On 0.14.2, dbus-monitor watching org.freedesktop.Notifications.Notify saw 0 calls across a whole task cycle, and also for ui notification push --level success, which shows only a TUI toast.

On main, the only desktop path is OSC 9, written to an attached client's terminal. It fires for automation outcomes and PR checks, but not for agent done or blocked. The notifications config has only sound_on_done and sound_on_blocked, both off by default.

What would you like to happen?

  • Add notifications.desktop_on_done and notifications.desktop_on_blocked, off by default, using the existing OSC 9 path when a client is attached.
  • On Linux with no client attached, have the server call notify-send if it is installed (or org.freedesktop.Notifications.Notify over D-Bus). The title would be the pane name and agent, and the body the blocked_hint.

Area

agents, settings

Platform

linux

Alternatives

This fits a module well. An [[events]] on = "pane.agent_status_changed" hook that runs notify-send works today, following the same pattern as examples/modules/agent-ping. If you would rather keep this out of core, shipping it as an example module would be enough.

Related: #424. Client-side context: atqamz/hand#708 runs notify-send from its own event watcher for now.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area: agentsAgent detection, lifecycle, resume, fork, hooks, and skillsarea: settingsConfiguration and settings interfaceplatform: linuxLinux-specific behaviorstatus: needs triageNeeds maintainer review and classification

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions