Desktop GUI: Library tab with live sync to the server

- new Record/Library tabs (like the mobile app); the recording UI is
  unchanged inside the Record tab
- Library tab: recording list (date, duration, language, device), detail
  view with summary (scrollable, re-triggerable), agenda checklist with
  coverage marks, and the full timestamped transcript; Library URL field
  (defaults to MEETREC_LIBRARY_URL)
- sync: auto-refresh every 10 s — recordings made on the phone appear on
  the desktop while the tab is open; pending summaries update to done
  automatically and re-fetch
- shared library client in meetrec.py: library_list/library_get_file/
  library_trigger_summary
- validated headlessly (offscreen) against the live server: 6 recordings
  from phone and desktop listed, 68-min meeting detail with 1333-char
  summary and ~100k-char transcript
This commit is contained in:
2026-09-08 21:37:17 +02:00
parent c88af68fd9
commit 76cf992373
3 changed files with 330 additions and 3 deletions
+13
View File
@@ -157,6 +157,19 @@ MEETREC_DIARIZE_URL=http://100.103.83.12:8086 \
- `--agenda-file` supplies the agenda items (one per line).
- `--diarize-url` adds a second tinydiarize pass whose speaker-turn times are merged onto the transcript as `Sprecher 1:/Sprecher 2:` labels (2 speakers, best-effort on non-English audio; failures keep the transcript unlabeled).
- The GUI has the same options as fields (Library URL, Diarize URL, agenda editor).
## Library tab (GUI)
The desktop GUI has **Record** and **Library** tabs like the mobile app. The
Library tab browses the server's recordings with summary, agenda coverage
and the full transcript, and **auto-refreshes every 10 s** — record on the
phone, and the meeting appears on the desktop while the tab is open:
```sh
MEETREC_LIBRARY_URL=http://100.103.83.12:8090 python meetrec_gui.py
```
(The URL can also be typed into the tab's Library URL field.)
- `--device` / `--compute-type` do not apply (GPU vs. CPU is decided by the whisper.cpp build).
## Project layout