Local quickstart#
Use fake providers first. This verifies service wiring without making a phone call or spending provider credits.
Before you start#
- A completed installation.
- A local
.envfile that is not committed to Git. - Ports 8000 and 3000 available.
Start locally#
In
.env, set the AI, speech-to-text and text-to-speech providers to their fake implementations. Keep the public base URL on localhost.Start the runtime and dashboard:
.\scripts\dev.ps1 -SeedOpen
http://localhost:3000.
Local development may omit the dashboard password while the service remains bound to localhost. Set production authentication before exposing it.
Verify#
In another terminal, check liveness:
Invoke-RestMethod http://localhost:8000/api/health
The request should return a healthy response. Open the dashboard and confirm that its overview loads runtime status. The production readiness endpoint may intentionally report blockers while fake providers and development secrets are configured; use it when preparing a live deployment.
If it does not work#
| Symptom | Check | Recovery |
|---|---|---|
| The health request is refused | Whether both services actually started, and on the expected ports | Read the startup output; a port already in use fails quietly in one terminal and loudly in the other |
| Health answers but readiness does not | /api/ready names the blocker |
See Readiness reports blockers |
| The dashboard loads but shows no data | Whether you are running against the fake providers this page configures | Fake providers produce no live calls; that is expected here |
| The runtime refuses to start after you change a setting | Whether a phone feature was enabled without its required values | See Troubleshooting |