How tinyhumansai/openhuman works
OpenHuman is an agent harness with a desktop interface and a Rust library/runtime. The main user journey is to submit a request through the app or another host, have the runtime execute agent work, and receive a result; the repository also exposes workflows, memory, integrations, and fleet-oriented developer interfaces. The source excerpts show selected memory and storage bindings, while the README documents broader capabilities such as tool search, token compression, and loadable modules. Unshown runtime wiring is omitted or marked unverified.
Main entry points: mod.rs Core runtime · App.tsx Desktop app · ChatComposer.tsx Chat interface · app.rs Terminal UI
Components 21
User interfaces
- Desktop app
app/src/App.tsx - Chat interface
app/src/components/chat/ChatComposer.tsx - Workflow UI
- Memory settings
app/src/components/memory/MemoryEngineTab.tsx - Terminal UI
crates/openhuman-tui/src/app.rs
Agent runtime
- Core runtime
crates/openhuman-core/src/core/runtime/mod.rs - Core events
crates/openhuman-core/src/core/events.rs - Rust embed API
crates/openhuman-embed/src/complete.rs - CLI host
crates/openhuman-cli/src/main.rs
Agent capabilities
- Jev tool search
- RLM compression
- Workflow catalog
crates/openhuman-core/src/flows/catalog_storage.rs - Task sources
crates/openhuman-core/src/integrations/task_sources/pipeline.rs
State and memory
- Memory engine binding
crates/openhuman-core/src/memory/engine.rs - Hosted memory
crates/openhuman-tinyhumans/src/memory/engine.rs - Storage backend
crates/openhuman-core/src/storage/mod.rs - Module storage host
crates/openhuman-core/src/modules/storage_host.rs
Hosts and integrations
- Session manager
crates/openhuman-tinyhumans/src/session/manager.rs - Session client
crates/openhuman-tinyhumans/src/session/client.rs - RPC server
crates/openhuman-rpc/src/server/http/rpc_handler.rs
Other components
- User
Connections 20
- User → Desktop app: uses
README.md - Desktop app → Chat interface: opens chat
- Chat interface → Core runtime: submits request
- User → Terminal UI: uses
README.md - Terminal UI → Core runtime: runs agent
- CLI host → Core runtime: runs agent
- Rust embed API → Core runtime: embeds runtime
README.md - Core runtime → Jev tool search: selects tools
README.md - Core runtime → RLM compression: compresses results
README.md - User → Workflow UI: configures workflows
- Workflow UI → Workflow catalog: manages workflows
- Task sources → Core runtime: uses runtime
crates/openhuman-core/src/integrations/task_sources/pipeline.rs - Memory settings → Memory engine binding: configures memory
- Memory engine binding → Core runtime: checks runtime mode
crates/openhuman-core/src/memory/engine.rs - Hosted memory → Rust embed API: resolves credentials
crates/openhuman-tinyhumans/src/memory/engine.rs - Session manager → Session client: uses client
crates/openhuman-tinyhumans/src/session/manager.rs - Module storage host → Storage backend: binds backend
crates/openhuman-core/src/modules/storage_host.rs - Workflow catalog → Storage backend: reads documents
crates/openhuman-core/src/flows/catalog_storage.rs - RPC server → Core runtime: dispatches requests
- Core runtime → Core events: publishes events