2.8 KiB
2.8 KiB
Hermes Dashboard — Status
Operational · Updated: 2026-10-14
Goal: Single moldable mission-control screen on top of existing Hermes + Agent OS vault.
Current state — ALL PHASES COMPLETE
- Phase 0–1: Project scaffolded, WRITE_PROTOCOL in place, HOME.md boot order updated.
- Phase 2: Streamlit dashboard at
~/Projects/hermes-dashboard/app.py— 6 live cards. - Phase 3: Apollo persistent voice (
apollo_voice.py) — local STT+TTS loop, barge-in. - Phase 4: Oracle content loop (
oracle_loop.py) — ClearFeed → hooks + angles + social/blog drafts. - Phase 5: Search OS (
search_os.py) — site analysis + parasite-SEO content generation. - Phase 6: Daily loop polish — launch.bat, daily note pattern, Chat card labeled.
Launch
# Desktop shortcut or terminal:
~/Projects/hermes-dashboard/launch.bat
# Or direct:
cd ~/Projects/hermes-dashboard
streamlit run app.py
Runs on http://localhost:8501.
Next actions
- All 6 phases complete
- Connect to live LLM endpoints for voice + Oracle LLM mode
- Wire cron jobs for daily Oracle + Search OS runs
- Safari 27 MCP when macOS node available
Success criteria
Dashboard is the daily home. Every agent writes high-signal memory to the vault. Voice, Oracle, and Search OS are one click away.
2026-10-14 11:55 PT — Fix pass + mission-control rebuild
Fixed (verified):
- Apollo: detection now matches python processes whose CommandLine contains apollo_voice.py (psutil, falls back to Get-CimInstance); Start is blocked if already running; Stop does taskkill /PID /T /F with a timeout; real HTTP check of :1920 with st.error when down; Apollo stdout/stderr goes to apollo/apollo.log with a tail shown.
- apollo_voice.py: removed the wrong /32768 scaling on float audio, added the missing nonlocal last_energy_time, and the "LLM unreachable" message now names the endpoint.
- Chat link now points to http://127.0.0.1:8787 (Hermes WebUI).
- Oracle: Run button runs oracle_loop.py with the venv python (300s timeout) and shows rc/stdout/stderr (tested rc 0); SAMPLE DATA badge; draft links replaced by full paths + download buttons.
- Search OS: URL + keyword inputs, runs search_os.py (120s timeout), correct PowerShell command shown.
- Video/Audit/Projects: disabled, labelled "not wired yet".
- UI rebuilt: dark theme (.streamlit/config.toml), status bar, bordered cards, render_() + CARDS registry, cached vault scans.
- Streamlit restarted on :8501; / and /_stcore/health both return 200.
Remaining blockers:
- No model is serving on :1920 (Apollo) or :8080 (Oracle --llm), so Apollo can only return an error and Oracle runs template mode only.
- ClearFeed stories.json is the example.com sample fixture, so all Oracle output is fake data.
- Apollo has not been mic-tested (Start was not clicked).