Go to file
2025-08-05 15:45:38 +02:00
_archive rename worker to actor 2025-08-05 15:44:33 +02:00
cmd rename worker to actor 2025-08-05 15:44:33 +02:00
core Merge branch 'main' of https://git.ourworld.tf/herocode/hero 2025-08-05 15:45:38 +02:00
interfaces rename worker to actor 2025-08-05 15:44:33 +02:00
proxies/http initial commit 2025-07-29 01:15:23 +02:00
.gitignore initial commit 2025-07-29 01:15:23 +02:00
Cargo.lock rename worker to actor 2025-08-05 15:44:33 +02:00
Cargo.toml rename worker to actor 2025-08-05 15:44:33 +02:00
README.md rename worker to actor 2025-08-05 15:44:33 +02:00

Base Object and Actor Backend

Hero is a program that runs scripts in contexts on behalf of a peer. Hero aims to support a language sufficient to support all of one's digital actions. As such, hero can become a tool of digital sovereignty, allowing people and groups to own their own structured data and functionality to act on it.

Terminology

Term Definition
Hero A program that runs scripts in various contexts on behalf of a peer.
Heroscript A script that runs in a confined environment on behalf of a peer.
Rhai A scripting language integrated into the Hero environment for script execution.

Core

In its core, a supervisor dispatches jobs to execute scripts to actors over redis. Actors spawn appropriate engine instances to execute scripts within the defined confines of the job.

Supervisor

Component responsible for distributing jobs to actors over Redis.

Job

A unit of work that executes a Rhai or Hero script.

Actor

An entity that processes jobs dispatched by the supervisor.

Interfaces

The backend supports an OpenRPC interface over Websocket and Unix sockets, and a wasm app interface for simple debugging logging etc.

Websocket

Unix

WASM