Agents

Dictare delivers voice input to AI coding agents via the OpenVIP protocol. Agents run in dictare-managed terminal sessions with a status bar at the bottom.

Built-in Agent Profiles

Dictare ships with presets for popular coding agents:

Type Description
claude Claude Code (Anthropic) — default
codex Codex CLI (OpenAI)
gemini Gemini CLI (Google)
aider Aider
pi Pi (Mario Zechner)

Launch with a session name:

dictare agent bowie
dictare agent plant --profile codex
dictare agent lemmy --profile gemini

Custom Agent Profiles

Define your own agent profiles in config.toml:

[agent_profiles.myagent]
command = "my-custom-cli"
description = "My Custom Agent"
continue_args = ["--resume"]

Then launch it:

dictare agent myagent

Configuration Fields

Field Description
command The CLI command to run
description Human-readable name
continue_args Arguments appended when using --continue

Terminal Configuration

Agent profiles can include terminal-specific settings:

[agent_profiles.claude.terminal]
# Terminal-specific configuration for the agent

Multi-Agent Setup

You can run multiple agents simultaneously. Each agent connects to the Dictare engine and receives transcriptions independently.

Multi-agent introduces the concept of current agent — the agent that receives your voice input. This is independent of window focus: your voice always goes to the current agent, even if its terminal is behind other windows.

Start Multiple Agents

Open separate terminals and launch different agents:

# Terminal 1
dictare agent angus

# Terminal 2
dictare agent slash --profile codex

Setting the Current Agent

There are several ways to set the current agent:

  1. Tray app — click the tray icon, go to Current, and select the agent you want.

  2. Dashboard — in the web dashboard at http://localhost:8770/ui, click on an agent to make it current.

  3. Voice — say "agent angus" or "agent slash". Dictare announces the switch via TTS so you know which agent is now active.

  4. Claim key — press Ctrl+\ in a terminal to claim it as the current agent. Useful when you're already looking at the terminal you want to talk to.

[client]
claim_key = "ctrl+\\"    # Customizable

Continuing Sessions

Use --continue to resume a previous agent session:

dictare agent cobain --continue

This passes the agent profile's continue_args to the underlying command (e.g., claude -c).

How Agent Delivery Works

  1. Dictare engine runs as a background service
  2. When you run dictare agent bonham, it starts the default coding agent in a dictare-managed session
  3. The session connects to the engine via OpenVIP
  4. Voice transcriptions are delivered to the agent as if you typed them