This project is migrating to a Next.js app with a packetized 80 ms speech-to-speech loop using an MLX-backed realtime server. For the current architecture and contracts, see ARCHITECTURE.md and PLAN.md.
Quickstart (current stack)
npm -C next-server installnpm -C next-server run packet:server (health: http://localhost:8788/health)npm -C next-server run dev (open: http://localhost:3000/packet-voice and /whisperx)npm -C next-server run smokeKey environment variables
Documentation
Note: Any legacy content referencing LM Studio has been archived and is not part of this Next.js packetized implementation.
A lightweight LM profiling endpoint is available on the packet server to help measure per‑step generation latency.
Example:
curl "http://localhost:8788/profile/lm?steps=32&warmup=4&timer=1"
Response:
{
"ok": true,
"steps": 32,
"warmup": 4,
"totalMs": 420,
"avgMs": 13.1,
"perStepMs": [12, 13, ...],
"tokens": [123, 456, ...]
}
Notes:
60 commits
TypeScript
83.1%
JavaScript
11.2%
HTML
3.0%
Python
2.2%
This project is migrating to a Next.js app with a packetized 80 ms speech-to-speech loop using an MLX-backed realtime server. For the current architecture and contracts, see ARCHITECTURE.md and PLAN.md.
Quickstart (current stack)
npm -C next-server installnpm -C next-server run packet:server (health: http://localhost:8788/health)npm -C next-server run dev (open: http://localhost:3000/packet-voice and /whisperx)npm -C next-server run smokeKey environment variables
Documentation
Note: Any legacy content referencing LM Studio has been archived and is not part of this Next.js packetized implementation.
A lightweight LM profiling endpoint is available on the packet server to help measure per‑step generation latency.
Example:
curl "http://localhost:8788/profile/lm?steps=32&warmup=4&timer=1"
Response:
{
"ok": true,
"steps": 32,
"warmup": 4,
"totalMs": 420,
"avgMs": 13.1,
"perStepMs": [12, 13, ...],
"tokens": [123, 456, ...]
}
Notes:
60 commits
TypeScript
83.1%
JavaScript
11.2%
HTML
3.0%
Python
2.2%