Set AGENT_NAME_SPOKEN=Eva (example) and document name/phone behaviour

- .env.example: add AGENT_NAME_SPOKEN=Eva.
- CLAUDE.md: note the agent-name respelling (AVA -> Eva, "EE-vuh"), that the
  caller-ID is injected pre-spelled (model mangles raw digits), and that the
  phone is confirmed near the END of the call, not led with.

(.env itself is gitignored; AGENT_NAME_SPOKEN=Eva set there and live.)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
tocmo0nlord
2026-06-26 02:33:08 +00:00
parent 703c902d0f
commit 0605025113
2 changed files with 13 additions and 3 deletions

View File

@@ -55,5 +55,7 @@ KOKORO_MODEL_DIR=/home/tocmo0nlord/pipecat-run/models
# ── Call behaviour ───────────────────────────────────────────────────────────
AGENT_NAME=AVA
# How the name is SPOKEN (TTS only; logs/Odoo keep AGENT_NAME). "Eva" -> "EE-vuh".
AGENT_NAME_SPOKEN=Eva
# Grace pause after the goodbye before the carrier leg is dropped (seconds).
HANGUP_DELAY_SECS=4.0

View File

@@ -66,8 +66,15 @@ raw digit strings as cardinals with symbols spoken aloud ("983-4969" → "nine h
eighty-three dash forty-nine sixty-nine"). This subclass normalizes the text in `run_tts`
(which receives the full sentence) so US phone numbers and 45 digit runs (street numbers,
zips) are spoken one digit at a time — country code dropped, no "dash"/parens; dates and
times left natural ("Monday the fifth", "three thirty"). Deterministic, so it's robust to
whatever the model emits. Keep it. `tts_normalize()` holds the rules.
times left natural ("Monday the fifth", "three thirty"). It also respells the all-caps agent
name to `AGENT_NAME_SPOKEN` (Kokoro reads "AVA" as "A-V-A"; set to "Eva" so it says
"EE-vuh"). Deterministic, so it's robust to whatever the model emits. Keep it.
`tts_normalize()` holds the rules.
> Note: don't rely on the model to read raw digits — it mangles them (it emitted
> "197-three five seven three…" once). The caller-ID is injected into the prompt **already
> spelled out** so AVA just repeats clean words; `tts_normalize` is the backstop for any
> other numbers.
---
@@ -215,6 +222,7 @@ STREAM_TOKEN=
# Call behaviour
AGENT_NAME=AVA
AGENT_NAME_SPOKEN=Eva # how the name is pronounced in TTS (logs/Odoo keep AGENT_NAME)
HANGUP_DELAY_SECS=4.0 # grace pause after the goodbye before dropping the carrier leg
ENABLE_TOOLS=
VAD_CONFIDENCE=0.5
@@ -244,7 +252,7 @@ Replies are kept to one short sentence.
| Field | In-call behavior | Logged as |
|-------|------------------|-----------|
| Full name | Asks for last name if only a first is given | `patient_name` / lead `contact_name` |
| Phone | Reads back the caller-ID number; if the caller declines, uses the number they give | `callback_number` (+ `phone_confirmed`) |
| Phone | Confirmed **near the end** (not led with); reads back the caller-ID — injected pre-spelled so it's said digit-by-digit — and if the caller declines, uses the number they give | `callback_number` (+ `phone_confirmed`) |
| Office / city | Asks city/area; when the caller names a place that matches an office, **confirms that office and moves on** — never offers/compares other offices or asks them to choose; names the nearest only if nothing matches | folded into `reason` prefix |
| Reason | Captured from the conversation | `reason` |
| Insurance | **Log only** — asks the plan, never promises/confirms/denies coverage or treatment (even a listed plan); staff verify on callback | `insurance` (note: "log only — staff to verify") |