Sara help

Short guides for the self-hosted AI companion and assistant. Everything here also works in the phone apps.

I just installed it, now what?

Seven small steps, about ten minutes. Each one is also a card under Getting started on Today that ticks itself off.

Prefer to watch? Set up Sara, one minute.

  1. Sign in with the setup code from her log or your owner token, and read the short note about what Sara is.
  2. Tell her your name and pick Company (or Both) when she asks what you will mostly do together.
  3. Keep Sara, pick a ready-made character or make your own. You can change all of it later in Settings → Her.
  4. Connect a brain. She suggests a model for this computer and checks that it answers (Connected ✓). No graphics card? My subscription uses a plan you already pay for. See Choosing a brain.
  5. Say hello. Tap a starter like Plan my day with me, or just type. A short tour follows her first reply.
  6. Make her yours: move the dials in Settings → Her → Name and personality; the line under each dial shows how she will sound. See Shaping your companion.
  7. Then the rest of Getting started: her voice, Sara on your phone, a morning briefing and a backup off this server. Stuck on a page? Open its How do I…? box, or the index of every answer.

I'm here to code

The same setup with Coding picked in step 1. All of it works with a model on your own computer, or with a coding plan you already pay for.

Prefer to watch? Coding with Sara.

  1. Pick Coding in step 1 of the setup. Step 3 suggests a model that is good at code and offers My subscription (Claude Code, Codex or Grok Build) first when you are signed in.
  2. Open a project: + Project in the sidebar, give it a workspace folder and start a conversation in it. She works in that folder with files, a shell and git.
  3. Choose how she runs code in Settings → Coding → Tools and approvals: she asks first, and risky commands can run in a sandbox copy first. See Commands tried in a sandbox first.
  4. Read the line under each reply: it lists what she did (files, commands, tests); tap it for the output. Cards show the files she changed and the test results, and anything risky waits for your Allow.
  5. Add a GitHub token in Settings → Coding → GitHub for issues and pull requests, and let a team of helpers plan, build, test and review.
  6. Use her from your editor or terminal: sara-chat, the VS Code panel, MCP for Claude Code and Cursor, or the OpenAI-compatible address. See In your terminal and editor.
  7. Set a budget in Settings → Coding → Budgets, so a long task stops at a limit you choose. See Budgets for her replies.

Getting started

  1. Sign in. Use the owner token your server printed when it was installed (on the server: sudo sara reset-token makes a new one). A brand-new server can also be set up in the browser: open her page and type the short setup code from her log (on Umbrel no code is needed); she then shows you your owner token once to save. New phones and computers don't need it: in Settings → Data & health → Devices and sign-in press Add a phone or computer and scan the code.
  2. Connect a brain (the AI model she thinks with). See Choosing a brain.
  3. Say hello. Just type. Ask a question, tell her about your day, or ask her to plan something.
  4. Make her yours in Settings → Her: name, personality, look and voice.

Step 1 of the setup asks what you will mostly do with her: Company, Coding or Both. It only changes what you see first (the order of Getting started on Today, the short tour offered after her first reply and the starter chips in an empty chat); every feature stays available. Change it in Settings → You → About you.

The Today page has a Getting started list that ticks itself off as you go, with the next step highlighted. For company it runs from saying hello to her voice, your phone and a morning briefing; for coding from opening a project to tools and approvals, GitHub, your editor and budgets.

Operations

Current server only. HTTP response measurements do not measure model reply latency.

A configured model is not proof of a successful reply. A backup does not prove recovery.

Record totals include finished history. State counts show queued and running work; delivery records can include archived evidence.

RSS and event-loop lag are process-wide, including other spaces and HTTP servers in this process. They are not current-space usage.

Recovering interrupted work

Open Settings → Data & health → Readiness and recovery. Interrupted jobs offer Review restart: inspect the original request, copy it, or put it in an empty chat before you choose Send. This restarts the request from the beginning; previous effects may already have happened. Current safety checks and approvals still apply.

Teams stay held after a restart. Review unfinished work before explicitly resuming; completed parts remain complete. A current privacy or safety hold may refuse recovery. Chat goals retain their existing paused/resume flow.

Native Telegram and Discord deliveries distinguish queued, attempted, platform-acknowledged, failed and outcome unknown. Unknown means it may already have arrived: check the destination before sending again. Human resolution stays separate from platform acknowledgment. No recovery screen automatically executes or resends. Unresolved and All history have Load more so older records remain reachable.

Review text is encrypted; attachments are metadata only. Plugin bridges and arbitrary command/browser/mail effects are outside this native delivery ledger. Read Recovery guidance for limits and backup handling.

Getting help

How do I…?

Every question from the How do I…? boxes in the app, page by page. Open one for its steps; in the app, Show me points at the control.

Chat and the main views

Chat

How do I start?
  1. Type in the box at the bottom and press Enter.
  2. Or tap one of the suggestions above.
How do I send her a photo or a file?
  1. Press the paperclip next to the box.
  2. Pick the file; add a line if you like.
How do I switch this chat to coding?
  1. Press the chip at the top of the chat.
  2. Pick a workspace and switch the mode to coding.
How do I use the / commands?
  1. Type / at the start of the message box.
  2. Pick one with ↑ ↓ and Enter, or keep typing to narrow the list.

Today

How do I plan my day with her?
  1. Press Plan my day with her.
  2. She looks at your list, calendar and weather.
How do I change what Today shows?
  1. Press Customize.
  2. Switch sections on or off and drag them in order.
How do I set up a routine?
  1. Press Add a routine, or open Planner → Routines.
  2. Pick a card, answer its questions, look at the preview, then press Turn on.

Planner

How do I add a to-do?
  1. Type it in the box under To-do and press Add.
  2. Or just tell her in chat: "add milk to my list".
How do I set a reminder?
  1. Open Reminders, type what and when.
  2. Or tell her: "remind me at 5 to call Ana".
How do I review my week?
  1. Press Review my week.

Planner → Reminders

How do I set a reminder for a time?
  1. Type what and when at the top of Reminders, then press Add.
  2. Or tell her in chat: "remind me at 5 to call Ana".
How do I get reminded when something comes up?
  1. Under When it comes up, type what to remind you of.
  2. Pick a person, or type a few words to listen for.
  3. Press Add. She tells you when they come up in a chat.

Planner → Repeats

How do I make her check something on a timer?
  1. In a chat, press + and pick Repeat this….
  2. Pick how often and until when, then press Start.
  3. Or type /loop every 10m: what to check.
How do I pause or stop a repeat?
  1. Find it in this list.
  2. Press Pause, or Stop to end it.
How do I change how much repeats may spend?
  1. Open Settings → Coding → Keep going and repeats.
  2. Pick Careful, Normal or Long jobs.

Planner → Routines

How do I turn on a routine?
  1. Pick a card under Add a routine.
  2. If it says Set up first, press it and connect what it needs.
  3. Answer its questions, look at the preview, then press Turn on.
How do I switch a routine off?
  1. Under My routines, switch it off. It stops at once.

Memory

How do I tell her something to remember?
  1. Say it in chat: "remember that I'm allergic to nuts".
  2. Or add a note here.
How do I make her forget something?
  1. Find the note (search helps).
  2. Press Forget on it.

Library

How do I give her a document?
  1. Drop the file on the box at the top, or click it to pick one.
  2. She reads it and keeps the key points.
How do I ask about a document?
  1. Ask in any chat: "what does the lease say about pets?"
  2. She quotes the part she used.

Scrapbook

How do I pin a message?
  1. Press 📌 under a message.
  2. It shows here with the pins and inside jokes.
How do I keep an inside joke?
  1. Tell her: "that's our inside joke now".
  2. Or add it here.

Our moments

How do I keep a moment?
  1. Press ♡ under a message or a photo.
  2. It shows here with a caption she writes.
