Sleeptalk

Calls

Call destinations

Talk to your agent from a browser, the terminal on the runtime host, or a Discord voice channel.

Choose where you talk

DestinationWorks fromTime limitStart with
This computerA browser on the runtime host (localhost)Nonesleeptalk --web
Hosted relayAny browser, anywhere30 minutes, announced before it endsA link your agent sends
Your tailnetDevices on the same Tailscale networkNoneA link your agent sends, or --tailnet
TerminalThe microphone and speakers on the runtime hostNonesleeptalk --terminal
DiscordOne voice channel in your serverNone/<profile> join in the channel's chat

Browser calls end after 90 seconds of silence. The settings page shows the browser choices under Call delivery. Open it with sleeptalk settings --open.

This computer

Run sleeptalk --web from your workspace. The call opens in a browser on the same machine, on a localhost address, with no relay. The link does not work on another device.

If the profile's delivery is set to your tailnet, sleeptalk --web publishes the call on the tailnet instead.

Web calls and security →

When you talk to your agent in chat, it can send you a single-use call link. Open it yourself on the device you want to speak from. The profile decides how that link travels:

  • Hosted relay (the default): the link opens on call.sleep.talk and works from any network. The call ends after 30 minutes; the page warns you 2 minutes and 30 seconds before.
  • Your tailnet: the call is published under the host's Tailscale name with tailscale serve. Only devices on your tailnet can open it. There is no relay, no TURN, and no time limit.

Choose the tailnet once and every later call uses it:

Store the tailnet choice in the profile
sleeptalk host ensure --profile default --tailnet

This writes delivery = "tailnet" under [transport.options]. You can also pick it on the settings page, or add --tailnet to a single sleeptalk host start-voice or sleeptalk link command. Each start receipt names its delivery: local, tailnet, or hosted_relay. A tailnet link contains .ts.net.

Calls over your tailnet →

Terminal

Use the microphone and speakers attached to the runtime host. Grant microphone permission when the OS asks.

sleeptalk --terminal

Set up Terminal audio →

Discord

A bot joins one voice channel in your server and answers only the people you allow. It runs as its own profile and reuses your browser profile's speech key. Set it up from the settings page's Discord section, from a phone link your agent sends, or with sleeptalk --discord.

Set up Discord →

Setting up from a phone

If your agent runs on another machine, ask it for a setup link. It opens the settings page on your phone. Pick a speech provider, enter its key, and choose a voice. Everything travels encrypted to the runtime host, and the key is saved there. Then ask the agent for a call link. For the full settings page later, run sleeptalk settings --phone on the host, or ask the agent for a settings link.

A setup link is not a call link. It is single use and expires in 10 minutes if nobody opens it. Keep it private and never paste keys into the agent's chat. See set up through an agent.