* feat(onboarding): enhance onboarding steps with back navigation and UI improvements - Added back navigation functionality to all onboarding steps (LocalAIStep, ScreenPermissionsStep, SkillsStep, ToolsStep, MnemonicStep) for improved user experience. - Updated Onboarding component to adjust total steps from 7 to 6. - Modified ProgressIndicator to reflect the change in total steps. - Enhanced LocalAIStep UI by removing unnecessary state and improving layout. - Improved error handling and user feedback in MnemonicStep and ScreenPermissionsStep. - General UI refinements across onboarding steps for better consistency and usability. * refactor(onboarding): update skip button and UI elements for improved user experience - Replaced "Set up later" button with a "Skip" button in the Onboarding component for better clarity. - Removed unnecessary back navigation buttons from LocalAIStep to streamline the UI. - Enhanced messaging in ScreenPermissionsStep to clarify data processing and permissions. - Adjusted button layouts for improved accessibility and consistency across onboarding steps. * refactor(onboarding): streamline button layout and styling in onboarding steps - Updated button styles in ScreenPermissionsStep and ToolsStep for consistency and improved user experience. - Replaced the back navigation button in ToolsStep with a full-width continue button, enhancing layout and accessibility. * refactor(onboarding): update ProgressIndicator and button styles for improved consistency - Adjusted ProgressIndicator component to use 'bg-sage-500' for active steps and increased height for better visibility. - Streamlined button styles in LocalAIStep and SkillsStep for a more cohesive user experience, including removing unnecessary margins and ensuring full-width buttons where applicable. - Enhanced ToolsStep to focus on skill installation, updating UI elements and descriptions for clarity and improved user engagement. * refactor(onboarding): update SkillsStep title and description for clarity - Changed the title from "Install Skills" to "Connect Skills" to better reflect the action. - Revised the description to clarify that skills interact with the user's workflow and that all data is processed locally, enhancing user understanding of the feature. * refactor(onboarding): enhance onboarding steps with UI improvements and functionality updates - Integrated useUser hook in Onboarding component for better user state management. - Updated MnemonicStep title and messaging for clarity, emphasizing the importance of the recovery phrase. - Streamlined button layout in MnemonicStep and ScreenPermissionsStep for improved accessibility and consistency. - Refactored SkillsStep to utilize available skills more effectively, enhancing the user experience with clearer skill descriptions and connection statuses. - Transitioned ToolsStep to focus on enabling tools, updating UI elements and descriptions for better user guidance. * refactor(onboarding): replace workspace flag checks with onboarding_completed config - Removed Redux state checks for onboarding status and workspace flags. - Integrated new core config methods to read and write onboarding completion status. - Updated OnboardingOverlay and Onboarding components to utilize onboarding_completed for flow control. - Enhanced error handling and user feedback during onboarding state persistence. * refactor(onboarding): remove deferred flow and dead workspace flag code The onboarding_completed config field is now the sole source of truth. Skip and complete both write the same flag. Remove SetupBanner, onboardingDeferredByUser, selectOnboardingDeferred, and the old workspace flag file functions (openhumanWorkspaceOnboardingFlagExists/Set). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * fix: resolve lint errors for unused onBack params in onboarding steps Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * fix: remove unused handleSkip in LocalAIStep Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
OpenHuman
The age of super intelligence is here. OpenHuman is your Personal AI super intelligence. Private, Simple and extremely powerful.
Discord • Reddit • X/Twitter • Docs
"The Tet. What a brilliant machine" — Morgan Freeman as he reminisces about alien superintelligence in the movie Oblivion
Early Beta — Under active development. Expect rough edges.
OpenHuman is an open-source agentic assistant that is designed to integrate with you in your daily life. Here's what makes OpenHuman special:
-
One subscription, many providers — One assistant wired to skills and backend models so you are not juggling a separate subscription stack for every integration surface.
-
Incredible memory — Rust-side memory (store / recall / namespaces) plus optional TinyHumans Neocortex-backed context when configured, so the agent can retain and retrieve more than a single chat window. Channels and ongoing conversations feed the same loop so day-to-day context does not reset every session.
-
Screen intelligence — Regular screen capture (on a cadence or when triggered) feeds an on-device pipeline that understands what is on screen, distills it into memory (facts, UI state, workflows), and can propose actions the agent executes for you. OS permissions and capture APIs vary by platform; the goal is your machine first, not shipping raw frames to the cloud by default.
-
Voice & meetings — A Local-model speech stack (listen / TTS) let the assistant talk back and capture or work with meeting audio with a privacy-first default when you route inference locally. Transcripts and summaries land in the same memory + agent loop so OpenHuman can follow up: tasks, drafts, calendar nudges, or skill-backed workflows—without treating a meeting as a one-off chat.
-
Memory-aware autocomplete — Keyboard autocomplete is built for right-context suggestions: it consults memory namespaces and recent context so completions stay aligned with you, your workspace, and prior sessions—not a blank model every keystroke.
-
Runs a local AI model — The Rust core exposes local AI paths (and the desktop bundle can ship local/bundled runners where applicable) for the workloads above—vision snippets, speech helpers, summarization, tooling—so sensitive steps can stay off the cloud when you choose.
-
Simple or advanced — Skill setup wizards and defaults for common tools, with room to go deeper via settings, credentials, and core RPC when you need control and privacy.
Architecture: docs/ARCHITECTURE.md. Contributor orientation: CONTRIBUTING.md.
Download
Early Beta — Under active development. Expect rough edges.
You can download the latest desktop build from the website at tinyhuman.ai/openhuman. You can also grab it from the latest GitHub release, which includes all current artifacts (.dmg, .deb, .AppImage, .app.tar.gz, and more).
If you need an older version, browse all releases.
If you want to build from source, see docs/BUILDING.md.
Install with one command:
curl -fsSL https://raw.githubusercontent.com/tinyhumansai/openhuman/main/scripts/install.sh | bash
On Windows, use PowerShell:
irm https://raw.githubusercontent.com/tinyhumansai/openhuman/main/scripts/install.ps1 | iex
What setup does:
- Resolves the latest stable release for your OS/arch
- Verifies release digest when available
- Installs locally without requiring system-wide admin rights by default
- macOS: installs
OpenHuman.appin~/Applications - Linux: installs
openhumanAppImage in~/.local/bin/openhumanand creates a desktop entry - Windows: installs from latest release MSI/EXE in per-user mode where supported
Under the hood (Architecture)
OpenHuman is a desktop monorepo: Rust owns business logic and execution; the UI owns interaction, layout, and OS integration.
Rust (openhuman / openhuman_core). The repo root src/ crate is the brain: JSON-RPC over HTTP (core_server), domain modules (auth, config, memory, skills, channels, screen intelligence, local AI, cron, …), and a QuickJS runtime for sandboxed JavaScript skills. The openhuman binary is built and staged next to the Tauri app so the desktop shell can spawn it as a sidecar. Heavy work—SQLite, sockets, crypto, skill lifecycle—runs there under Tokio, not in the WebView.
UI (app/). Vite + React (TypeScript) implements screens, onboarding, settings, and realtime UX. Redux Toolkit holds client state; Socket.io and the MCP-style client stack stay in sync with the core’s realtime surface. Tauri v2 (app/src-tauri/) is a thin Rust host: windowing, filesystem hooks where needed, and core_rpc_relay—forwarding JSON-RPC from the WebView to the openhuman process so the UI never re-implements domain rules.
Controllers and the RPC surface. Features are exposed as registered controllers: each domain declares schemas (namespace, function name, parameter shapes) and a handler. At runtime, calls are validated, dispatched by method name (e.g. openhuman.auth_get_state, openhuman.local_ai_agent_chat), and return structured outcomes. CLI and HTTP share the same controller catalog, so automation, tests, and the app all hit one contract.
What ties it together: one registry of controllers, one sidecar process for execution, Tauri IPC for shell-only capabilities, and HTTP JSON-RPC for everything else—plus skills and dual-socket behavior documented in the architecture guide.
Read more: docs/ARCHITECTURE.md · Frontend tree: docs/src/README.md · Tauri commands: docs/src-tauri/README.md
Star us on GitHub
Building toward AGI and artificial consciousness? Star the repo and help others find the path.
Contributors Hall of Fame
Show some love and end up in the hall of fame