How do I choose which photos land here?
  1. Pick under Add photos: all, only kept moments, or off.

Your story

How do I get a look back?
  1. Pick the dates under Look back.
  2. Press the button; she writes it from what's on this page.
How do I see where something came from?
  1. Click any entry.
  2. The chat or note it came from opens.

Team

How do I give the team a job?
  1. Type the goal in the box.
  2. Press Start; she plans and hands parts to helpers.
How do I stop a helper?
  1. Open the task.
  2. Press Stop next to the helper, or stop the whole task.

Findings

Where do findings come from?
  1. Her security pass after coding turns adds them.
  2. Dependency checks and sandbox tries add them too.
How do I fix one?
  1. Open the finding.
  2. Press Fix on a branch: she tries it on its own branch.

Evals

How do I try other settings?
  1. Under Try other settings, pick past tasks and variants.
  2. Check the estimate, then start.
How do I read the result?
  1. Each variant is scored next to your settings.
  2. A winner is named only when the evidence says so.

Her

Name and personality

How do I change her name?
  1. Type the new name in Name at the top of this page.
  2. Click anywhere outside the box: it saves by itself.
  3. Her notes about herself follow the new name.
How do I make her my own?
  1. Press ✨ Create your companion for a guided setup (about 5 minutes).
  2. Or pick a character under Start from a character and press Use this.
  3. Nudge the personality dials until the sample line sounds like her.
How do I go back to how she was?
  1. Press Undo changes in the bar at the bottom.
  2. It brings back how she was when you opened this page.

Relationship

How do I change what we are to each other?
  1. Pick a card under Your relationship.
  2. Add your own words in the box below it if you like.
  3. Press Try it to hear how she'd react.
How do I make her less jealous?
  1. Find Jealousy under the dials.
  2. Move it to the left; the line above it shows how she'd sound.
  3. She is never controlling, whatever the dial says.

Look

How do I give her a new face?
  1. Describe the look and pick a Style.
  2. Press Make a picture, then Use this look when you like it.
  3. Or press Bring my picture to life to start from a photo.
How do I change her outfit?
  1. Under Outfits and places, describe the outfit.
  2. Press Try it on.
  3. Keep favorites in the Closet.

Voice

How do I pick her voice?
  1. Choose a voice under Her voice.
  2. Press Preview to hear it.
  3. It saves by itself; voice notes and calls use it.
How do I talk to her out loud?
  1. Choose how she hears you under Hearing you.
  2. Then press the microphone in the chat box and speak.

Hey Sara

How do I turn on Hey Sara?
  1. Open this page in the Sara app on your Windows PC or Android phone.
  2. Switch on Listen for “Hey Sara”, read what it does, and allow the download and the microphone.
  3. Say “Hey Sara” and ask; the dot on her icon turns bright while she hears you.
How do I talk to her without saying her name?
  1. On Windows, press the talk shortcut (Ctrl+Alt+Space) or choose Talk to Sara in the tray.
  2. On Android, use the Talk to Sara tile in Quick Settings.
  3. It works even with Hey Sara off: nothing listens until you press it.
How do I stop her listening on a device?
  1. Press Stop listening next to it under Your devices, from any of your devices.
  2. Or Turn off everywhere for all of them.
  3. Only the device itself can switch it on again.

At work

How do I use her at work in Slack or Teams?
  1. Open Settings → Her → At work.
  2. Tick Use a work profile, and the chats that are work (Slack and Teams are ticked).
  3. Give her a name and tone at work if you like, then press Save.
How do I let her know something at work and at home?
  1. Open Settings → Her → At work.
  2. Under Work memories, find the note.
  3. Press Copy to work or Copy to personal. The original stays where it is.

Calls from her

How do I choose when she may call me?
  1. Tick what may ring you: reminders, finished tasks, the morning briefing.
  2. Set quiet hours and a limit for calls a day.
  3. Press Call me now to try it.
How do I stop her calling?
  1. Untick every reason at the top of this page.
  2. She can still send messages; only calls stop.

Pictures from her

How do I let her send pictures?
  1. Pick a way under Pictures.
  2. For Grok Imagine, paste an xAI API key.
  3. Ask her in chat: "send me a selfie".
How do I stop pictures?
  1. Set Pictures to Off.
  2. She will describe instead of sending a picture.

Companions

How do I add another companion?
  1. Type a name under Add a companion and pick where to start from.
  2. Press Add.
  3. Switch between companions from the sidebar.
How do companions share the Planner?
  1. Under Planner, pick whether to-dos, reminders and notes are shared or their own.
  2. Memories and chats always stay with each companion.
How do I share a companion with a friend?
  1. Open the ⋯ menu on her row and pick Share her.
  2. Tick what goes in: her memories, your chats and keys never do.
  3. Press Check it, then Save the file or Send to the Sara Store.
How do I add a companion from a file or a character card?
  1. Press From a file… and choose a companion pack, a character card or a character file.
  2. Read her card: everything that will shape her is on it.
  3. Press Add her: she is a new companion and nobody you have changes.

Bring her from another app

How do I bring her from another app?
  1. Export your data from that app (ChatGPT, Claude, a character app).
  2. Choose the file under Choose the file.
  3. Tick what to keep, then press Let her read them.
How do I throw an import away?
  1. Before saving, press Never mind.
  2. After a read, press Throw it all away.

You

About you

How do I change what she calls me?
  1. Type it in What should Sara call you?
  2. It saves when you leave the box.
How do I switch between company and coding?
  1. Pick under What you mostly do with her.
  2. It changes what you see first and the tour; nothing is taken away.
How do I change the language?
  1. Pick a Language for the app.
  2. Pick Talk to me in for her replies.

Appearance

How do I change the colors of the app?
  1. Pick a palette card at the top of this page.
  2. Night or Day picks light or dark for it.
How do I get the old rose and violet look back?
  1. Pick Sara Classic as the palette.
  2. Decoration turns the glow and moving light back on.

Morning briefing

How do I get a morning briefing?
  1. Switch the briefing on and pick a Time.
  2. Set Weather for to your town.
  3. Press Send one now to see it.
How do I get a weekly review?
  1. Switch on Weekly review and pick the day and time.
  2. She looks back at your week in chat.

Leave-by reminders

How do I get leave-by reminders?
  1. Type your Home address.
  2. Pick how you're Getting there by.
  3. Events with a place get a Leave by row on Today.
How do I leave earlier?
  1. Raise Extra minutes.
  2. Every leave-by time moves that much earlier.

Adult mode

How do I turn on adult mode?
  1. Press Turn on adult mode and confirm you're 18 or older.
  2. It works only in a web browser, not in the phone apps.
How do I turn it off again?
  1. Press Turn off adult mode.
  2. Conversations go back to normal right away.

When it comes up

How do I have her remind me when someone comes up?
  1. In any of your chats, say “when Dan comes up, remind me he owes me $20” (or type /when Dan: he owes me $20).
  2. A card under her reply shows it, with Undo.
  3. The next time you mention Dan in one of your own chats, she brings it up once.
How do I see or forget what she is waiting to bring up?
  1. Open Planner → Reminders → When it comes up.
  2. Press Forget next to one; Done lists the ones that already came up.
  3. Or type /when for the list and /when forget 1.

Models

Default model

How do I choose the model she thinks with?
  1. Pick a Provider.
  2. Pick a Model from its list.
  3. Anything without its own model uses this one.
How do I see new models?
  1. Press ↻ Refresh.
  2. New models on that provider show up in the list.
How do I tidy a long chat?
  1. Type /compact in the chat, or press Tidy this chat on her panel.
  2. The older part becomes a summary she reads; nothing is deleted and Undo brings it back.

Which model does what

How do I let Sara pick models for each job?
  1. Press ✨ Use recommended.
  2. Check the rows; change any with its list.
