No description
- Rust 47.5%
- JavaScript 37.6%
- HTML 9.4%
- CSS 3.9%
- Python 1.6%
|
|
||
|---|---|---|
| .forgejo/workflows | ||
| .hero | ||
| crates | ||
| demo_deck | ||
| docs | ||
| examples | ||
| scripts | ||
| testplan | ||
| .gitignore | ||
| Cargo.lock | ||
| Cargo.toml | ||
| IMPLEMENTATION_SPEC.md | ||
| PURPOSE.md | ||
| README.md | ||
hero_slides
AI-powered presentation slide generation service for Hero OS.
Quick start (nushell)
service slides start --update --reset
service slides status
service slides stop
No Makefile or bash scripts — use the nushell service scripts only.
Full from-scratch restart (one-liner)
To wipe everything and rebuild the whole stack from newest source — hero_proc, hero_router, hero_db, hero_aibroker, then hero_slides — run:
service proc start --reset --update --clear --all
This single command is equivalent to running, in order:
service proc start --reset --update --clear
service router start --reset --update
service db start --reset --update
service slides start --reset --update
Flag meanings:
--reset— force a clean re-register + restart even when already healthy.--update—forge merge(pull newest code) andcargo updateinside each repo before rebuilding. Propagated recursively to every prerequisite service so the entire dependency chain is refreshed, not just the leaf.--clear— wipe hero_proc's persisted state (jobs/runs/services/actions), sweep orphaned sockets undervar/sockets/, and delete all hero_log files undervar/logs/. Implies--reset.--all— also start the standard downstream services (router,db,slides, …) with the same--reset --update.
Use this when you want a guaranteed-clean restart on top of the newest code across the whole stack — no leftover state, no stale binaries, no stale transitive deps.
Binaries
| Binary | Socket | Role |
|---|---|---|
hero_slides_server |
rpc.sock |
JSON-RPC 2.0 AI generation server |
hero_slides_admin |
admin.sock |
Web admin dashboard |
hero_slides |
— | CLI / Rhai script runner |
CLI usage
# Scan a directory for decks
hero_slides --scan myslides=/path/to/slides
# Generate all slides in a deck
hero_slides --generate myslides/intro
# Force regeneration
hero_slides --generate myslides/intro --force
# Run a built-in Rhai script
hero_slides --run generate_deck /path/to/deck
# Execute a custom Rhai script
hero_slides --script my_script.rhai arg1 arg2
Rhai built-in scripts
generate_deck— generate all slides in a deckgenerate_slide— generate a single slideexport_pdf— export a deck to PDFextract_pdf— extract PDF content for AI processingextract_theme— extract visual theme from an imagecreate_content— create slide content from intentinstruct_content— AI-instruct slide content refinementinstruct_theme— AI-instruct theme refinementinstruct_instructions— AI-instruct instructions refinementrun_wizard— interactive deck creation wizard
Sockets
All sockets live under $HERO_SOCKET_DIR/hero_slides/ (default ~/hero/var/sockets/hero_slides/):
rpc.sock— server JSON-RPC endpointadmin.sock— admin dashboard HTTP endpoint