agent-shell provides native agentic integrations for AI agents like Claude Code, Gemini CLI, Goose, Cursor, and others. It is built on shell-maker and provides a comint-based interface.
This module speech-enables agent-shell, providing: - Semantic response, thought, and plan speech at turn-completion boundaries - On-demand full and structural-overview speech for the latest agent answer - Permission, lifecycle, error, and tool-status feedback - Focus-aware foreground and background speech levels - Semantic header and face-to-voice support - Typed transcript and fenced source-block navigation - Two-dimensional rendered Markdown table navigation and copying - Viewport mode integration and reload-safe buffer teardown
Customize ‘emacsvox-agent-shell’ for speech levels, table feedback, and lifecycle announcements. See the Agent Shell chapter in the Emacsvox manual for setup, keys, privacy boundaries, inspection, and recovery; the generated emacsvox-agent-shell section is the exhaustive command and option reference. See https://github.com/xenodium/agent-shell for agent-shell itself.
Copy the rendered Markdown source block at point using agent-shell.
Cycle automatic speech for the current agent-shell session. Cycle from the effective level toward less speech: full, response, notify, quiet, then full again. With prefix argument RESET, restore ‘auto’ so focus selects the configured foreground or background level. (fn &optional RESET)
Disable Emacsvox support for agent-shell.
Enable Emacsvox support for agent-shell.
Move to the next block matching the semantic block at point. When invoked by ‘]’ at an editable prompt, insert that character instead.
Select a semantic block type and move to its next occurrence.
Move to the previous block matching the semantic block at point. When invoked by ‘[’ at an editable prompt, insert that character instead.
Select a semantic block type and move to its previous occurrence.
Move to the next occurrence of the selected semantic block type.
Move to the previous occurrence of the selected semantic block type.
Select the automatic speech level shared by background sessions.
Select the automatic speech level for the current agent-shell session.
Speak the full semantic header for the current agent-shell session.
Speak the latest completed agent answer in full without moving point.
Speak a concise overview of the latest completed agent answer.
Read the complete rendered Markdown source block at point.
Copy the logical Markdown table cell at point to the kill ring. Remove renderer padding, borders, and text properties. Preserve the complete logical value of a wrapped cell.
Copy the logical Markdown table column at point to the kill ring. Separate cells with newlines and omit Markdown separator syntax.
Copy the logical Markdown table row at point to the kill ring. Separate cells with tabs and omit Markdown separator syntax.
Leave the current Markdown table and move to preceding content.
Leave the current Markdown table and move to following content.
Move COUNT columns right in the current logical Markdown table row. (fn &optional COUNT)
Move COUNT logical Markdown table rows down, retaining the column. (fn &optional COUNT)
Move COUNT columns left in the current logical Markdown table row. (fn &optional COUNT)
Move COUNT logical Markdown table rows up, retaining the column. (fn &optional COUNT)
Interactively change automatic Markdown table cell speech. Press c to toggle column titles, r to toggle row titles, or o to switch between data-first and title-first ordering. Speak the complete resulting configuration after the change.
Speak the logical Markdown table cell at point.
Speak the logical Markdown table column at point.
Speak current Markdown table position and dimensions.
Maximum characters submitted for automatic Agent Shell speech. Long responses, tool output, errors, permissions, and other unsolicited content are shortened before Aural compiles them. The spoken preview includes exact omitted character and line counts plus an appropriate inspection hint. This limit does not apply to explicit inspection commands such as ‘emacsvox-agent-shell-speak-last-response’. Set this to nil, or to a non-positive value, to allow complete automatic response and output bodies; provider-controlled permission fields and tool labels remain concise.
Default Value:
2000
Automatic speech level for an unfocused agent-shell session. The available levels have the same meaning as ‘emacsvox-agent-shell-foreground-speech-level’. Background completion uses Emacsvox’s notification stream and includes the session buffer name.
Default Value:
notify
Maximum body characters spoken after Agent Shell block navigation. When a normalized block body is longer, navigation stops at a word boundary where possible and announces the number of omitted characters. Set this to nil, or to a non-positive value, to speak the complete body. This option does not change concise block labels or the specialized table and source-block navigation presentations.
Default Value:
4096
Automatic speech level for the focused agent-shell session. The focused session is the selected agent-shell buffer or the shell associated with the selected viewport. ‘full’ preserves configured response, thought, plan, tool, and lifecycle feedback. ‘response’ speaks agent responses and completion feedback while suppressing routine thought, plan, and tool chatter. ‘notify’ only signals completion, and ‘quiet’ suppresses routine feedback. Permissions and errors remain controlled separately because they may require action.
Default Value:
response
Maximum Agent Shell characters compiled for line-navigation speech. When a physical or visual line is longer, navigation speaks its first characters and a count of the omitted remainder. This prevents rendered tool and search output from opening the core long-line prompt or building an unnecessarily large presentation. Set this to nil to restore the core long-line policy. Explicit Agent Shell response and block-reading commands are not truncated.
Default Value:
512
Auditory icon played when the model finishes processing.
Default Value:
task-done
Auditory icon played when the model starts processing a prompt.
Default Value:
progress
Whether to announce the agent’s processing lifecycle. When non-nil, public agent-shell events produce start and completion icons. Exceptional completion and error events also produce a brief spoken explanation. Initialization has its own start and completion cues.
Default Value:
t
Whether to speak permission requests immediately. When t, permission requests are spoken as soon as they appear.
Default Value:
t
How to handle agent thought process chunks. - 'speak: Speak the thought process content - 'icon: Play an auditory icon only (default) - nil: Silent, no feedback
Default Value:
icon
Whether to announce tool calls as they happen.
Default Value:
t
Delay used to coalesce streamed out-of-turn agent messages. Normal response completion follows agent-shell’s public ‘turn-complete’ event, so this value never determines when a submitted turn is spoken.
Default Value:
0.5
Words spoken for agent-shell’s rendered status icons. These substitutions affect only speech copies in agent-shell and its viewport; the visual icons remain unchanged. Remove an entry to leave that status icon for the active speech server to interpret.
Default Value:
((pending . "pending") (in-progress . "in progress") (completed . "completed") (failed . "failed"))
Whether table cell data is spoken before or after its titles.
Default Value:
first
Table titles spoken with the current Markdown table cell. Column titles come from the first row when the Markdown source has a separator row. Row titles come from the first column, following Emacsvox’s table convention. Customize this set to enable either, both, or neither kind of title.
Default Value:
(column)
Verbosity level for tool call output. - 'full: Speak the complete tool output - 'summary: Speak a summary (status and title) - 'status: Only speak the final status
Default Value:
summary