No description
  • Rust 47.5%
  • JavaScript 37.6%
  • HTML 9.4%
  • CSS 3.9%
  • Python 1.6%
Find a file
2026-05-10 23:05:25 +02:00
.forgejo/workflows ci(release): name artifacts using full Rust target triple 2026-05-04 13:21:11 -04:00
.hero feat(admin): fetch theme from hero_proc, adopt hero-connection-status web component, add folder.pick RPC 2026-05-10 23:05:20 +02:00
crates Merge branch 'development' of forge.ourworld.tf:lhumina_code/hero_slides into development 2026-05-10 23:05:25 +02:00
demo_deck fix(server,ui): complete collections migration — wire all RPC handlers to collection+deck routing 2026-04-22 22:01:13 +02:00
docs fix: remove bash scripts and fix stale socket paths in examples 2026-05-07 21:23:18 +02:00
examples fmt(examples): update hero_slides_intro metadata 2026-04-29 17:40:01 +02:00
scripts feat(server): align JSON-RPC dispatcher with openrpc.json (param shim + helpers) (#50) 2026-05-10 02:38:17 +00:00
testplan fix: remove bash scripts and fix stale socket paths in examples 2026-05-07 21:23:18 +02:00
.gitignore feat(examples,ui,server): ship hero_slides_intro example deck + fixes 2026-04-24 16:06:42 +02:00
Cargo.lock feat(admin): fetch theme from hero_proc, adopt hero-connection-status web component, add folder.pick RPC 2026-05-10 23:05:20 +02:00
Cargo.toml chore: bump version to 0.6.0, downgrade reqwest to 0.12 2026-05-08 12:54:36 +02:00
IMPLEMENTATION_SPEC.md feat(rhai): hero_do_hero_slides binary for running Rhai scripts standalone 2026-04-20 18:58:52 +02:00
PURPOSE.md refactor: rename hero_slides_ui to hero_slides_admin 2026-05-07 20:24:53 +02:00
README.md docs: add full from-scratch restart instructions 2026-05-08 16:06:31 +02:00

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.
  • --updateforge merge (pull newest code) and cargo update inside 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 under var/sockets/, and delete all hero_log files under var/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 deck
  • generate_slide — generate a single slide
  • export_pdf — export a deck to PDF
  • extract_pdf — extract PDF content for AI processing
  • extract_theme — extract visual theme from an image
  • create_content — create slide content from intent
  • instruct_content — AI-instruct slide content refinement
  • instruct_theme — AI-instruct theme refinement
  • instruct_instructions — AI-instruct instructions refinement
  • run_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 endpoint
  • admin.sock — admin dashboard HTTP endpoint