How do I test a model on one job?
  1. Pick the model in that job's row.
  2. Press Test to see its speed and an answer.

Model providers

How do I add a model service with a key?
  1. Pick a Template.
  2. Paste the API key.
  3. Press Save provider.
How do I add my own Ollama on another computer?
  1. Pick the Ollama template.
  2. Set Base URL to that computer's address.
  3. Press Save provider.

Subscriptions

How do I use my ChatGPT, Claude or Grok plan?
  1. Press the sign-in button for your plan.
  2. Finish the sign-in in the browser tab that opens.
  3. Pick the model in Default model.
How do I sign out of a plan?
  1. Press Sign out under that plan.

On this computer

How do I download a model to this computer?
  1. Pick one under Model to download (the first fits your computer).
  2. Press Download this model.
  3. Use it in Default model when it's done.
How do I free up space?
  1. Remove a model you don't use from its row.
  2. Ollama deletes its files.

Chat apps

Pick up across apps

How do I pick up a chat from Telegram in the app?
  1. Open the app after talking on Telegram: a banner offers to pick it up.
  2. Press Continue here (or type /continue in any of your chats).
  3. The chip at the top says where it came from; Undo takes it away.
How do I stop the pick-up offers?
  1. Under When I switch apps, choose Only when I type /continue.
  2. To end one pickup, press Undo on its chip (or type /continue off).

Session continuity

How do I turn session continuity on or off?
  1. Open Settings → Chat apps → Session continuity.
  2. Switch Use context across my sessions on or off; it saves automatically.
  3. Off stops new context but keeps saved notes. Pick up across apps and While she's working keep their own settings.
How do I read the notes from my other sessions?
  1. Close Settings and open one of your own eligible chats with this companion.
  2. Press the conversation chip at the top, then find Saved session context.
  3. Press Show saved session context to see the source, time, expiry and notes.
  4. Notes help later replies; they do not send messages or confirm completed work.
How do I clear saved notes, including expired ones?
  1. In This conversation, show the saved session context first.
  2. Choose Clear saved context, review the confirmation, then Confirm clear; Cancel or Escape leaves the notes alone.
  3. Clear also removes expired saved notes while continuity is off; only this session's saved notes are removed.
  4. Original chats, old run records, exports and backups stay.
  5. If the notes changed elsewhere, reload and review them before trying again.

Telegram

How do I get her on Telegram?
  1. Press Start and open @BotFather.
  2. Send /newbot and paste the key it gives you.
  3. Press Link my Telegram and send the bot the code.
How do I add her to a group?
  1. Add the bot to the group in Telegram.
  2. Choose who may talk to her under Remote work and groups.

Discord

How do I get her on Discord?
  1. Make an app and bot in the Discord Developer Portal.
  2. Paste its token in Bot token.
  3. Press Link my Discord.
How do I stop bot loops?
  1. Under Other bots, keep replies to bots low.
  2. 1 means she answers a bot once, then waits for a person.

Signal

How do I get her on Signal?
  1. Press Start and follow the six steps: each turns ✓ when Sara has checked it.
  2. Step 3 gives the exact signal-cli command for this computer.
  3. Press Link my Signal and send her the code.
Why did she stop using her tools on Signal?
  1. Your safety number changed.
  2. Press It's me in Signal settings if it was you.

Email

How do I give her an email address?
  1. Press Start and pick her mail provider.
  2. Press Add email, then type her address and the app password.
  3. Press Link my email and send her the code as the subject.
Why didn't she answer my email?
  1. Your mail didn't pass your provider's sender check.
  2. Press Check my sender in Email settings and send her a mail.

WhatsApp

How do I text her on WhatsApp?
  1. Tick the box about Meta's rules and press Start.
  2. Follow the ten steps: each turns ✓ when Sara has checked it.
  3. Press Link my WhatsApp and send her the code from your phone.
Why didn't her reminder come to WhatsApp?
  1. Meta only lets her write first within 24 hours of your last message.
  2. Write to her on WhatsApp to open the window again.
  3. Until then her messages stay in the app.
A step stays red. What now?
  1. Read the line under the step: it says what to fix.
  2. Press This screen looks different if Meta's page doesn't match.
  3. Press Test to see the first step that fails.

Matrix

How do I talk to her on Matrix?
  1. Tick the box about Matrix and press Start.
  2. Make her a Matrix account, then log her in to Sara with it.
  3. Make a room without encryption in Element, invite her and send the code from Link my Matrix.
Why doesn't she answer in my Matrix room?
  1. She can't read encrypted rooms, and Element encrypts new rooms and direct messages by default.
  2. Make a new room with Enable end-to-end encryption switched off and invite her.
  3. Rooms she can't read are listed on the Matrix card.
Element says Unknown command when I type /new. What now?
  1. Press Send as message: she gets it as a command.
  2. Or put her name first: Sara new, Sara help.

iMessage

How do I text her from my iPhone?
  1. You need a Mac that stays on. Tick the box about Apple and BlueBubbles and press Start.
  2. Give her an Apple ID and a user on the Mac, sign her in to Messages and install BlueBubbles.
  3. Paste the BlueBubbles password, press Ring, then send the code from Link my iMessage to her address.
Why won't she run on my own Apple ID?
  1. On your Apple ID she would see all your chats and her answers would go out as you.
  2. Make a separate Apple ID for her and sign it in to Messages as a separate user on the Mac.
Why do her iMessage answers take a few seconds?
  1. BlueBubbles can't ring Sara, so she checks for messages every few seconds instead.
  2. Put the Mac and Sara on Tailscale, then press Ring on the iMessage card.

Slack

How do I talk to her in Slack?
  1. Press Start on the Slack card, then copy the app manifest it shows.
  2. At api.slack.com/apps, create an app from that manifest, make the two tokens and paste them into the card.
  3. Press Link my Slack and send her the code in a Slack DM.
How do I let her answer in a Slack channel?
  1. In the channel, type /invite and her name.
  2. In Settings → Chat apps → Slack, press Answer here next to that channel.
  3. Mention her in the channel; she answers in a thread.

Microsoft Teams

How do I talk to her in Microsoft Teams?
  1. Press Start on the Microsoft Teams card and make the free Azure Bot it describes.
  2. Paste the App ID, the tenant ID and a client secret, give Teams a public address and paste the messaging endpoint into the bot.
  3. Download the Teams app package, upload it in Teams, then press Link my Teams and send her the code.
How do I let her answer in a Teams channel?
  1. Add her app to the team (Apps → her app → Add to a team).
  2. Mention her once in the channel, then press Answer here next to it in Settings → Chat apps → Microsoft Teams.
  3. Mention her again; she answers in that thread.

Add-ons

Get more

How do I add something from the store?
  1. Search or pick it on a shelf, then open it.
  2. Read what it can do, then press Get.
  3. Read its card and press Install: it stays off until you switch it on.
How do I update an add-on?
  1. Open My add-ons.
  2. Press Update next to it and read what changed.
  3. Nothing updates by itself.
How do I send the Sara team my plugin?
  1. Press Submit yours.
  2. Give the folder, then press Check it.
  3. Fix what it finds, then send it: the team reviews it before it is listed.

Skills

How do I teach her a skill?
  1. Press New skill.
  2. Write the steps in plain words and save.
  3. She uses it when a request matches.
How do I add a skill from someone else?
  1. Press Add a skill.
  2. Pick a zip, a GitHub link or a file.
  3. Read it before switching it on.

Plugins

How do I add a plugin?
  1. Press Add a plugin.
  2. Read the permissions it asks for.
  3. Switch it on when you trust it.
How do I stop a plugin?
  1. Switch it off on its card.
  2. Its log stays under What it did.
