> For the complete documentation index, see [llms.txt](https://tinyhumans.gitbook.io/openhuman/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://tinyhumans.gitbook.io/openhuman/developing.md).

# Developing

- [Overview](https://tinyhumans.gitbook.io/openhuman/developing/developing.md): Build, run, test and ship OpenHuman from source.
- [Rust Quickstart](https://tinyhumans.gitbook.io/openhuman/developing/quickstart.md): Go from an empty Cargo project to many agents on one OpenHuman runtime in your own Rust process.
- [Getting Set Up](https://tinyhumans.gitbook.io/openhuman/developing/getting-set-up.md): Build OpenHuman from source, or install a release: toolchain, submodules, desktop builds and the installers for each platform.
- [Architecture](https://tinyhumans.gitbook.io/openhuman/developing/architecture.md): The high-level shape of OpenHuman: the desktop shell, the Rust core and the frontend, plus how data flows between them.
- [Deep Architecture Reference](https://tinyhumans.gitbook.io/openhuman/developing/architecture/architecture.md): The full architecture reference for the OpenHuman codebase: repo layout, runtime, sockets, skills, memory, security and the iOS client.
- [Agent Harness](https://tinyhumans.gitbook.io/openhuman/developing/architecture/agent-harness.md): How an agent turn runs: the tool-call loop, sub-agent dispatch, archetypes, triage, hooks, and the cost and budget machinery around them.
- [Storage](https://tinyhumans.gitbook.io/openhuman/developing/architecture/storage.md): The storage domain in crates/openhuman-core/src/storage/: the ports, URL resolution, Cargo features, per-agent scopes, drivers and on-disk layout.
- [Flows on TinyFlows](https://tinyhumans.gitbook.io/openhuman/developing/architecture/flows-on-tinyflows.md): How OpenHuman composes the TinyFlows module: bus contracts, scoped storage, run callbacks, triggers, and the host security boundary.
- [Memory](https://tinyhumans.gitbook.io/openhuman/developing/architecture/memory.md): The memory host layer in crates/openhuman-core/src/memory/: TinyMemory's agent lifecycle bound to OpenHuman's turns, RPC and UI.
- [Process state in shared cores](https://tinyhumans.gitbook.io/openhuman/developing/architecture/process-state.md): Process state, tenant ownership and routing requirements for shared cores.
- [MCP Registry](https://tinyhumans.gitbook.io/openhuman/developing/architecture/mcp-registry.md): How OpenHuman connects MCP servers, applies product policy, and exposes their tools to agents through TinyBus modules.
- [Security](https://tinyhumans.gitbook.io/openhuman/developing/architecture/security.md): The trust boundary for the autonomous core: the autonomy and risk policy, sandbox selection, the audit log, the encrypted secret store, the pairing guard and the redact() helper.
- [Frontend](https://tinyhumans.gitbook.io/openhuman/developing/architecture/frontend.md): The React and Vite frontend in app/src/: state, services, providers, routing, components and hooks.
- [Tauri Shell](https://tinyhumans.gitbook.io/openhuman/developing/architecture/tauri-shell.md): The desktop host in crates/openhuman-app/: the Tauri v2 webview, the IPC commands, the embedded core's lifecycle and the JSON-RPC bridge.
- [Building the Rust Core](https://tinyhumans.gitbook.io/openhuman/developing/building-rust-core.md): Build the Rust core from scratch on a fresh machine.
- [Loadable modules](https://tinyhumans.gitbook.io/openhuman/developing/loadable-modules.md): How OpenHuman loads optional native modules at runtime: the registry, admission checks and what happens when a module faults.
- [Performance and footprint](https://tinyhumans.gitbook.io/openhuman/developing/performance.md): Measured footprint: how many agents fit in one process, cold start, binary size and the dependency limits that keep it small.
- [Pluggable engines](https://tinyhumans.gitbook.io/openhuman/developing/engines.md): The four swappable engines (models, embeddings, memory, search) and the config key that selects each one.
- [Components](https://tinyhumans.gitbook.io/openhuman/developing/components.md): The \[components] config table: one switch per tiny dependency, how it narrows a host, and how legacy flags migrate.
- [Jev](https://tinyhumans.gitbook.io/openhuman/developing/jev.md): Jev, the small decision model: what it answers, where OpenHuman uses it, what it costs and how to configure it.
- [Embedding](https://tinyhumans.gitbook.io/openhuman/developing/embed.md): Run the OpenHuman core inside a Rust application with one Runtime and independently configured Agents.
- [Installation](https://tinyhumans.gitbook.io/openhuman/developing/embed/installation.md): Add the Embed dependency, choose compile-time gates, and configure the host’s runtime and state deliberately.
- [Quickstart](https://tinyhumans.gitbook.io/openhuman/developing/embed/quickstart.md): Run one agent against a local fixture, then choose a provider and working directory for your host.
- [Embedding architecture](https://tinyhumans.gitbook.io/openhuman/developing/embed/architecture.md): The host composes infrastructure around one core; agents derive scoped contexts over its runtime.
- [Concepts](https://tinyhumans.gitbook.io/openhuman/developing/embed/concepts.md): The ownership and lifecycle rules behind the Embed public API.
- [Runtime](https://tinyhumans.gitbook.io/openhuman/developing/embed/concepts/runtime.md): A Runtime owns one initialized core and the process-wide resources that its agents share.
- [Runtime defaults](https://tinyhumans.gitbook.io/openhuman/developing/embed/concepts/runtime-defaults.md): Runtime defaults form the starting point for newly registered agents; explicit agent settings override them.
- [Agents](https://tinyhumans.gitbook.io/openhuman/developing/embed/concepts/agents.md): An Agent combines one identity, derived context and independently configured tool/model behavior on a shared Runtime.
- [Access and approvals](https://tinyhumans.gitbook.io/openhuman/developing/embed/concepts/access-approvals.md): Access configures turn identity and permission policy; the host chooses how parked requests receive decisions.
- [Providers](https://tinyhumans.gitbook.io/openhuman/developing/embed/concepts/providers.md): A provider supplies a route or native ChatModel implementation, with agent overrides and optional ordered fallback.
- [Turns and sessions](https://tinyhumans.gitbook.io/openhuman/developing/embed/concepts/turns-sessions.md): A turn is one native model/tool loop; a session is the durable identity that makes subsequent turns a conversation.
- [Tools](https://tinyhumans.gitbook.io/openhuman/developing/embed/concepts/tools.md): Tool catalogs expose only the allowed execution surface; host tools use the same native Tool contract as built-in tools.
- [MCP](https://tinyhumans.gitbook.io/openhuman/developing/embed/concepts/mcp.md): MCP servers add remote tool discovery and execution to one agent, with explicit server configuration and tool allowlists.
- [Skills](https://tinyhumans.gitbook.io/openhuman/developing/embed/concepts/skills.md): Skills are copied bundles of instructions and resources discovered inside an agent’s own home.
- [Memory](https://tinyhumans.gitbook.io/openhuman/developing/embed/concepts/memory.md): The typed memory facade binds a namespace before learning, retrieving or forgetting records.
- [Cron](https://tinyhumans.gitbook.io/openhuman/developing/embed/concepts/cron.md): Cron provides durable named jobs, explicit run-now execution and job history addressed to registered agents.
- [Channels](https://tinyhumans.gitbook.io/openhuman/developing/embed/concepts/channels.md): A channel listener binds external messages to one registered agent and keeps transport lifecycle under host control.
- [Profiles and SaaS](https://tinyhumans.gitbook.io/openhuman/developing/embed/concepts/profiles-saas.md): ProfileRuntime isolates authenticated users by workspace, credentials, conversations and event streams.
- [Completer](https://tinyhumans.gitbook.io/openhuman/developing/embed/concepts/completer.md): Completer sends stateless model requests without booting a Runtime or entering the agent tool loop.
- [Hooks and seams](https://tinyhumans.gitbook.io/openhuman/developing/embed/concepts/hooks-seams.md): Host seams replace infrastructure ports; hooks observe or control selected turn and tool boundaries.
- [Observability](https://tinyhumans.gitbook.io/openhuman/developing/embed/concepts/observability.md): Runtime metadata events track lifecycle and approvals; turn streams carry per-turn progress and the final result.
- [Testing](https://tinyhumans.gitbook.io/openhuman/developing/embed/concepts/testing.md): Deterministic local providers and explicit observations prove behavior without contacting real inference or backend services.
- [Errors](https://tinyhumans.gitbook.io/openhuman/developing/embed/concepts/errors.md): Typed errors distinguish build availability, expected domain states, host setup failures and removed agent instances.
- [Embedding guides](https://tinyhumans.gitbook.io/openhuman/developing/embed/guides.md): Build a chatbot, host multiple agents, serve profiles, or test an embedded runtime.
- [CLI chatbot](https://tinyhumans.gitbook.io/openhuman/developing/embed/guides/cli-chatbot.md): Collect a reply or consume progress events in a Rust command-line host.
- [Multiple agents](https://tinyhumans.gitbook.io/openhuman/developing/embed/guides/multi-agent.md): Share one runtime while configuring independent agent prompts and working folders.
- [SaaS with multiple tenants](https://tinyhumans.gitbook.io/openhuman/developing/embed/guides/saas-multi-tenant.md): Isolate user credentials, workspaces, and conversation history with ProfileRuntime.
- [Deploy a server](https://tinyhumans.gitbook.io/openhuman/developing/embed/guides/deploy-server.md): Invoke agents from a host-owned HTTP service without adding RPC to Embed.
- [Lean and headless hosts](https://tinyhumans.gitbook.io/openhuman/developing/embed/guides/lean-headless.md): Control runtime activity separately from compile-time Cargo features.
- [Test with a mock backend](https://tinyhumans.gitbook.io/openhuman/developing/embed/guides/mock-backend-testing.md): Run the embedding examples offline and verify behavior, not just compilation.
- [Embedding integrations](https://tinyhumans.gitbook.io/openhuman/developing/embed/integrations.md): Choose provider, tool, storage, and channel adapters for your host.
- [OpenAI-compatible providers and BYOK](https://tinyhumans.gitbook.io/openhuman/developing/embed/integrations/openai-compatible.md): Route inference to an explicit endpoint and bearer without changing shared host configuration.
- [TinyHumans managed inference](https://tinyhumans.gitbook.io/openhuman/developing/embed/integrations/tinyhumans-managed.md): Connect the TinyHumans layer before using managed inference and hosted services.
- [Local and custom models](https://tinyhumans.gitbook.io/openhuman/developing/embed/integrations/local-models.md): Use a local OpenAI-compatible server or inject a native ChatModel implementation.
- [MCP servers](https://tinyhumans.gitbook.io/openhuman/developing/embed/integrations/mcp.md): Connect a declared MCP server and verify remote discovery and execution.
- [Composio](https://tinyhumans.gitbook.io/openhuman/developing/embed/integrations/composio.md): Pin connector credentials per agent while the host supplies backend transport.
- [Web search](https://tinyhumans.gitbook.io/openhuman/developing/embed/integrations/web-search.md): Pin a web-search provider key per agent, held only in memory.
- [Storage drivers](https://tinyhumans.gitbook.io/openhuman/developing/embed/integrations/storage-drivers.md): Configure SQLite or MongoDB through Embed and inspect the selected backend.
- [Channels](https://tinyhumans.gitbook.io/openhuman/developing/embed/integrations/channels.md): Bind an incoming channel to an agent and verify the delivered reply.
- [Cookbook](https://tinyhumans.gitbook.io/openhuman/developing/embed/cookbook.md)
- [Embedding API reference](https://tinyhumans.gitbook.io/openhuman/developing/embed/api-reference.md): Use local rustdoc and source-derived indexes for the complete Embed public surface.
- [API index](https://tinyhumans.gitbook.io/openhuman/developing/embed/api-reference/api-index.md)
- [RuntimeBuilder setters](https://tinyhumans.gitbook.io/openhuman/developing/embed/api-reference/builder-setters.md)
- [Compiled feature matrix](https://tinyhumans.gitbook.io/openhuman/developing/embed/api-reference/capability-matrix.md)
- [Embedding FAQ](https://tinyhumans.gitbook.io/openhuman/developing/embed/faq.md): Answers to common host, lifecycle, feature and provider choices.
- [Embedding troubleshooting](https://tinyhumans.gitbook.io/openhuman/developing/embed/troubleshooting.md): Diagnose missing features, blocked turns, credentials, state paths and lifecycle failures.
- [SaaS profiles](https://tinyhumans.gitbook.io/openhuman/developing/saas-profiles.md): Running OpenHuman as a multi-user service: one profile per user, behind a trusted gateway, on one node or a cluster with leased profiles.
- [One TinyHumans API key](https://tinyhumans.gitbook.io/openhuman/developing/tinyhumans-api-key.md): What one TinyHumans API key unlocks, how to use it and how OpenHuman stores and sends it.
- [Hooks](https://tinyhumans.gitbook.io/openhuman/developing/hooks.md): File-based hooks that observe and gate an agent turn, with a Cursor-compatible contract.
- [MCP Server](https://tinyhumans.gitbook.io/openhuman/developing/mcp-server.md): Run OpenHuman Core as a stdio Model Context Protocol server for local MCP clients.
- [Claude Code CLI provider](https://tinyhumans.gitbook.io/openhuman/developing/claude-code.md): Route chat workloads through the Claude Code CLI.
- [TinyComputer browser on Linux and Docker](https://tinyhumans.gitbook.io/openhuman/developing/tinycomputer-docker.md): Run the TinyComputer browser headless in a Linux container, with a locally built module and unattended automation.
- [Theming (Token System)](https://tinyhumans.gitbook.io/openhuman/developing/theming.md): The CSS token system behind every theme: how tokens are defined, how Tailwind uses them and how to write components that follow it.
- [Testing Strategy](https://tinyhumans.gitbook.io/openhuman/developing/testing-strategy.md): How OpenHuman tests its product with Vitest, cargo test and WDIO E2E, and where each kind of test goes.
- [E2E Testing](https://tinyhumans.gitbook.io/openhuman/developing/e2e-testing.md): How to run end-to-end suites: Playwright against the standalone core, WDIO through the native Wry host, local scripts, environment variables and CI lanes.
- [Agent Observability](https://tinyhumans.gitbook.io/openhuman/developing/agent-observability.md): How to see what the app and the agent did: E2E artifacts, the inference capture proxy, and Langfuse traces.
- [Release Policy](https://tinyhumans.gitbook.io/openhuman/developing/release-policy.md): How OpenHuman ships a release, with the branch model, CI lanes, minimum-version gate and key rotation.
- [AgentBox marketplace deployment (historical)](https://tinyhumans.gitbook.io/openhuman/developing/agentbox-deployment.md): The removed AgentBox container surface, kept for anyone debugging an older build.
- [Chromium Embedded Framework (historical)](https://tinyhumans.gitbook.io/openhuman/developing/cef.md): Why the desktop shell no longer uses Chromium (CEF), what replaced it, and the rule against injecting JavaScript into child webviews.
