Evidence Map
Inspection scope
Inspected the project manifest, README, Vite configuration, main React shell, voice-agent hook, LLM runtime, TTS facade, model/tool libraries, public workers, and parser tests. Generated files, dependency folders, and downloaded model weights were excluded.
Key evidence
| Area |
Evidence |
| Product |
README.md, src/App.tsx |
| Orchestration |
src/hooks/use-voice-agent.ts |
| LLM boundary |
src/lib/llm-runtime.ts, src/lib/llm/ |
| STT/VAD |
public/stt-worker-esm.js, public/vad-processor.js, src/lib/stt-models.ts |
| TTS |
src/hooks/use-tts.ts, src/lib/tts.ts, src/lib/tts-providers/ |
| Tools |
src/lib/tools/registry.ts, src/lib/tools/execute.ts |
| Configuration |
package.json, vite.config.ts, vercel.json, tsconfig*.json |
| Quality |
src/lib/llm/parsers/test-parsers.ts, test-tools.ts |
Commands used
git clone https://github.com/Hari31416/local-voice-chat.git repos/local-voice-chat
- Repository file and manifest inspection
pnpm install and pnpm build are the intended validation commands; model inference was not run in this environment.
Confidence assessment
| Subsystem |
Confidence |
Reason |
| UI composition |
High |
Main shell and studio components are present |
| Voice orchestration |
High |
useVoiceAgent exposes the complete lifecycle |
| LLM routing |
High |
Adapter registry and tool loop are explicit |
| STT worker internals |
Medium |
Worker is present but model execution depends on browser assets |
| Persistence |
Medium |
Preference/cache helpers are visible; browser storage was not exercised |
| Deployment |
Medium |
Static build and Vercel headers are documented |
| Security posture |
Medium |
Client-only boundary is clear, but browser permission behavior is runtime-dependent |
Fact classification
- Confirmed: no application API server appears in the manifest or source layout.
- Confirmed: four LLM engine families are represented by adapters.
- Confirmed: microphone processing and STT run outside the React render thread.
- Inferred: browser caches make repeated model startup cheaper; exact eviction behavior depends on the provider and browser.
- Unknown: production cache hit rates, device compatibility across all model variants, and real-world memory pressure.