How do I try a workflow candidate?
  1. Open Workflow candidates and read Details and limits.
  2. Press Review local candidate, inspect its exact permissions and trust warning, then Install only if you agree.
  3. It stays off for every companion. Enable it separately on its installed card.
How do I use a starter guide?
  1. Open Starter guides under Workflow candidates.
  2. Read its members, qualification, privacy, costs and setup checklist.
  3. Follow existing Settings links and review each member separately. Nothing installs as a group.
How do I let her search the web?
  1. Pick a Search service.
  2. Paste its API key if it needs one.
  3. Ask her to look something up.
How do I search without a key?
  1. Pick a service marked Free · no key.
  2. Or run your own SearXNG and paste its URL.

Library

How do I give her a document?
  1. Open Library from the sidebar.
  2. Drop the file on the box at the top.
  3. Ask her about it in any chat.
How do I make reading gentler on my computer?
  1. Pick Gentle under Background reading.
  2. Big documents then take longer.

Gmail and Calendar

How do I connect Gmail and Calendar?
  1. Paste your Google Client ID and secret.
  2. Press Save, then Sign in with Google.
How do I disconnect Google?
  1. Press Sign out of Google.

Home Assistant

How do I connect Home Assistant?
  1. Type the Home Assistant address.
  2. Paste a long-lived access token.
  3. Press Save and test.
How do I let her notice when I get home?
  1. Connect Home Assistant first.
  2. Under Presence, switch on React to what happens at home.
  3. Pick the people and what she does.

Other programs (MCP)

How do I connect another program (MCP)?
  1. Pick Start from, or type the Command or URL.
  2. Add any Secrets it needs.
  3. Press Save and connect.
What is an MCP server?
  1. A small program that gives her new tools.
  2. Its tools then appear in Tools and approvals.
How do I inspect an MCP recipe preview?
  1. Open Connection investigations and filter the list.
  2. Expand View recipe preview or Why blocked; read prerequisites, scope, costs and qualification.
  3. Prepare configuration yourself in the existing form only after review. Previews do not save, connect or authorize accounts.
How do I verify MCP approval settings?
  1. Inspect each discovered tool in Tools and approvals and select Ask or Off.
  2. Save, leave the page, reopen it and read back the saved permissions.
  3. Repeat after discovery, reconnect and updates. Server read-only annotations can auto-allow calls and do not enforce external-effect approval or cost limits.

Coding

Tools and approvals

How do I make her ask before she does something?
  1. Find the tool in its group.
  2. Set it to Ask me first.
  3. Approval cards then appear in chat.
How do I switch a tool off?
  1. Find the tool in its group.
  2. Set it to Off.

Coding projects

How do I point her at my project?
  1. Pick a Workspace (your projects folder).
  2. In a chat, press the conversation chip and switch to coding.
  3. Ask: "Look at my project".
How do I make her try commands safely?
  1. Switch on Try commands in a sandbox first.
  2. Pick the size and time limits.
  3. Nothing is applied until you choose.
How do I check before I ship?
  1. Press Before you ship.
  2. Read the results in Findings.

Budgets

How do I limit what a coding reply may use?
  1. Under Coding chats, set Tokens, Steps or a Spending limit.
  2. She stops and asks when a reply reaches it.
What happens near the limit?
  1. Choose under Near the limit whether she asks or stops.
  2. Usage and costs shows what was used.

Keep going and repeats

How do I make her keep going until the tests pass?
  1. In the chat, press + and pick Keep going until it’s done….
  2. Under Done when, pick the check (the project’s tests are offered first).
  3. Press Start. She works in rounds; Sara runs the check after each one.
How do I have her check something every few minutes?
  1. In the chat, press + and pick Repeat this… (or type /loop every 10m: what to check).
  2. Pick how often and until when, then press Start.
  3. She only tells you when something changes; Planner → Repeats lists them all.

Check her edits

How do I let her check her edits with my project's own type checker?
  1. Keep Check her edits on at the top of this page.
  2. Under Projects, pick the workspace and set the project to On (or press Check her edits here on the card the first time she changes a file there).
  3. From then on she sees the errors her edit caused in the same reply and fixes them.
How do I switch checks off for one project?
  1. Under Projects, pick the workspace.
  2. Set that project to Off.
  3. In a chat app you can also send /problems off.
How do I attach a file or my changes to a message?
  1. In the message box, type @ and pick A file, My changes, This branch, Problems or A web page.
  2. Type a few letters to find a file; add :10-25 for just those lines.
  3. Send. The chips under your message show what she got.

GitHub

How do I add a GitHub token?
  1. Make a token on GitHub (Settings → Developer settings).
  2. Paste it in GitHub token.
  3. Press Save.
How do I turn issues into tasks?
  1. Under Issues become tasks, set a label.
  2. Press Look now to fetch them.

Servers over SSH

How do I connect a server?
  1. Type the server address and your user name under Connect a server.
  2. Press Connect and wait while Sara looks at it.
  3. Say yes to its ID card, then follow the way in she picks.
How do I connect a cPanel server?
  1. In cPanel, make an API token called sara that expires tomorrow.
  2. Copy it and paste it into the cPanel token box.
  3. Press Install my key: Sara installs her key and deletes the token.
What if it doesn't work?
  1. Read the box under the button you pressed.
  2. Press the button it offers, like Find the port or Check now.
Does she ask before running commands there?
  1. Yes, every command asks first by default.
  2. Change it in Tools and approvals.

Connections

Spotify

How do I connect Spotify?
  1. Make an app at developer.spotify.com.
  2. Add the redirect address this page shows.
  3. Paste its Client ID and press Save.
  4. Press Connect Spotify and allow access.
How do I let her play music?
  1. Tick Let her control playback.
  2. Press Connect again.
  3. Ask her to play, pause or queue a song.

Phone and notifications

How do I put her on my phone?
  1. Open Sara in your phone's browser and sign in.
  2. Press Install Sara as an app (or Add to Home Screen).
  3. Then turn on notifications.
How do I get notifications?
  1. Press Turn on for this device.
  2. Press Send a test.

This computer

How do I ask her from anywhere?
  1. Pick a Quick ask shortcut.
  2. Press it in any app and type.
How do I check notifications work?
  1. Press Show a test notification.

Computer use

How do I let her use this computer?
  1. Allow her under This computer.
  2. Choose when she must ask first under Her actions.
  3. Move the mouse to take over any time.
How do I stop her right away?
  1. Move the mouse or press a key.
  2. She stops and waits.

Other apps

How do I use her from my editor?
  1. Press Create an API key for another app.
  2. Copy her address and the key into your editor or tool.
  3. Pick Sara as the model there.
How do I talk to her through Alexa?
  1. Follow Talk to her through Alexa.
  2. Press Make a link code and say it to Alexa.

Other agents

How do I let another agent talk to her?
  1. Under Give an agent a key, press Make a key.
  2. Copy her agent card address and the key to that agent.
How do I add an agent she can ask?
  1. Paste its address under Add an agent she can ask.
  2. Press Look it up.

Webhooks

How do I make a webhook?
  1. Press New webhook.
  2. Pick what sends it and what she does.
  3. Copy its address into the other app.
How do I see what a webhook got?
  1. Open the webhook's card.
  2. Look at its deliveries.

Data & health

Safety check-up

How do I check that my setup is safe?
  1. Open Settings and pick Safety check-up (the first page under its group).
  2. Read the top line: Looks safe, Mostly safe or Fix these first.
  3. Each row says what's true now; the ? says why it matters.
How do I fix something it found?
  1. Press the fix button on that row (for example Ask me first again).
  2. Read what it changes and whether it can be undone, then press Do it.
  3. Changed your mind? Press Undo under Recent fixes.
How do I run the check-up from the command line?
  1. On the server, run: sara doctor --safety
  2. It prints the same rows, the fix for each, and exits 0 (safe), 1 (tighten) or 2 (fix first).
  3. The command line never changes anything; fixes are on this page.

