idriz 78967e15f9 Idriz v0.1: Realtime voice assistant with Wikipedia summaries and coloring pages
- OpenAI Realtime session (server VAD, half-duplex audio via pacat/PipeWire)
- Tools: wikipedia_sazetak (en.wikipedia -> Bosnian summary, max 2 A4 pages via WeasyPrint)
  and bojanka (image generation -> pure line art on A4)
- CUPS printing, systemd user service, install script, offline test script

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LzKpYaEsuWDevuNnvSjcFW
2026-09-02 18:37:39 +02:00

Idriz

Glasovni pomoćnik za djecu, alternativa ekranu. Sluša preko mikrofona, govori na zvučnik, a rezultate štampa na printer. Radi samo na mašini idriz (Debian 13); ovaj repozitorij služi za sigurnosne kopije koda.

Šta zna (v0.1)

  • Sažetak sa Wikipedije: nađe članak na engleskoj Wikipediji, prevede ga i sažme na bosanski, prilagodi uzrastu i odštampa najviše 2 stranice.
  • Bojanka: generiše crno-bijelu sliku sa konturama preko cijele A4 stranice i odštampa je.

Razgovor ide preko OpenAI Realtime API-ja (govor u govor). Tišina znači kraj komande. Idriz prije štampanja uvijek pita za potvrdu.

Struktura

  • idriz/assistant.py glavna petlja (Realtime sesija, alati, half-duplex audio)
  • idriz/audio.py mikrofon i zvučnik preko pacat (PipeWire), PCM16 24 kHz
  • idriz/wiki.py pretraga i preuzimanje članka
  • idriz/textgen.py prevod i sažetak (chat model, JSON)
  • idriz/render.py HTML → PDF (WeasyPrint), automatsko uklapanje u 2 stranice
  • idriz/coloring.py generisanje slike i pretvaranje u čiste konture, A4 PDF
  • idriz/printer.py lp na CUPS printer idriz-printer
  • systemd/idriz.service korisnički servis

Instalacija

scripts/install.sh
# upiši OPENAI_API_KEY u ~/.config/idriz/env
systemctl --user start idriz
journalctl --user -u idriz -f

Konfiguracija (okolina)

OPENAI_API_KEY, IDRIZ_REALTIME_MODEL (gpt-realtime-2.1), IDRIZ_TEXT_MODEL (gpt-5.4-mini), IDRIZ_IMAGE_MODEL (gpt-image-2), IDRIZ_VOICE (cedar), IDRIZ_PRINTER (idriz-printer), IDRIZ_DRY_RUN=1 (ne štampa), IDRIZ_MAX_PAGES (2), IDRIZ_VAD_SILENCE_MS (900), IDRIZ_MIC_DEVICE, IDRIZ_SPEAKER_DEVICE.

Odštampani PDF-ovi ostaju u ~/.local/share/idriz/out/.

Test bez štampanja

IDRIZ_DRY_RUN=1 .venv/bin/python scripts/test_summary.py "Volcano" "8 godina"
Description
No description provided
Readme 983 KiB
Languages
Python 85.4%
HTML 14.3%
Shell 0.3%