Hero - the sovereign everything app
  • Rust 68.7%
  • JavaScript 12.8%
  • Shell 9.7%
  • HTML 4.4%
  • Makefile 2.3%
  • Other 2.1%
Find a file
Timur Gordon d490b4999a
All checks were successful
Build and Test / build (push) Successful in 5m23s
refactor: split hero_embedder into openrpc + http service files
Replace hero_embedder and hero_embedder_ui with hero_embedder_openrpc
and hero_embedder_http following the standard service split pattern.
Update hero_books dependency from hero_embedder to hero_embedder_openrpc.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 14:35:53 +01:00
.forgejo/workflows fix: update CI zinit clone branch from development_check to development 2026-02-24 02:46:09 +01:00
crates feat: add hero_inspector services to user profile, fix zinit startup hint 2026-02-24 13:35:51 +01:00
docs rename hero_forge to hero_fossil, remove hero_launcher, and fogejo fixes 2026-02-19 07:46:25 +01:00
examples rename hero_forge to hero_fossil, remove hero_launcher, and fogejo fixes 2026-02-19 07:46:25 +01:00
scripts fix: restore Makefile and build_lib.sh mangled by merge, fix extract_binary_name call 2026-02-23 10:13:40 +01:00
services refactor: split hero_embedder into openrpc + http service files 2026-02-24 14:35:53 +01:00
tests Restructure into multi-crate workspace with runtime profile management 2026-02-22 05:29:31 +03:00
.dockerignore refactor: Use zinit client library, remove init module, add Docker support 2026-02-11 12:31:42 +01:00
.env.example Add CODEROOT/BUILDDIR env vars and replace raw git with herolib_os GitTree 2026-02-15 19:14:45 +01:00
.gitignore feat: add admin web UI for Hero Zero service management 2026-02-12 11:02:11 +04:00
buildenv.sh Restructure into multi-crate workspace with runtime profile management 2026-02-22 05:29:31 +03:00
Cargo.toml Restructure into multi-crate workspace with runtime profile management 2026-02-22 05:29:31 +03:00
Dockerfile rename hero_forge to hero_fossil, remove hero_launcher, and fogejo fixes 2026-02-19 07:46:25 +01:00
LICENSE Initial commit 2026-01-09 21:39:18 +00:00
Makefile Use direct TCP port 8800 instead of hero_proxy for dev access 2026-02-24 02:23:39 +01:00
README.md Restructure into multi-crate workspace with runtime profile management 2026-02-22 05:29:31 +03:00

Hero Services

Service orchestrator for the Hero OS ecosystem.

Hero Services manages the lifecycle of all Hero services — building, installing, starting, stopping, and monitoring them via a unified JSON-RPC interface over Unix sockets.

Architecture

hero_services_sdk        (library: types + async Unix socket client)
     ↑         ↑          ↑           ↑
     |         |          |           |
  server     CLI         UI        rhai
Crate Type Purpose
hero_services_sdk library Types, RPC client, shared protocol
hero_services_server binary Daemon, JSON-RPC over Unix socket
hero_services binary CLI client using SDK
hero_services_ui binary Axum admin panel using SDK
hero_services_rhai library Rhai scripting bindings

Quick Start

git clone ssh://git@forge.ourworld.tf/lhumina_code/hero_zero.git
cd hero_zero
make run

Make Targets

make run           # Build (debug) and run server + UI (user profile)
make admin         # Run with admin profile
make beta          # Run with beta profile
make stop          # Stop all services
make install       # Build release and install to ~/hero/bin
make build         # Standalone binary with embedded services
make check         # cargo check + clippy
make test          # Full test pipeline (build, start, test, stop)

Services

User Profile

Service Socket / Port Purpose
hero_redis hero_redis.sock + port 3378 In-memory data store
hero_indexer hero_indexer.sock Full-text search
hero_indexer_ui hero_indexer_ui.sock Indexer admin panel
hero_embedder hero_embedder.sock Text embedding service
hero_embedder_ui hero_embedder_ui.sock Embedder admin panel
hero_osis hero_osis.sock Object storage API
hero_fossil hero_fossil.sock Code repositories
hero_auth hero_auth.sock OAuth2 authentication
hero_books port 8883 Book management
hero_os hero_os.sock Hero OS core
hero_proxy port 8080 Reverse proxy / API gateway

Admin Profile

Service Socket / Port Purpose
forgejo forgejo.sock + port 3393 Git forge
forgejo_mcp port 3395 MCP interface for Forgejo
hero_compute_manager hero_compute_manager.sock Compute resource manager
hero_embedder hero_embedder.sock Text embedding
my_router_path my_router_path.sock + port 2918 Path-based router

Beta Profile

Service Socket / Port Purpose
hero_aibroker hero_aibroker.sock AI model broker
hero_claude port 3780 Claude AI interface
hero_runner port 3391 Task runner
hero_shrimp hero_shrimp.sock Shrimp AI service
mycelium port 3392 Network mesh protocol

Sockets

All Unix sockets are located in:

~/hero/var/sockets/

The server daemon listens on:

~/hero/var/sockets/hero_services_server.sock

The admin UI listens on TCP port 7070 by default:

http://localhost:7070/admin/

CLI Commands

hero_services health                    # Check server health
hero_services list                      # List all services
hero_services start|stop|restart <name> # Control a service
hero_services logs [name] [-n LINES]    # View logs
hero_services config [name]             # Show configuration
hero_services install <name>            # Install a service
hero_services install-all               # Install all services
hero_services build-status              # Show build progress

Runtime Directories

~/hero/
├── bin/                          # Service binaries
├── src/                          # Source code (for build method)
├── var/
│   ├── sockets/                  # Unix domain sockets
│   │   ├── hero_services_server.sock
│   │   ├── hero_redis.sock
│   │   ├── hero_osis.sock
│   │   └── ...
│   └── hero_zero/
│       └── installed/            # Install tracking
└── cfg/zinit/                    # Generated zinit configs

Docker

make docker-build    # Build image with all services
make docker-push     # Build and push to forge.ourworld.tf
make docker-run      # Run locally with port mappings
make docker-login    # Authenticate to registry

Requirements

  • Rust toolchain (1.92+)
  • Git, Make
  • Docker (for container builds)

License

Apache-2.0