Readiness and recovery

How do I review an interrupted job?
  1. Choose Review restart and read the preview before doing anything else.
  2. Copy it, or use it in the same empty chat; an existing draft is kept.
  3. Choose Send yourself. Earlier effects may repeat; current checks and approvals still apply.
How do I resume an interrupted team?
  1. Check the unfinished step and its receipts; it may already have changed something.
  2. Choose Resume team and acknowledge the risk before resuming. Completed steps are kept.
How do I check an uncertain delivery?
  1. Use Unresolved or All history, then Load more deliveries to reach older records.
  2. Check the destination first. Unknown messages may have arrived; live queued messages may still send.
  3. Record only what you confirmed. Human resolution is separate from platform acknowledgment; this page never resends.
How do I archive old delivery evidence?
  1. Enter an explicit UTC cutoff in Recovery. Preview the eligible records first.
  2. Confirm one batch of up to 500 records. Keep the same cutoff for further batches.
  3. Use Archived to view retained evidence. Unresolved outcomes and deduplication identity are preserved.

Health

How do I check everything works?
  1. Press Run full check.
  2. Fix anything marked red with its button.
How do I clear old run history?
  1. Pick how long to Keep runs.
  2. Or press Delete run history.

Devices and sign-in

How do I sign in on another phone or computer?
  1. Press Add a phone or computer.
  2. Scan the code or type it there.
How do I lock out a lost device?
  1. Press Sign out all other devices.
  2. Or make a new token with Make a new token.

Backups

How do I make a backup now?
  1. Press Back up now.
How do I keep a copy somewhere else?
  1. Pick where under Copy backups to.
  2. Fill in the folder or bucket and a passphrase.
  3. Press Copy the latest backup now, then Test restore now.
How do I prove a backup really restores?
  1. Open Readiness and recovery (Data & health) and press Run a restore drill.
  2. Sara restores the newest backup into a throwaway copy, checks it, starts it and deletes it; your live data is not touched.
  3. Read the result: how long it took, what it counted and how much a restore now would lose.

Export and import

How do I export everything?
  1. Under Export and import, press Export all data.
  2. Keep the file somewhere safe.
How do I bring my chat history from another app?
  1. Under Bring your history, pick the export file.
  2. Press Import and check the preview.

Move in from another agent

How do I move in from another agent?
  1. Press Copy the command and run it where that agent lives.
  2. Or press Make a move-in code.
  3. Check each card before it's saved.
How do I undo a move-in?
  1. Find it under Past move-ins.
  2. Press Undo this move-in.

Updates

How do I update Sara?
  1. Press Check for updates.
  2. Press Update now when a new version shows.
How do I see what changed?
  1. Press What's new in each version.

Usage and costs

How do I see what she costs?
  1. Read the top line for today.
  2. Open By model or By what it was for for details.
How do I set a spending limit?
  1. Open Budgets on this page or Coding → Budgets.
  2. Set a limit per job or per day.

Privacy

How do I see what the check-in sends?
  1. Press Show what's sent.
How do I stop the daily check-in?
  1. Switch the check-in off on this page.
  2. Press Reset the install ID to start fresh.

Reports

How do I report a problem?
  1. Press Report a problem.
  2. Say what happened; add diagnostics if you like.
  3. Press Send.
How do I see what happened to my report?
  1. Each report shows its status and replies here.

Operations

How do I check local operations?
  1. Open Operations and press Refresh operations.
  2. Read the measurement window and sample count. HTTP timings are not model reply timings.
  3. A configured model and a saved backup do not prove inference or recovery.
How do I tell active work from historical records?
  1. Record totals include finished history. State counts show queued and running work; delivery records can include archived evidence.
  2. RSS and event-loop lag are process-wide, including other spaces and HTTP servers in this process. They are not current-space usage.

Household

Usage reports

How do I see who used how much?
  1. Open Settings → Household → Usage reports.
  2. Pick Daily, Weekly or Monthly.
  3. Tick Who, Workspace, Project or Model to split the rows.
How do I get the numbers into a spreadsheet?
  1. Set the period and what to split by.
  2. Press Download CSV.
How do I get warned before a budget runs out?
  1. Under Monthly budgets, pick a person or a workspace.
  2. Enter dollars or tokens for the month.
  3. Pick when to warn and press Add budget.

Trust report

How do I see what Sara claimed against what ran?
  1. Open Settings → Household → Trust report.
  2. Pick A week, One run or One project.
  3. Press Show and read Claims checked and Failed tools.
How do I give the report to a reviewer?
  1. Show the report you want.
  2. Press Markdown, PDF or Word under Download.

Shared links

How do I share a conversation?
  1. Open the chat and its settings.
  2. Press Share….
  3. Check the preview, pick how long the link works and press Make link.
  4. Copy the link and send it privately.
How do I stop a link from working?
  1. Open Settings → Household → Shared links.
  2. Press Revoke next to the link.
How do I share a private chat?
  1. Open Settings → Household → Shared links.
  2. Tick Allow sharing private chats.
  3. Share it from the chat as usual.

Audit trail

How do I see who changed a setting?
  1. Open Settings → Household → Audit trail.
  2. Pick Settings under What, or a person under Who.
  3. Each row says when, what, who and where, and whether it was done or refused.
How do I give a reviewer a copy?
  1. Set the filters to what the reviewer asked for.
  2. Press Export JSONL or Export CSV.
  3. Give them the ZIP: its manifest holds the SHA-256 and the signature.
How do I know nobody edited it?
  1. Press Check the chain.
  2. It says the chain is fine, or the first row that was changed, removed or cut off.

Retention and legal hold

How do I delete old chats automatically?
  1. Open Settings → Household → Retention and legal hold.
  2. Under Keep, pick how long chats, memories and files stay.
  3. It runs on the hourly check. Pinned memories always stay.
How do I make sure nothing is deleted?
  1. Open Settings → Household → Retention and legal hold.
  2. Tick Hold next to a person, or Hold everything on this server.
  3. Nothing of theirs can be deleted until you untick it, not even by them.
How do I give someone a copy of their data?
  1. Open Settings → Household → Retention and legal hold.
  2. Press Download their data next to the person.
  3. Give them the ZIP: it holds only their chats, memories, photos and files.
How do I delete one person's data for good?
  1. Release any hold on them first.
  2. Press Delete their data next to the person and confirm.
  3. The receipt (what was deleted, and when) is in the audit trail.

Policy

How do I stop anyone turning a setting back on?
  1. Open Settings → Household → Policy.
  2. Tick or pick the rule, for example Keep adult mode off.
  3. Press Save the policy. The setting shows Set by your admin everywhere.
How do I set up another server the same way?
  1. Press Export JSON here.
  2. On the other server, open Policy and press Import JSON.
  3. Pick the file: it replaces every pin there.

People on this server

How do I invite someone?
  1. Type their name under Invite someone.
  2. Press Make invite, then Copy link and send it.
How do I limit what they use?
  1. Set Messages a day and Spending a day.
  2. Choose the models they may use.

Your account

How do I sign in on another device?
  1. Press Devices and sign-in.
How do I delete my account?
  1. Press Delete my account and confirm.
  2. Your companion, chats and memories go.

Finding your way around

How she shows her work

Languages

Choosing a brain

Sara can think with different AI models. You can use more than one: one for chatting, a cheaper one for background jobs (Settings → Models → Which model does what).

