HivemindOS manual
Diagrams and maps
These maps show what talks to what, where state lives, which rails move money or tokens, and where the trust boundaries sit. For the written explanation, see How HivemindOS works.
Infographic plates
System maps
Start with the control room and fleet maps to see what can reach what. Use the storage, brain, work, and scheduler maps to follow your data. Use the wallet, Honey, native, AEON, and security maps to check trust boundaries.
Control room map App, API, collectors, runtimes, vault, hosted services.
Fleet topology Local and remote collectors, Hivemind Link, app proxying.
Runtime chat path From your message to the agent and back.
Wallet token rails Base, Solana, USDC, MoneyClaw, UsePod, x402.
Honey and optional HIVE Observed usage, Honey ledger, policy-gated claims.
Workboard lifecycle Ideas, claims, runs, deliverables, history.
Scheduler loop Shared schedules, runtime actions, skills, run phases.
Brain services Obsidian, skills, GBrain, Syntho, trading brain.
Native bridge Desktop actions with browser fallbacks.
Phone and voice Gateway, pairing, ring-agent, dashboard calls.
AEON GitHub path OAuth, repo setup, Actions, scoped brain access.
MiroShark and Swarm Scenarios, simulations, analysis, handoff.
Storage map App data folder, vault, runtime homes.
Security boundaries Local, private, Tailnet, public, and external edges.
Control room map
flowchart LR
User["You"] --> Browser["Desktop app or browser"]
Browser --> Api["Local API"]
Api --> Vault["Shared Obsidian vault"]
Api --> Home["App data folder"]
Api --> Native["Desktop native actions"]
Api --> Collector["Local collector"]
Collector --> LocalRuntime["Local runtimes"]
Collector --> LocalApps["Local apps and APIs"]
Api --> Link["Hivemind Link / Tailscale"]
Link --> RemoteCollectors["Remote collectors"]
RemoteCollectors --> RemoteRuntime["Remote runtimes"]
RemoteCollectors --> RemoteApps["Remote apps and APIs"]
Api --> Workers["Honey / compute services"]
Api --> Integrations["App connections / GitHub / UsePod / MiroShark"]
Fleet topology
flowchart TB
Dashboard["Fleet"] --> Snapshot["Machine snapshots"]
Dashboard --> Apps["My Apps"]
Snapshot --> LocalCollector["This machine's collector"]
Snapshot --> LinkProxy["Hivemind Link"]
LinkProxy --> RemoteCollectorA["Remote collector A"]
LinkProxy --> RemoteCollectorB["Remote collector B"]
LocalCollector --> LocalProcesses["Processes / runtimes / tasks"]
RemoteCollectorA --> RuntimeA["Hermes / OpenClaw / AEON"]
RemoteCollectorB --> RuntimeB["Hermes / OpenClaw / AEON"]
Apps --> AppReports["Collector app reports"]
Apps --> AppProxy["Collector app proxy"]
AppProxy --> InteractiveApps["Interactive apps"]
AppProxy --> ApiServices["API-only services"]
ApiServices --> RouteCatalogs["OpenAPI or built-in route catalogs"]
Runtime chat path
sequenceDiagram
participant O as You
participant D as Dashboard
participant A as Agent profile
participant API as Chat API
participant R as Runtime adapter
participant C as Collector or gateway
participant S as Session store
O->>D: Send message, files, folders
D->>A: Resolve runtime, model, env, wallet, vault
D->>API: Submit chat request
API->>R: Select adapter
R->>C: Local gateway, Link, or remote collector
C-->>R: Stream events / final response
R-->>API: Normalized chunks
API-->>D: Streaming updates
API->>S: Session and usage metadata
Wallet token rails
flowchart LR
Agent["Agent wallet config"] --> LocalVault["Local wallet vault"]
LocalVault --> Base["Base wallet"]
LocalVault --> Robinhood["Robinhood Chain wallet"]
LocalVault --> Solana["Solana wallet"]
Base --> USDC["USDC sends with caps"]
Robinhood --> USDG["USDG sends and Stock Tokens"]
Solana --> SolanaUSDC["Solana USDC sends"]
Agent --> UsePod["UsePod prepaid rail"]
UsePod --> Deposit["Token deposit address"]
UsePod --> Proxy["UsePod proxy URL"]
Agent --> MoneyClaw["MoneyClaw API key"]
MoneyClaw --> Account["Account / wallet / inbox"]
Agent --> X402["x402 paid request policy"]
X402 --> PaidApi["Paid API endpoint"]
LocalVault --> Backup["Encrypted wallet-vault backup"]
Honey and optional HIVE conversion
flowchart TD
RuntimeUsage["Runtime usage analytics"] --> Observer["Honey usage observer"]
Observer --> PrivacyFilter["Privacy filter: no prompts, files, keys, paths, Tailnet IPs"]
PrivacyFilter --> HoneyLedger["Honey ledger"]
ComputeGateway["Compute gateway"] --> WorkerReceipt["Signed receipt"]
WorkerReceipt --> HoneyLedger
HoneyLedger --> Honey["Available Honey"]
Honey --> LegacyHive["Legacy ledger HIVE"]
LegacyHive --> Return["Return to Honey"]
Honey --> PolicyGate["Authorized conversion policy (closed by default)"]
PolicyGate --> BankrClaim["Policy-gated HIVE claim (off by default)"]
BankrClaim --> Treasury["Authorized conversion treasury"]
Treasury --> BaseWallet["Operator Base receiving address"]
Workboard lifecycle
stateDiagram-v2
[*] --> Ideas
Ideas --> Ready: promote / note intake
Ready --> Working: agent claim
Working --> NeedsYou: auth / approval / blocked
NeedsYou --> Ready: unblocked
Working --> Done: completed
Done --> Archived: archive
Done --> Ready: child handoff promoted
Working --> Ready: stale reclaim
Done --> History: work history entry
Scheduler loop
flowchart LR
SharedSchedules["Shared schedule files"] --> SchedulerUI["Scheduler"]
SchedulerUI --> RuntimeAction["Runtime action"]
SchedulerUI --> SkillAction["Skill action"]
RuntimeAction --> Adapter["Runtime adapter"]
SkillAction --> SharedSkill["Shared skill"]
Adapter --> Run["Runtime run"]
SharedSkill --> Run
Run --> Phases["assigned -> thinking -> executing -> wrapping -> done"]
Phases --> VaultLog["Shared vault run log"]
VaultLog --> History["Work History"]
Brain services
flowchart TB
EnvPath["Vault path setting"] --> Vault["Obsidian vault"]
Vault --> Graph["Brain graph"]
Vault --> Skills["Shared skills shelf"]
Vault --> ServiceNotes["Operations / Brain Services"]
Graph --> Dashboard["Brain Services"]
Skills --> RuntimeSkills["Runtime skill sync"]
Dashboard --> GBrain["GBrain import / embed / dream / query"]
Dashboard --> Syntho["Syntho reviewed-memory pipeline"]
Dashboard --> Trading["Trading brain status"]
Syntho --> Synthesis["Synthesis folder"]
Syntho --> SourcePolicy["Source access policy: deny by default"]
GBrain --> Query["Graph memory query"]
Native bridge
flowchart LR
Feature["Dashboard feature"] --> IsTauri{"Desktop app and local target?"}
IsTauri -->|yes| NativeCommand["Native command"]
IsTauri -->|no| ApiFallback["Local API"]
NativeCommand --> LocalFolder["Local folder browse/create"]
NativeCommand --> Status["Desktop status"]
NativeCommand --> Deliverables["Open/reveal deliverables"]
ApiFallback --> CollectorRoute["Remote collector"]
CollectorRoute --> RemoteMachine["Remote machine"]
Phone and voice
sequenceDiagram
participant D as Dashboard
participant API as Phone API
participant G as Call gateway
participant M as Mobile device
participant A as Agent context
D->>API: Pair, status, ring, or dashboard call
API->>G: Build gateway request
G->>A: Add AEON repo, memory, skills, artifacts
alt Ring mobile
G->>M: ring-agent push/call
else Dashboard call
G-->>D: LiveKit/dashboard-agent-call config
end
AEON GitHub path
flowchart TD
OAuth["GitHub OAuth fallback"] --> GHGlobal["GH_GLOBAL in shared env"]
GHGlobal --> AeonRepo["AEON repo/workspace"]
AeonRepo --> Secrets["GitHub Actions secrets sync"]
AeonRepo --> Workflows["Workflow dispatch / schedules"]
Workflows --> Runner["GitHub Actions runner"]
Runner --> OIDC["OIDC token"]
OIDC --> Tailnet["Tailscale short-lived client"]
Tailnet --> BrainEndpoint["AEON brain endpoint"]
BrainEndpoint --> Policy["Visibility-scoped brain policy"]
Policy --> VaultRead["Search / read / append / bulk"]
MiroShark and Swarm
flowchart LR
SwarmUI["Swarm"] --> Templates["Scenario templates"]
Templates --> MiroShark["MiroShark companion"]
MiroShark --> Simulation["Simulation run"]
Simulation --> Archive["Run archive"]
Simulation --> Outputs["Posts / market / graph / telemetry"]
Outputs --> Intelligence["Run intelligence"]
Intelligence --> AnalysisAgent["Analysis agent"]
AnalysisAgent --> Publish["Publish or handoff"]
Publish --> Workboard["Workboard deliverables"]
Storage map
flowchart TB
Home["App data folder"] --> DashboardState["Dashboard state"]
DashboardState --> UIPrefs["UI prefs and fast caches"]
Home --> Env["Shared env"]
Home --> Kanban["Kanban fallback"]
Home --> WalletVault["Wallet vault"]
Home --> MemorySamples["Memory samples"]
Home --> RuntimeRegistry["Runtime agent registry"]
Vault["Obsidian vault"] --> SharedBrain["Shared brain notes"]
Vault --> Skills["Skills"]
Vault --> Schedules["Schedules"]
Vault --> WalletLedger["Wallet records"]
RuntimeHomes["Runtime homes"] --> Hermes["Hermes home"]
RuntimeHomes --> OpenClaw["OpenClaw home"]
RuntimeHomes --> Aeon["AEON repos/workspaces"]
For exact paths and API route groups, see API and storage reference.
Security boundaries
flowchart LR
PublicDocs["Public docs: no secrets"]:::public
Browser["Your browser or desktop app"]:::local
LocalApi["Local dashboard API"]:::local
Native["Desktop native actions"]:::local
Vault["Private Obsidian vault"]:::private
WalletKeys["Wallet keys"]:::private
Tailnet["Tailnet / Link"]:::tailnet
Collector["Collectors"]:::tailnet
RemoteApps["Remote apps"]:::tailnet
Workers["Honey / compute services"]:::external
PublicDocs -.-> Browser
Browser --> LocalApi
LocalApi --> Native
LocalApi --> Vault
LocalApi --> WalletKeys
LocalApi --> Tailnet
Tailnet --> Collector
Collector --> RemoteApps
LocalApi --> Workers
classDef public fill:#f7ead8,stroke:#b87319,color:#141716
classDef local fill:#e6f3f0,stroke:#0a8fa6,color:#141716
classDef private fill:#f8f3e8,stroke:#1e2724,color:#141716
classDef tailnet fill:#eef5ef,stroke:#27865f,color:#141716
classDef external fill:#fffdf8,stroke:#bbb3a3,color:#141716