Qoder Voice is a realtime voice companion built into Qoder. Speak your ideas the way you would in a voice chat: explore directions, shape a plan, and drive tasks, software, and your computer forward through conversation alone. The voice layer handles the dialogue and the judgment calls, while the actual inspecting, editing, and executing is carried out by a backend Agent on the same task timeline — so everything stays audible, visible, and reviewable.
Qoder Voice runs in the Quest window. The Chat panel in the editor window does not offer realtime voice.
The orb is a standalone transparent window rather than something embedded in the IDE, so it can float above any application and follow every ordinary desktop space.
When you say "this," "this page," or "my screen," Qoder can read the image and text of the foreground app window as context. The first time it is needed, macOS asks for Accessibility and Screen Recording permission.
The toggle is on by default and can be turned off in voice settings at any time. Once off, voice explicitly declines screen access and no screenshot is written into the session (a hard gate, not just a prompt instruction); on non-macOS platforms it is always treated as off. Ordinary non-voice tasks are unaffected by this setting.
Under Settings → Voice → Realtime voice in the Quest window:
Starting and ending a session
- Three entry points: the voice button on the Quest home page, Start voice at the bottom of a voice task, and a customizable shortcut (which also works when the app is not focused).
- Speaking creates the task: starting a session automatically creates a voice task that inherits the workspace selected under Start in on the home page (local / SSH / WSL / Dev Container), so the task lands in the matching workspace group. Only an explicit "no workspace" choice sends it to Chats.
- Nothing is lost while connecting: the input box keeps its usual appearance but is temporarily read-only. Whatever you say during this window is buffered and delivered in order once the connection is ready.
- Three ways to end: the close button on the orb's control bar, Stop at the bottom of the task, or simply saying "end the call." Ending voice does not stop backend work that is already running; when voice and a task are running at the same time, the first click stops only voice and the second stops the task.
The floating orb
The orb is a standalone transparent window rather than something embedded in the IDE, so it can float above any application and follow every ordinary desktop space.
- Readable state: connecting, listening, you speaking, AI speaking, thinking, silent, error, and closing — eight states in total. The voiceprint motion comes from your real microphone envelope, and the AI-speaking state follows the actual playback queue.
- Three looks: Classic Voiceprint (default), Breathing Orb, and Capsule. Right-click to switch; the choice is remembered per machine.
- Anchored or free: by default the orb sits above the input box of the current voice task. Drag it more than 4px and it becomes free-floating; the position is preserved when you switch tasks, windows, or apps and come back. It re-anchors when you reopen its task or click the orb.
- Hover control bar: mute playback, turn off the microphone, and end voice. Muting only silences playback — the microphone keeps capturing. Turning off the microphone means "I'm done talking": trailing silence is appended before capture is released.
- One click returns to the scene: clicking the orb immediately brings Quest to the front and opens the voice task it belongs to, without changing capture or mute state.
- Captions while muted: while muted, the current AI reply is shown as live captions above the orb (up to three lines), and a label in the upper right shows Connecting / Working / Thinking.
Moving work forward like a chat
- Speaking is the task: small talk, or anything the current context already answers, gets a direct spoken reply. When code needs to be read, information looked up, commands run, or Quest tasks operated, the voice layer hands one complete request to the backend Agent. A separate Quest task is created only when you explicitly ask for independent, persistent background work.
- Transcript and execution are layered: your transcript and the AI's flow into the conversation in realtime and look just like ordinary messages. Tool calls, thinking, and execution reports are collapsed by default in the Worked section — expand it for the details.
- Interrupt any time: the moment you start speaking, playback stops. Ordinary follow-ups are queued behind the current work and you are told plainly that they are queued; only a clear change of direction or an explicit "stop right now" interrupts the current turn before the new goal is executed. Work that is queued but not yet started can be cancelled by a newer request.
- Only meaningful updates: task results are one or two spoken sentences by default. When you explicitly ask for research, investigation, or a comparison, you get a multi-sentence summary covering the conclusion and the key findings. When background work has nothing substantial to report, it stays quiet instead of narrating waiting.
- When approval is needed: a confirmation card appears at the bottom, and voice gives one neutral reminder to approve or reject it — without reading out sensitive tool details.
- Typing still works: while voice is live, plain text input goes into the voice session; input with attachments or a slash command is still sent as an ordinary follow-up.
Screen context (Appshot, macOS only)
When you say "this," "this page," or "my screen," Qoder can read the image and text of the foreground app window as context. The first time it is needed, macOS asks for Accessibility and Screen Recording permission.
The toggle is on by default and can be turned off in voice settings at any time. Once off, voice explicitly declines screen access and no screenshot is written into the session (a hard gate, not just a prompt instruction); on non-macOS platforms it is always treated as off. Ordinary non-voice tasks are unaffected by this setting.
Settings
Under Settings → Voice → Realtime voice in the Quest window:
- Shortcut: edit the key binding that starts realtime voice. It is released automatically when the entry point is unavailable, so it never keeps occupying a binding other apps may need.
- Voice: Anna / Lily. A running connection is never switched mid-session; the change applies to the next connection.
- Speaking speed: Slow / Normal / Fast, applied immediately. It changes only the delivery pace, never the content or the language.
- Voiceprint Recognition (off by default): records about 10 seconds of 16 kHz mono audio so your voice is recognized first in noisy or multi-speaker environments. You must explicitly confirm how it is stored before enabling it; turning it off only stops using the voiceprint and does not delete it. You can re-record over it or delete it at any time.
- Appshot: see the previous section.
History and recovery
- Voice transcripts and execution history are both persisted and restored as-is when you reopen the task; completion announcements that never reached you in an earlier connection are not replayed.
- Reopening a task establishes a new voice connection but keeps the same voice history.
- A task forked from a voice task is an ordinary Agent Quest and inherits neither the voice session nor voice-specific capabilities.
Notes
- Window scope: realtime voice is available only in the Quest window, and its settings are shown only there.
- A single connection: the whole application allows only one realtime voice connection at a time. A new connection replaces the old one, and the previous window closes out normally as "connection replaced."
- Startup failures are reported once: a denied microphone, no device, a device held by another app, an unsupported environment, or insufficient quota each produce the matching message and return you to the page you were on, leaving no half-open voice state behind.
- No automatic reconnect: after a drop or timeout, no pending-reconnect state is kept — start voice again from the bottom of the task.
- Full duplex throughout: echo cancellation removes only the model's own speech, and the microphone is never closed during playback, so you can interject at any time.
- Linux: native Wayland sessions do not support global pointer queries or programmatic window movement, so orb interaction is limited there.