-
Notifications
You must be signed in to change notification settings - Fork 0
Attention Alerts
Attention alerts speak a short request when an agent needs permission or user input. They complement commentary and final status lines; they do not narrate the full prompt, command, answer list, or transcript.
Release note: Attention alerts have been available since
v0.6.0and are included in the currentv0.8.3release. Existing installations keep them disabled until the user opts in.
Enable:
jarvis-line config set attention_enabled trueDisable only request speech while keeping ordinary Jarvis lines active:
jarvis-line config set attention_enabled falseDisable all speech:
jarvis-line config set speech_enabled falseIn the Preview macOS app, use the Attention alerts switch in the menu bar quick panel for an immediate on/off change. The same setting is available under Settings → Speech → Events and in Setup Assistant.
| Situation | Built-in Codex behavior |
|---|---|
| Tool needs approval | Official PermissionRequest hook emits a permission alert |
| Plan-mode question waits for an answer | Session adapter recognizes structured request_user_input and emits an input-required alert |
| Plan-mode question has an automatic resolution timer | No alert; the agent can continue without an answer |
| Agent enters Plan mode | No alert by itself |
| Agent thinks about asking a question | No alert until a structured request exists |
| Claude, Gemini, or another agent needs input | Adapter must emit an explicit attention event |
If the user answers a recognized Plan question before it starts playing, the queued alert is cancelled when the matching result is observed.
- attention jobs expire after 30 seconds
- queued attention is prioritized over queued final and commentary speech
- currently playing audio is never interrupted
- one audio worker prevents overlapping voices across sessions
- final events remove older queued work from the same session
- quiet hours, speech mode, queue limits, maximum length, and TTS fallback still apply
final_only permits enabled attention alerts. speak_mode = off and
speech_enabled = false suppress them.
The built-in Codex adapters format a bounded local summary. They do not persist:
- raw tool arguments
- command text
- answer options
- user answers
- file paths or URLs from the original request
- Codex call IDs
The queue temporarily stores only the short line needed for playback, event type, expiry data, and an optional one-way correlation token used to cancel an answered request. Third-party adapters are responsible for keeping the line they submit safe to speak.
An agent adapter can request speech through the versioned protocol:
jarvis-line emit \
--source claude \
--session "session-123" \
--phase attention \
--attention-type input_required \
--line "Your deployment choice is required."Expected output:
Queued Jarvis Line event for claude.
Supported attention types are permission_request and input_required. See
the versioned event protocol
for the full adapter contract.
jarvis-line config get attention_enabled
jarvis-line config get speech_enabled
jarvis-line config get speak_mode
jarvis-line doctor
jarvis-line trace --limit 20Also confirm that the Codex hook installer has been run after updating:
jarvis-line install codexPlan-question detection is a fail-soft compatibility adapter over Codex's observed session format. If Codex changes that shape, Plan questions may be skipped while official permission hooks and ordinary Jarvis lines continue.
Repository · Releases · Issues · Discussions