> 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/guides/guides/personal-assistant.md).

# Create my personal AI assistant

**Goal:** a working assistant that has some memory of your world, replies in a style you like, and never takes a real-world action without your say-so.

This is the "start here" guide. It assumes nothing beyond a downloaded app.

***

## Prerequisites

* OpenHuman installed on macOS, Windows, or Linux. If you haven't installed yet, do [Getting Started](/openhuman/overview/getting-started.md) first, then come back.
* 4 GB+ RAM (16 GB+ if you plan to connect very large mailboxes or run a [local model](/openhuman/guides/guides/local-model.md)).
* An account to sign in with (social login works).
* Optional: one account you'd like the assistant to know about (Gmail is the usual first one).

## Privacy implications

* Signing in **does not** grant ongoing access to anything. Every integration is a separate, explicit OAuth approval you can revoke later.
* Your memory (the local database and the Markdown vault) is created **on your machine**. Raw source data does not sit on the OpenHuman backend.
* By default, chat/reasoning runs through the OpenHuman-hosted [model router](/openhuman/features/model-routing.md). If you want inference on-device instead, see [Use OpenHuman with a local model](/openhuman/guides/guides/local-model.md).
* Full detail: [Keep sensitive data private](/openhuman/guides/guides/privacy-sensitive-data.md).

***

## Steps

### 1. Sign in

Launch the app. The first screen is **"Sign in! Let's Cook"**. Choose a login option. There is an **Advanced** panel for pointing at a custom core; most people ignore it.

### 2. Choose how AI runs

After sign-in you'll hit a **runtime choice**:

* **Cloud**: one click, and the hosted model router handles inference. This is the fastest path to a working assistant.
* **Custom**: walk through choosing your inference provider, voice, integrations (OAuth), web search, and embeddings yourself.

If you're not sure, pick **Cloud**. You can change any of this later in **Settings**.

### 3. Give it something to remember

An assistant with no memory is just a chatbot. Connect at least one source so it has context to draw on:

* Open **Settings** and connect an integration (Gmail is the common starting point). Each connection is a one-click OAuth approval.
* Once connected, [auto-fetch](/openhuman/features/obsidian-wiki/auto-fetch.md) starts pulling data into your [Memory Tree](/openhuman/features/obsidian-wiki/memory-tree.md) on a schedule (the first Gmail tick lands within about twenty minutes).

### 4. Set your boundaries

Open **Settings → Agents → Agent access**. This controls how much the assistant can do on its own:

| Tier                       | What it means                                                                                                      |
| -------------------------- | ------------------------------------------------------------------------------------------------------------------ |
| **Read-only**              | The assistant can observe and answer, but never acts (no sending, no file writes, no commands).                    |
| **Supervised** *(default)* | It can act, but any state-changing, network, install, or destructive action is **parked for your approval** first. |
| **Full**                   | Routine actions run automatically; network/install/destructive actions still ask.                                  |

Leave it on **Supervised** unless you have a reason not to. Nothing with an external effect will happen in a chat without you saying yes. This is the [Approval Gate](/openhuman/features/approval-gate.md), and it's on by default.

### 5. Shape its personality (optional)

How the assistant talks and behaves is defined by an editable prompt called **`SOUL.md`** (its mission and values live in a companion **`IDENTITY.md`**). You don't have to touch these (they ship with sensible defaults), but you can:

* Set a display name and short description in **Settings → Personality**.
* Edit the behavior itself via the **Brain** page (the raised center button in the bottom bar, `/brain`), where memory, goals, and intelligence live.

OpenHuman also **learns** durable preferences from how you correct it over time. See [Personalization & Self-Learning](/openhuman/features/personalization.md).

### 6. Run your first real request

Once a source has been ingested, try:

* "What do I need to know from the last 12 hours?"
* "What's waiting on me?"
* "Summarize what I missed today."

***

## Success checks

You have a working assistant when **all** of these are true:

* [ ] The app is signed in (you're past the welcome screen and in the chat/home view).
* [ ] At least one integration shows as **connected** in Settings.
* [ ] A briefing prompt ("what's waiting on me?") returns something drawn from your actual data, not a generic answer.
* [ ] Opening the **Memory** tab shows summaries appearing (give it one auto-fetch cycle, up to about 20 minutes, after connecting a source).
* [ ] When you ask it to do something with an external effect (e.g. "draft and send an email"), you see an **Approval Request card** appear above the chat box rather than it silently acting.

## Common failures

| Symptom                                          | What it means                                                          | Fix                                                                                               |
| ------------------------------------------------ | ---------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- |
| Sign-in returns to the welcome screen            | The OAuth callback didn't reach the app                                | Follow [Troubleshooting Sign-In](/openhuman/overview/troubleshooting-sign-in.md)                  |
| Connected a source but memory stays empty        | First auto-fetch tick hasn't run yet, or the OAuth scope is too narrow | Wait one cycle (\~20 min); re-check the connection in Settings                                    |
| Assistant answers generically, ignores your data | It answered without recalling memory                                   | Ask again and reference the source explicitly ("from my email…"); confirm the source is connected |
| It performed an action you didn't expect         | Autonomy tier may be set to **Full**                                   | Set **Settings → Agents → Agent access** back to **Supervised**                                   |

## Recovery

* **Reset boundaries fast:** if the assistant is doing too much, drop the tier to **Read-only** in Agent access. It takes effect on the next turn and blocks all acting immediately.
* **Nothing you connect is permanent:** revoke any integration from Settings; chunks already in your local memory stay (they're yours), and the next sync tick stops pulling that source.
* **If the app itself won't start,** see [Recover from a failed installation](/openhuman/guides/guides/recover-failed-installation.md). Your configuration is preserved by default.

***

## Next steps

* [Use OpenHuman with a local model](/openhuman/guides/guides/local-model.md): keep inference on-device.
* [Connect OpenHuman to Obsidian](/openhuman/guides/guides/connect-obsidian.md): read and edit the memory by hand.
* [Keep sensitive data private](/openhuman/guides/guides/privacy-sensitive-data.md): understand exactly what leaves your machine.
