Problem
The voice-call plugin keys sessions by caller phone number (voice:${normalizedPhone} in response-generator.ts). This means all calls from the same number share conversation history, causing the AI to "remember" previous calls — referencing prior appointments, caller details, etc.
For use cases like a phone receptionist/booking agent, each call should be treated as a completely independent interaction with no memory of prior calls.
Current Workaround
Patching response-generator.ts to use voice:call:${callId} instead of voice:${normalizedPhone} as the session key. This works but gets overwritten on every update.
Proposed Solution
Add a sessionScope config option to the voice-call plugin:
{
plugins: {
entries: {
"voice-call": {
config: {
sessionScope: "per-call", // "per-call" | "per-phone" (default)
}
}
}
}
}
per-phone (default): Current behavior — sessions keyed by phone number, history persists across calls. Useful for personal assistant use cases.
per-call: Sessions keyed by call ID — each call starts fresh with zero history. Useful for receptionist/booking/IVR use cases.
Context
Running a koi pond service receptionist that books consultations. The per-phone session caused the AI to reference prior test calls and appointments when it should treat every caller as brand new.
Problem
The voice-call plugin keys sessions by caller phone number (
voice:${normalizedPhone}inresponse-generator.ts). This means all calls from the same number share conversation history, causing the AI to "remember" previous calls — referencing prior appointments, caller details, etc.For use cases like a phone receptionist/booking agent, each call should be treated as a completely independent interaction with no memory of prior calls.
Current Workaround
Patching
response-generator.tsto usevoice:call:${callId}instead ofvoice:${normalizedPhone}as the session key. This works but gets overwritten on every update.Proposed Solution
Add a
sessionScopeconfig option to the voice-call plugin:per-phone(default): Current behavior — sessions keyed by phone number, history persists across calls. Useful for personal assistant use cases.per-call: Sessions keyed by call ID — each call starts fresh with zero history. Useful for receptionist/booking/IVR use cases.Context
Running a koi pond service receptionist that books consultations. The per-phone session caused the AI to reference prior test calls and appointments when it should treat every caller as brand new.