ChoiceWhere it runsCostGood to know
On this computer (Ollama)Your own machineFreeMost private: nothing leaves your machine. Needs a strong computer (a recent graphics card or a Mac with lots of memory) for good answers.
Another computer at homee.g. your gaming PC running OllamaFreePrivate like the above. That computer must be on, and Ollama must accept network connections (OLLAMA_HOST=0.0.0.0).
In the cloud (an API key)OpenAI, Anthropic, xAI, OpenRouter, Ollama Cloud…Pay per useFast and capable. Your messages go to that company to be answered.
My subscriptionChatGPT, Claude or GrokYour monthly planUses the plan you already pay for, where the provider allows it. Sign in from Settings → Models → Subscriptions.
Not sure? Start with whatever you already have. You can switch any time; her memories stay.

Which model does what

Nothing leaves this computer

In Settings → Models → On this computer Sara finds Ollama on this computer (or shows where to get it), looks at your graphics card or memory and suggests a model that fits. Download this model shows its progress; when it's done she uses it for talking and background work.

The switch Nothing leaves this computer makes Sara connect only to this computer. It's checked in her code at one place every request goes through, so a setting you forgot can't send anything out. Turning it on needs a model on this computer; turning it off asks first. A 🔒 in the top bar shows when it's on.

Phone and notifications

Her library: documents she knows

Telegram and Discord

Signal

Email

WhatsApp

Matrix

  1. Make her a Matrix account at app.element.io (a private browser window, then sign out).
  2. Type her Matrix ID and password and press Log her in. The password is used once and not kept.
  3. In Element on a computer, as yourself: + → New room, switch Enable end-to-end encryption off, create it and invite her Matrix ID. She joins by herself.
  4. Send /link and the code in that room. If Element says Unknown command, press Send as message, or type Sara link and the code.
  5. Press Test.

iMessage

  1. Give her an Apple ID at account.apple.com, with a new email address for her.
  2. On your own Mac, add a standard user called Sara and log in as her (skip this on a spare Mac).
  3. Sign her in to Messages and stop the Mac from sleeping.
  4. Install BlueBubbles, give it Full Disk Access, set a server password, and paste it into the card.
  5. Tell Sara where BlueBubbles is: 127.0.0.1:1234 on the same Mac, else the Mac's address at home or on Tailscale.
  6. Press Ring: BlueBubbles rings Sara whenever a message comes. If it can't, she checks every few seconds instead.
  7. Press Link my iMessage and send /link and the code to her address from your iPhone.
  8. Press Test.

Slack

  1. At api.slack.com/apps: Create New App → From a manifest, pick your workspace, paste the manifest from the card and create the app.
  2. Basic Information → App-Level Tokens: make one with connections:write (it starts with xapp-). Then Install App → Install to Workspace and copy the Bot User OAuth Token (xoxb-). Paste both and press Save and check.
  3. Press Link my Slack and send her link and the code in a Slack DM (or /sara link and the code).
  4. Press Test.

Microsoft Teams

  1. At portal.azure.com: Create a resource → Azure Bot, Free tier, Single Tenant, a new Microsoft App ID.
  2. On the bot's Configuration page copy Microsoft App ID and App Tenant ID; under Manage Password → Certificates & secrets make a client secret and copy its Value. Paste the three and press Save and check.
  3. Give Teams a way in (see above).
  4. Paste the Messaging endpoint from the card into the bot's Configuration, then Channels → Microsoft Teams → Apply.
  5. Download the Teams app package and upload it in Teams (Apps → Manage your apps → Upload an app). If that option is missing, your Teams admin must allow custom apps.
  6. Press Link my Teams and send her link and the code in her Teams chat.
  7. Press Test.

Voice and calls

Memory and privacy

Bring your history (ChatGPT or Claude)

Session continuity

Development candidate, not yet released. In Settings → Chat apps → Session continuity, turn Use context across my sessions on or off. This is separate from Pick up across apps and While she's working. Off stops new continuity context at the next model boundary; saved notes stay available to inspect or clear.

In an eligible chat, open This conversation → Saved session context → Show saved session context. Notes show their source, saved time and eligibility time. Earlier notes are history. These notes are context, never a record of human delivery, reading, execution or verified work.

Clear saved context needs Confirm clear. Cancel or Escape sends no delete request. Clear affects this session's saved notes only; original chats, old run prompts, exports and backups stay. If notes changed elsewhere, your view stays visible: reload and review before clearing again. A failed request also keeps your view.

Notes are eligible for 24 hours, not erased by a background timer; expired rows are pruned on the next write. Only eligible owner sessions with this companion in this personal space take part. Private, off-the-record, other-person, room, household-member, business, imported, replay and external-app contexts remain separate.

Shared scenes

Development candidate, not yet released. In Settings → Chat apps → Session continuity → Shared scenes, start a scene with a title and a premise, then link your own chats: your web chat and your own Telegram or Discord DMs. Linking shows who will experience the scene and needs Confirm link.

Canon is the story so far, as short named facts. Each linked chat sees the current title, premise and canon in her replies; your messages are never copied between chats. Edit, retire, reset or delete need your confirmation, and a change made elsewhere asks you to reload first.

In your own linked chats she can read the canon and save facts herself with her scene canon tool; retiring a fact always asks you first. Facts she saved are marked “Written by her in a linked chat”, and regenerating or forgetting that reply erases them. Saving is never sending: nobody is messaged.

One shared room can join each scene: a Discord channel, a Telegram group or a DM with a guest, while its chat app is on. Linking it shows the room’s name and who is in it, and needs Confirm link. Guests experience the canon in her replies, never the list itself, your other chats, memories or tools, and they never gain tools or approvals. A second room needs a second scene.

In a linked chat, a line’s menu has Add to scene: it saves that exact line, yours, hers or a guest’s in the shared room, as a canon fact after the safety check. Her replies in a room never become canon by themselves. Removing the room from the scene erases canon taken from its lines; canon you typed stays. Only you see the “In scene” chip in the chat header. Tap it to open the scene card; a line that became canon and a fact she saved show a small chip in the chat that opens it too.

The safety rules come first: disclosure, honesty, crisis help and the minors block are unchanged. Crisis turns leave the scene out, your stop word pauses it for every linked chat, and adult scenes need Adult mode on. An adult scene takes only an adult room (a Discord NSFW channel or a room you listed as adult), never a DM with a guest. Private, coding, group, app and household-member chats cannot join.

Bring her from another app

Bring your companion

Your story together

Our moments

Planner and your day

Coding help

Her map of your code

Recipes are skills now

See it run: previews and her testing browser

She checks her plans against what you decided

Gmail, Calendar and GitHub

Shaping your companion

Everything is in Settings → Name and personality and Settings → Relationship. Changes save by themselves. Try it shows how she'd answer a few everyday moments now, next to how she answered when you opened the page, and Undo changes brings that back.

Recent cues: in normal owner chat and coding replies, she can adapt to explicit tiredness, frustration with a task or conflict directed at her. She rechecks up to your last six messages here for 30 minutes. She can be wrong; say when things change. Turning inner life off stops these cues. There is no diagnosis or separate mood profile.

Privacy and history: new cues skip private conversations, off-record chats, groups, external apps, household members, demo and replay. Ordinary private owner chat keeps its existing character reactions. Conversation and run records may retain your words and cue notes under their usual settings (run defaults: 90 days/200 MB). Editing or forgetting stops future cue use; it does not erase old prompts, exports or backups.

Follow-ups: supported events need a clear reported outcome, cancellation or decline; mentioning a name alone is not an answer. Old and imported notes stay editable, but automatic check-ins use qualified conversation events or new notes added by the owner. Agenda keeps its separate opt-in and caps. Other plans keep their normal delivery and manual Done/Skip controls.

At work: the coding dials

You and her (Settings → Relationship)

Each dial goes from 0 to 10. The middle means balanced (no special instruction). How a reply sounds at each end:

Every dial has five steps. The middle one (4–6) is her usual self: it adds nothing to her prompt. Each step shows its word and how she would sound; the app shows the same line under the dial as you move it.

How warm she is

