Talk to the AI Assistant

Dictate a message by speaking, or talk with the assistant hands-free and hear its replies.

The AI assistant takes speech in two modes. Dictation types what you say into the message box, so you can check it before you send. A live conversation lets you talk with the assistant and hear its short spoken replies. Both start from the message box at the bottom of the panel.

Allow microphone access

Both modes need the microphone. Allow it the first time the browser or the app asks.

  • Browser: the browser asks for microphone access to JobWise Pro. If you blocked it, voice doesn't start and the panel says the microphone is blocked. Allow the microphone for JobWise Pro in your browser's site settings, then try again (src/lib/ai/voice/microphone.ts:31-38).
  • No microphone: if the computer has no microphone connected, connect one and try again (src/lib/ai/voice/microphone.ts:33-36).
  • iPhone and iPad app: iOS asks for microphone access the first time you use voice. If you declined, turn it on for JobWise Pro in the iOS Settings app (native/ios/App/App/Info.plist:44-45).

Dictate a message

Use dictation to write a message by speaking, then review it before it sends.

  1. Select Dictate, the mic button beside the send button (src/lib/components/ai/AiComposer.svelte:90-101).
  2. Speak. Your words appear in the message box as you say them.
  3. Select Stop dictating when you finish. Dictation also stops by itself after a minute without speech (src/lib/config/ai-voice.ts:22-23).
  4. Read the message, fix anything wrong, and press Enter to send (src/lib/components/ai/AiComposer.svelte:35-37).

The message stays in the box until you send it. You can type while dictating. The words you say are added after the text already in the box (src/lib/components/ai/voice.svelte.ts:121-135).

Start a live conversation

Use a live conversation to talk through a question or an update without typing.

  1. Select Start live conversation, the audio-lines button to the left of the mic button (src/lib/components/ai/AiComposer.svelte:79-89).
  2. Allow microphone access if the browser asks.
  3. Speak. The assistant sends what you said when you stop talking.
  4. Listen to the reply. When it finishes, the assistant listens again.

The live view opens in the panel. What you say and each reply are added to the conversation as messages.

The assistant keeps spoken replies to one to three short sentences, with no lists, tables or links. It names records by name, not by number (src/lib/server/ai/core/prompt.ts:106-109).

Note

The button is unavailable while a reply is streaming, a message is sending, or dictation is running (src/lib/components/ai/AiComposer.svelte:86).

Interrupt a reply and confirm actions

Start talking while the assistant speaks, and it stops and listens to you. The reply on the server stops at its next step, and any change that already ran keeps its Undo (src/lib/components/ai/voice.svelte.ts).

When a reply proposes a change or asks you to pick a record, the card appears in the live view in place of the captions as soon as it arrives, even while the reply is still being read aloud, and you can answer it right away. You stay in the live conversation (src/lib/components/ai/AiLiveView.svelte).

  • A change to confirm: say yes, yeah, yep, yes please, confirm, go ahead, do it or sure to confirm it, or no, nope, cancel, no thanks or don't to reject it. You can also tap Confirm or Reject on the card. Listening resumes once the change is decided (src/lib/components/ai/voice.svelte.ts).
  • A record to pick: tap the record you mean, or search and tap a result. The pick is sent at once. Select None of these if none fits. You can also keep talking and describe the record instead (src/lib/components/ai/AiChoiceCard.svelte).

Note

Only a short answer on its own confirms or rejects a change. Anything longer, such as yes followed by a correction, goes to the assistant as a normal message, and nothing is changed. Saying a record's name never picks it for you.

If a confirmed change fails, the card stays on screen with Try again.

Live conversation controls

  • The orb: tap it to mute your microphone, and tap it again to unmute. While muted, the orb turns grey and shows a crossed-out mic. The assistant keeps replying out loud, but it can't hear you (src/lib/components/ai/AiLiveView.svelte).
  • End: ends the conversation and returns to the chat, with the cursor in the message box. A reply still in progress finishes in the transcript without being read aloud (src/lib/components/ai/AiAssistantPanel.svelte).

When a session ends

Every session ends back in the chat, with the conversation and anything you had typed still there, and the cursor in the message box (src/lib/components/ai/AiAssistantPanel.svelte).

  • Saying goodbye: say goodbye, "that's all" or "we're done", and the session ends once the assistant's reply is read aloud. Talking over that last reply ends it too (src/lib/server/ai/core/prompt.ts; src/lib/components/ai/voice.svelte.ts).
  • Silence: a session that hears no speech for 30 seconds while it listens ends, and the panel says why. The time the assistant spends thinking or speaking, or waiting on a card, doesn't count. A muted session doesn't end for silence, but it ends after 2 minutes muted, and the panel says why (src/lib/config/ai-voice.ts).
  • Time limit: a session ends after 20 minutes, and the panel says why (src/lib/config/ai-voice.ts).
  • Connection problem: if the connection drops or voice is busy, the session stops and the panel says why above the message box (src/lib/ai/voice/voice-input.ts).

To talk again, select Start live conversation in the message box.

Hear or copy a reply

Every reply with text has two buttons under it (src/lib/components/ai/AiMessageList.svelte):

  • Read aloud: plays the reply. Select it again, now Stop reading, to stop. Only one reply plays at a time.
  • Copy: copies the reply's text. Linked records are copied as their names.

The latest reply always shows them. On a computer, earlier replies show them when you point at the reply.

Credits and what is saved

Speech uses AI credits, the same balance as other assistant messages. Recognition is charged by the minute of speech, and spoken replies are charged by the length of text read aloud (src/lib/config/ai-voice.ts:25-27). A session reserves up to 20 minutes of credits when it starts, and the unused part returns when it ends (src/lib/config/ai-voice.ts:19-20). See Manage AI Credits for the balance, limits and automatic top-ups.

Audio isn't recorded or stored. Only the text of what you said and the replies is saved, as normal messages in the conversation (src/lib/components/ai/voice.svelte.ts:288-293).