Technical reference for the Hub node type. A Hub is a coordination server that manages multiple Agents and provides gateway services in the OctoMY™ network.
Did You Know?
The Hub is the only OctoMY™ node type allowed to access the internet directly. This design choice creates a single security boundary - if an Agent or Remote needs external data (like LLM responses), it must go through a trusted Hub. This means you can audit all external traffic in one place and run your robots without any direct internet exposure.
| Property | Value |
|---|---|
| Class | Hub (inherits Node) |
| NodeType | TYPE_HUB |
| NodeRole | ROLE_CONTROL |
| Default Port | 8126 (UDP) |
| Theme Color | #36e843 (green) |
| Library | libhub |
The main Hub class extends Node for multi-Agent coordination:
class Hub: public Node {
QSharedPointer<HubWindow> mWindow;
// Inherits all Node functionality
// Adds fleet management
// Provides internet gateway
};
| Method | Description |
|---|---|
nodeConfigure() |
Initialize Hub-specific setup |
nodeActivate(bool) |
Activate/deactivate the Hub |
nodeWindow() |
Returns the HubWindow instance |
nodeRole() |
Returns ROLE_CONTROL |
nodeType() |
Returns TYPE_HUB |
The Hub serves several critical functions in an OctoMY™ network:
The Hub is the only node type that directly contacts the internet. This provides:
Benefits:
Coordinate multiple Agents working together:
Offload compute-intensive tasks from low-power Agents:
| Task | Why on Hub |
|---|---|
| LLM inference | Requires GPU/high memory |
| Path planning | Complex algorithms |
| Image recognition | ML model inference |
| Data aggregation | Large storage |
The Hub provides "LLM as a service" to the network:
Like Remote, Hub has ROLE_CONTROL:
| Courier | Direction | Purpose |
|---|---|---|
| HubClientCourierSet | Both | Agent management |
| DiscoveryCourier | Both | Peer discovery |
| BlobCourier | Both | Binary data transfer |
~/.local/share/OctoMY™/OctoMY Hub/<personality>/
├── keystore.json # Cryptographic keys
├── addressbook.json # Known nodes (Agents, Remotes)
├── planbook/ # Managed Plans
├── api_keys/ # External service credentials
└── fleet_config.json # Fleet coordination settings
The Hub has a minimal administrative UI:
| Component | Purpose |
|---|---|
| HubMainMenu | Main navigation menu |
| UtilitiesWidget | System utilities |
| Fleet management | Agent coordination |
| Log viewer | System logs |
The Hub activates these services:
| Level | Service | Purpose |
|---|---|---|
| 1 | KeyStoreService | Cryptographic identity |
| 2 | LocalIdentityStoreService | Node identity |
| 3 | LocalAddressListService | Network addresses |
| 4 | AddressBookService | Known nodes |
| 5 | PlanBookService | Managed Plans |
| 6 | CarrierService | UDP transport |
| 7 | CommsService | Communication protocol |
| 8 | DiscoveryClientService | Node discovery |
# Start Hub with default personality
./hub
# Start with specific personality
./hub --personality "HomeHub"
# Start with specific base directory
./hub --base-dir /path/to/data
# Run as daemon (background)
./hub --daemon
# Enable debug output
./hub --debug
For personal robot networks:
For remote access:
The Hub handles external service authentication:
All external traffic goes through Hub:
| Component | Minimum | Recommended |
|---|---|---|
| CPU | Dual-core | Quad-core |
| RAM | 2 GB | 4+ GB |
| Storage | 10 GB | 50+ GB |
| Network | 100 Mbps | Gigabit |
| GPU | None | For local LLM |