EchoPilot is a local-first Windows copilot for meetings.
The name is a play on echo + copilot: it captures what is being said, transcribes it in real time, and uses AI to help the user expand reasoning during conversations, especially when it is hard to clearly understand speech, remember details, or reference earlier points.
The project combines real-time system audio transcription (WASAPI loopback), DeepSeek-only LLM analysis, and dual UI delivery (web + desktop with Always On Top and PiP).
- Core service: Python + FastAPI + faster-whisper (CTranslate2)
- Web app: React + Vite + TypeScript
- Desktop: Tauri 2
- Secrets: Windows Credential Manager
- Start/Stop transcription pipeline API.
- WASAPI loopback capture integration path.
- ASR backend with CUDA/CPU fallback status.
- WebSocket streaming for transcript/status events.
- DeepSeek LLM analysis endpoint using base URL + model + prompt.
- Web UI focused on live transcription, AI analysis, and model/runtime controls.
- Desktop wrapper with Always On Top and PiP toggles.
- Windows scripts for setup, run, and build.
- Run the development setup once:
./scripts/setup-dev.ps1- Start the full local app from the repository root:
run-project.batThis starts the core service, the Vite web app, and the Tauri desktop shell through scripts/run-local.ps1.
Desktop-only window controls such as Always on top and Hide from screen capture are available only in the Tauri desktop shell started by run-project.bat. If you open http://127.0.0.1:5173 directly in a regular browser, the page cannot control browser always-on-top behavior or exclude that browser window from screen capture.
- If you prefer PowerShell, you can start the same local stack directly:
./scripts/run-local.ps1- The web UI is available at:
- To stop all local EchoPilot processes:
scripts\stop-local.batScreen capture hiding uses Windows window display affinity. It can hide the controlled desktop window from supported screenshots, recordings, and screen sharing tools, but it is not a guarantee against every capture method or external camera.
GET /healthGET /diagnosticsGET /settingsPUT /settingsPOST /llm/credentialsDELETE /llm/credentialsPOST /transcription/startPOST /transcription/stopPOST /analysis/nowGET /transcriptWS /ws
- MSI installer via Tauri bundling.
- Portable ZIP assembled from desktop build + bundled core runtime.
See distribution guide.
