Files
project-lyra/deploy
serversdown 9e4a731c27 feat(web): dedicated full-page log viewer + run lyra-web as a service
The inline log panel is cramped, especially on mobile. Add a standalone
mobile-first log page and serve the chat server under systemd like the dream
loop (the nohup process didn't survive cleanly).

- static/logs.html: full-page live log — level filter chips, text search,
  pause/resume with buffering, autoscroll toggle, color-coded levels, and the
  expandable "view full prompt" block (where the now-note is visible in context)
- server: GET /logs serves the page (FileResponse)
- index.html: "⛶ Full Log" button opens /logs in a new tab
- deploy/lyra-web.service: user service so the chat server is reboot-resilient

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-17 03:41:54 +00:00
..

Deploy

Dream cycle (lyra-dream.service)

Lyra's unattended inner loop. Runs lyra-dream --loop 1800 so she consolidates memory and reflects every 30 min between conversations. Installed as a systemd user service on lyra-cortex (10.0.0.41), running as serversdown — no root needed to manage it.

Install / update

cp deploy/lyra-dream.service ~/.config/systemd/user/lyra-dream.service
systemctl --user daemon-reload
systemctl --user enable --now lyra-dream.service

Persist across reboot / logout (one-time, needs sudo)

A user service stops when the user logs out and doesn't start at boot until login — unless lingering is enabled:

sudo loginctl enable-linger serversdown

Operate

systemctl --user status lyra-dream.service      # is she ticking?
journalctl --user -u lyra-dream.service -f       # watch her think (logbus -> stderr)
systemctl --user restart lyra-dream.service      # after a code change
systemctl --user stop lyra-dream.service         # quiet her down

Tunables live in lyra/dream.py (drive thresholds, curiosity gains) and the --loop interval in the unit's ExecStart. The consolidation backend follows SUMMARY_BACKEND in .env (cloud gpt-4o-mini for bulk; the MI50 is too slow for the summarization backfill).