idriz fd30ff2b8a Nova aplikacija "Šta za ručak?" (obroci)
Glasovni prijedlozi doručka/ručka iz porodičnih lista (ne izmišlja, ne pretražuje web).
- idriz/apps/obroci/store.py: liste jela po obroku + istorija pojedenog (bez openai).
- manifest.py: alati obroci_prijedlog (nasumično sa liste; ponovni poziv za isti
  obrok daje drugo jelo jer se prethodno tretira kao odbijeno; izbjegava jela
  pojedena zadnja 3 dana) i obroci_dodaj (dodavanje jela glasom).
- Pamćenje pojedenog: zadnji NE-odbijeni prijedlog za dan/obrok se bilježi kao
  pojedeno (svaki prijedlog prepiše današnji zapis).
- admin.py + templates/obroci.html: dvije textarea (doručak/ručak) + istorija zadnjih dana.
- Registrovano u load_apps() i ADMIN_APPS.

Prvi app napravljen po CLAUDE.md obrascu.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LzKpYaEsuWDevuNnvSjcFW
2026-09-11 14:35:51 +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.2)

  • Razgovor: odgovara na pitanja glasom, kratko. Dijete kroz razgovor traži "naprednije" ili "pojednostavi" i Idriz drži taj nivo do kraja razgovora.
  • 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.5), 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"

Igra "Superheroji"

Glasovna igra (bez štampanja). Tok: Idriz pita koliko igrača (1–5) i imena, pa se igra nekoliko rundi. Svaku rundu svaki igrač kaže jednog izmišljenog lika (bilo koji medij — Supermen, Mario, La Linea, Mad Max...), a Idriz presudi ko bi pobijedio i zašto. Pobjednik runde se više ne može birati do kraja partije. Sistem pamti relativne jačine likova (Elo) u ~/.local/share/idriz/heroes.json da borbe budu dosljedne kroz partije. Za prepoznavanje likova koristi se najjači tekstualni model (game_model, default gpt-5.5) i njegovo znanje; web search (Responses API) samo kad model ne zna lika.

  • idriz/gamestore.py — trajno skladište (heroji, Elo, broj rundi), bez vanjskih zavisnosti.
  • idriz/game.py — prepoznavanje likova, presuđivanje, tok partije (Match).
  • Broj rundi i rang-lista heroja se podešavaju u admin panelu (tab "Superheroji").
Description
No description provided
Readme 983 KiB
Languages
Python 85.4%
HTML 14.3%
Shell 0.3%