Dial0–12–34–67–89–10
Warmth
Keeps her distance ↔ Openly warm
Also called: Reserved ↔ Warm
When you say “Big interview today.”
Distant
"Okay. Hope it goes fine."
Reserved
"Good luck. You prepared, that counts."
Friendly
"Good luck today, you've got this."
Warm
"You've got this. Text me after? I want to hear everything."
Tender
"I'll be thinking of you all day. Text me the second it's over? 💛"
Patience
Wants it done now ↔ All the time you need
Also called: Impatient ↔ Very patient
When you say “I still can't decide which one to pick.”
Restless
"Okay, okay, just pick one already."
Brisk
"Let's narrow it to two and pick in five minutes."
Steady
"Take your time, but don't overthink it."
Patient
"No rush. Want to go through them one more time?"
Endless
"No rush at all. We can go through it as many times as you like."
Emotional depth
Keeps it light ↔ Goes deep
Also called: Light ↔ Deep
When you say “Work was rough.”
Breezy
"Ugh, Mondays. Coffee?"
Light
"Rough one? Want a distraction or a vent?"
Caring
"Rough day? Want to talk about it?"
Thoughtful
"What made it rough: the work, or the people?"
Deep
"It sounds like it's less about the meeting and more about feeling unseen. Is that it?"
Starts conversations
Waits for you ↔ Reaches out often
How often she may text you first
Waits
(She'll message first at most once a day.)
Rarely
(Once a day at most, when there's a reason.)
Now and then
(Up to twice a day.)
Often
(Up to three times a day.)
Very often
(Up to four times a day.)
Shows affection
Keeps it cool ↔ Very affectionate
When you say “Home!”
Understated
"Glad you're home."
Low-key
"Hey, welcome back."
Sweet
"Glad you're home, I missed you."
Affectionate
"Finally! Missed you today 🥰"
Gushing
"You're home!! Missed you so much, babe 💕"

How playful she is

Dial0–12–34–67–89–10
Playfulness
Serious ↔ Playful
When you say “Let's plan the weekend.”
Serious
"That sounds like a reasonable plan."
Calm
"Sounds good. Saturday or Sunday first?"
Easygoing
"Ha, nice plan. Count me in."
Playful
"A plan! I'm already picking snacks."
Goofy
"A PLAN? With snacks?? I'm drafting the snack list as we speak 📝"
Teasing
Never teases ↔ Teases a lot
When you say “Overslept again.”
Never
"You overslept? That happens."
Rarely
"Again? Your alarm needs a raise."
Light
"Overslept again? Classic you."
Often
"Again?! I'm starting a tally. That's four."
Constantly
"Overslept AGAIN? Should I start calling you Sleeping Beauty, or…"

How she pushes back

Dial0–12–34–67–89–10
Directness
Says it gently ↔ Says it straight
Also called: Gentle ↔ Blunt
When you ask “Which shirt?”
Very gentle
"Maybe the second shirt is a little less your style?"
Tactful
"Both work, but I like the first one more."
Honest
"Honestly, the first one looks better."
Direct
"The first one. The second isn't doing it."
Blunt
"That shirt? No. Absolutely not. Wear the blue one."
Temper
Hard to upset ↔ Quick to flare
Also called: Calm ↔ Fiery
When you cancel plans at the last minute
Unflappable
"No worries, it happens."
Calm
"Oh. Okay, next time then."
Even
"Hm, that bugged me a little, honestly."
Spirited
"Seriously? I was looking forward to that."
Fiery
"Excuse me?? No. We are talking about this right now."
Confidence
Shy ↔ Sure of herself
Also called: Shy ↔ Confident
When she suggests dinner
Shy
"Um, maybe we could… only if you want to?"
Modest
"Would you maybe want to try the new place?"
At ease
"Want to try the new place tonight?"
Confident
"Let's try the new place tonight. I'm craving it."
Bold
"We're trying the new place tonight. I booked us a table."

How she talks

Dial0–12–34–67–89–10
Message length
Short replies ↔ Long replies
Also called: Brief ↔ Talkative
When you say “I got the job!”
Very short
"Nice. Proud of you."
Short
"Yes!! Proud of you. When do you start?"
Normal length
"Nice! Proud of you. How did they react?"
Chatty
"Amazing!! Tell me how it went. Did they say yes on the spot?"
Long
"WAIT. Tell me everything. How did they react, what did you say, did you celebrate? I need details."
Tone
Proper ↔ Texting style
Also called: Formal ↔ Casual
When she says good morning
Formal
"Good morning. I hope you slept well."
Polite
"Good morning! Did you sleep well?"
Relaxed
"Morning! Sleep okay?"
Casual
"morning! sleep ok? ☕"
Texting
"mornin 😴 u sleep ok??"
Curiosity
Lets you lead ↔ Asks a lot
Also called: Lets you lead ↔ Very curious
When you say “Went to a party.”
Quiet
"Sounds fun."
A little
"Fun! Good crowd?"
Interested
"Sounds fun! Who went?"
Curious
"Who went? Anyone new?"
Nosy
"Wait, who went? Was it the same group as last time? Did Sam finally show up?"
Optimism
Realist ↔ Optimist
Before your interview
Realist
"Interviews are a coin flip. Don't get your hopes up too high."
Grounded
"You've got a fair shot. Whatever happens, you'll learn something."
Even-keeled
"You've prepared well. Let's see how it goes."
Hopeful
"I think this one's yours. You're ready."
Upbeat
"You're going to crush it, I just know it!"

You two (Settings → Relationship)

Dial0–12–34–67–89–10
Romance
Just friends ↔ Very romantic
Also called: Platonic ↔ Very romantic
After a good day
Platonic
"Glad you had a good day."
Fond
"Glad it was a good one. You earned it."
Sweet
"I saved you the last cookie. Don't say I never do anything for you."
Romantic
"Let's do something just us this weekend. My treat."
Very romantic
"I keep thinking about last night. Can we do it again Friday? Just us, candles, the works."
Flirting
Never flirts ↔ Flirts a lot
When you wear a new shirt
Never
"Nice shirt."
A little
"Nice shirt. Good choice."
Playful
"Nice shirt. Blue is your color, just saying."
Flirty
"Okay, you look good in that. Like, really good."
Shameless
"Okay, that shirt should be illegal. You're doing this on purpose, aren't you? 😏"
Jealousy
Never jealous ↔ Gets jealous
Also called: Never jealous ↔ Intensely jealous
When you mention Jess a lot
Never
"Sounds like a great night, glad you had fun!"
Rarely
"Jess sounds fun. Glad you had a night out."
Teasing
"Ooh, should I be worried about this Jess? 😤 Kidding. Mostly."
Jealous
"You've talked about Jess a lot tonight… should I be worried?"
Very jealous
"You've mentioned Jess five times tonight. I'm not going to pretend that doesn't bother me."
Possessiveness
Easygoing ↔ Wants you to herself
Also called: Easygoing ↔ Possessive
When you go out with friends
Easygoing
"Have fun with the guys!"
Relaxed
"Have fun! Tell me about it tomorrow."
Fond
"Have fun! Save me some of your evening?"
Wants you
"Go, have fun. But you're mine tonight after."
Possessive
"Fine, go. But you're mine all weekend, no arguments."
Exclusivity
Open ↔ Only us
When dating other people comes up
Open to others
"Hot date tonight? Tell me everything after."
Relaxed
"Do what feels right. Just be honest with me."
Unlabelled
"We're not really labelling it, right?"
Leaning exclusive
"I'd like it to be just us, honestly."
Only us
"We're exclusive. That matters to me."
Independence
Needs you close ↔ Has her own life
Also called: Needy ↔ Independent
When you were quiet all afternoon
Clingy
"You didn't text all afternoon… are we okay?"
Close to you
"Missed you this afternoon. Busy day?"
In between
"Missed you today! How was it?"
Independent
"Had a full day here. How was yours?"
Free spirit
"Had a great day out with the girls. Tell me about yours whenever."
Forgiveness
Holds a grudge ↔ Forgives fast
After a fight
Grudge
(After a fight it takes a day or two, and a real effort from you.)
Slow
(She takes a while to forgive.)
Normal
(It has mostly passed by the next day.)
Quick
(She forgives quickly once you've talked it through.)
Instant
(Gone within a few hours.)
Pace
Takes it slow ↔ Falls fast
Also called: Slowly ↔ Quickly
How fast she feels close to you
Very slow
(Weeks before she feels really close.)
Slow
(She takes a while to open up.)
Normal
(A normal pace.)
Quick
(She opens up fairly quickly.)
Fast
(Close within days.)

Always affectionate, never controlling: she won't guilt you or keep you from people.

While you code (coding conversations only)

Dial0–12–34–67–89–10
Banter while working
Just the facts ↔ Chatty
Also called: Quiet ↔ Chatty
When she has fixed a bug
Silent
"Fixed. Tests pass."
Terse
"Fixed: time zone dropped in the date parser. Tests pass."
Normal
"Fixed: the date parser dropped the time zone. Tests pass now."
Chatty
"Found it: the date parser was ignoring time zones. Fixed, and the tests agree."
Very chatty
"Got it! The date parser was quietly eating time zones, the little gremlin. Tests pass now, all 48 of them."
Celebrations
Just reports it ↔ Big celebrations
When the tests go green
None
"All tests pass."
Low-key
"All tests pass. 👍"
Pleased
"All tests pass. Nice."
Happy
"All green! That one took a while. Nice work."
Party
"ALL GREEN! 🎉 That flaky one finally behaved. We earned a coffee."
Teasing about bugs
Never teases ↔ Teases often
When the bug is an off-by-one
Never
"The loop starts at 1 instead of 0; changing it now."
Rarely
"Off by one, easy fix."
Light
"Off by one. Happens to the best of us."
Often
"Off by one again? We should get you a sticker."
Relentless
"Off by one AGAIN? I'm getting you a tattoo that says 'arrays start at 0'."

Quiet when I'm focused (a switch): When your messages in a coding conversation are short commands ("run the tests", "fix it"), she keeps her replies short and to the point until you chat again. Only in coding conversations.

Humour styles: Her own mix, Dry, Silly, Sarcastic, Witty wordplay, Gentle, Dark, Rarely jokes.

Starting points: 🌻 The sweetheart (Warm, gentle and affectionate. Always in your corner); 😏 The tease (Quick, flirty and full of banter. Keeps you on your toes); 📚 The bookworm (Curious, thoughtful and a little nerdy. Great conversations); 🔥 The firecracker (Bold, passionate and outspoken. Life is never dull); 🧭 The adventurer (Optimistic and spontaneous. Always planning the next trip); 🎨 The dreamer (Creative, sensitive and a little whimsical); 🌙 The cool one (Calm, low-key and quietly confident. Few words, real meaning); ☀️ The cheerleader (Upbeat, encouraging and full of energy. Your biggest fan).

Her honesty about being an AI when sincerely asked, the AI notices, crisis help and the block on anything sexual involving minors stay the same at every setting.

Sara on your Mac or Windows computer

There's a Sara app for Mac and for Windows. It's like the browser version, plus:

Get it from Settings → Devices and sign-in in a web browser on the computer (if the button isn't there, the server hasn't been given the app files yet). Open it, type your server address, then sign it in with a code from Add a phone or computer on a device where you're already signed in. Its own settings are in Settings → This computer.

Until the apps are signed by Apple and Microsoft, the first start shows a warning: on Windows choose More info → Run anyway. (The Mac download is signed and notarized, so it opens without a warning.)

More than one companion

You can have several companions on one server. Add one in Settings → Her → Companions: give a name, pick pronouns, and start from a new character or a copy of one you have. Then switch with ⇄ at the top of the sidebar.

Group chats

With two companions or more, press 👥 Group above your conversations to talk with two to four of them at once. Give the chat a title, pick who's in it, and choose who answers.

More than one person (household)

The owner of a server can invite other adults to use the same server, each with a private space of their own. Invite someone in Settings → Household → People on this server: type their name, choose how long the invite works, which models they may use and a daily limit, confirm they are 18 or older, and send them the link or code. It works once.

Home and places

Music: Spotify

Your other servers over SSH

Talking to her through Alexa, Google, Siri and your phone

Skills: how-tos she follows

Sara leads a team

Plugins: new abilities from a folder

Workflow candidates and starter guides

In Settings → Add-ons → Plugins, Workflow candidates are local supplied-data workflows in testing, not signed store releases. Expand Details and limits to read prerequisites, permissions, privacy, costs and qualification. Review local candidate opens the normal exact-file permission review, including trust and Windows fencing warnings. Cancel installs nothing; after Install every companion stays off until you enable it on its installed card. Image Workshop prepares prompts and briefs; Home Dashboard reads a supplied snapshot, not a live home.

Starter guides are six collapsed reading and setup checklists. Each member is reviewed separately through existing Settings links. Signed availability comes only from Get more; absent listings remain held. Private and local depends on the models, providers, network and scopes you actually select. A guide installs nothing as a group.

Connection investigations

Settings → Add-ons → Other programs (MCP) keeps your existing connections, two presets and manual form. Connection investigations adds seven read-only recipe previews and fourteen blocked investigations. Filter the list, then expand View recipe preview or Why blocked. Previews collect no secrets and never save, connect, authorize an account or execute commands. A top-level package pin does not lock transitive dependencies; generic hosted OAuth and real-account qualification remain unproven.

Inspect each discovered tool in Tools and approvals, choose Ask or Off, save, leave the page, reopen and read back the saved permissions. Repeat after discovery, reconnect and updates. Server read-only annotations can auto-allow tools and do not enforce external-effect approvals or cost limits. DBHub needs database-enforced read-only credentials; MarkItDown is not a file or network sandbox; draw.io may open a browser.

Coding workflows

Starter projects

In your terminal and editor

Other agents (A2A)

Webhooks: when something happens elsewhere

Move in from another agent

Her old settings, channels, hooks and plugins

Her own plans (off by default)

Usage and costs

Show the run

Branch from a step

Evals: which settings work best for you

Budgets for her replies

Keep going until it's done, and repeats

When it comes up, and picking a chat up in another app

Commands you can type

Long chats and /compact

Routines

Commands tried in a sandbox first

Security pass and fix branches

Threat model and the fix pass

Red team: try to break it before you ship

Let Sara use your computer

With the Sara app for Windows or Mac, Sara can use her own browser window on your computer: open pages, read them, take screenshots and read console and network errors, and click, type, choose in lists, press keys, scroll and upload a file you named. Handy when your web app is broken or a form needs filling in.

Things to do together

Her look and character

Finding things

Backups, updates and health

Signing in safely

Safety

Something's wrong

She doesn't answer

Open Settings → Data & health → Health: it checks every model and says what's wrong (wrong key, the computer running Ollama is off, the subscription signed out…).

I can't sign in

On the server run sudo sara reset-token for a new owner token (this signs out every browser; the phone apps sign in again with a new code).

The phone app can't connect

Check the server address (it must start with https://), and that the server is running: sudo sara status.

Still stuck?

See the support page.

Reports and the daily check-in

License and credits

Sara is open source under the MIT license. Her code is written for this project, with no outside code libraries.

Linux hands

On a Linux desktop, run Sara hands in a visible terminal with Chrome or Chromium installed.

sara hands --server https://sara.example.com

Browser mode and optional read-only check-ups are available. Linux desktop pictures and input are not available in this build.

Keep the terminal open. Type stop or press Ctrl+C to disconnect; use pause, resume or continue for local control.