✨ Create your companion
A guided setup with cards, about 5 minutes. Every step can be skipped.
Start from a character ?
Her picture stays when you choose a character. Make a new look
Import a character… ?
Or drop a file here. A Sara character file keeps everything (look and voice too); a card is the format other apps read.
Use the card's picture as her picture
Make her this character Add as a new companion Cancel
Starting point ?
🎲 Make her one of a kind 🎁 Surprise me ?
Relationship
How she talks
Humour
Personality dials ? Guide
Her life ?
✍️ Fill in the rest for me Uses your background model; ready-made details if it's not available.
At work ?
Coding conversations only. Her chat personality above isn't changed by these.
Quiet when I'm focused
Try it at work She answers a passing test, a silly bug and a short command.
No changes yet
Undo changes Try it ?
Staying in character ?
Check her replies Off Some replies (every third) Every reply
Want to change every detail by hand? Open the full character
Character file
Keep her whole character in one file (name, personality, look and voice choice), to back it up or move it to another Sara server. No keys, memories or conversations are in it.
Save character file Load a character file…
How things are between you two. Changes save by themselves; Try it shows how she'd react, and Undo changes goes back.
Your relationship ?
In your own words (optional)
When you're away
When you disagree
Your other companions
Slow burn: romance grows with time together ?
Intimacy ?
How far things go
No changes yet
Undo changes Try it
You can have more than one companion on this server. Each has her own name, character, look, voice, conversations and memories. They share your sign-in, devices, keys, models, tools and backups. Switch between them with ⇄ at the top of the sidebar.
Add a companion
Name
Pronouns she / her he / him they / them
Start from A new character (shape them afterwards)
Add
Planner
To-dos, reminders and notes One planner, shared by all companions Each companion keeps her own
A change applies after the next restart or update.
Bring your chats from Character.AI, SillyTavern, Replika, Nomi, Kindroid, ChatGPT, Claude or a saved transcript. She reads them and suggests what she learned about you, your history together and her character. Nothing is saved until you check it and press Save. How to export from each app
Choose the file
A .zip export (up to 200 MB) or one chat file: .json, .jsonl, .csv, .txt or .md (up to 50 MB). Character cards are imported in Name and personality instead.
Choose a file
Which app it came from
Who is who
Which conversations
All None
Only models on this server
Let her read them Read without a model Never mind
She can ring you, like a phone call, in the Sara app on your phone or in this browser. Answer and she tells you why she called. Miss it and she sends it as a message instead.
Let her call me
Call me now
To ring on a locked phone, Android needs your OK. Allow full-screen calls
Android: switch on Instant notifications (Connections → Phone and notifications) so the phone can ring. iPhone: rings while the app is open; otherwise a “Sara is calling” notification (needs your Apple push key, Settings → Phone and notifications).
Sara can send you photos of herself. Her own portraits cost nothing. New pictures are made with xAI Grok Imagine from her look, using your Grok subscription (or an xAI API key); she asks first unless you change take_photo above.
Pictures
Off
Only her own portraits
Her portraits, and new pictures (xAI Grok Imagine)
Run her model on this computer, and if you like, keep everything here: nothing goes to the internet.
Nothing leaves this computer ?
First get a model on this computer (below). Then turn this on.
What would leave this computer (paused while it's on)
Phones and computers on your home network or Tailscale can still open Sara here, if you set it up that way: they connect in, Sara doesn't reach out. On Windows her commands can't be fully cut off from the internet; see the guide.
A model on this computer ?
Model to download ?
Download this model Cancel
Every job uses your default model unless you pick one here. A conversation's own model choice still wins. ✨ Use recommended fills in picks from what's connected; changes save by themselves.
✨ Use recommended
More jobs (meaning search, private, adult, safety check)
If the default model fails or is slow
The next one takes over and you see a short note saying so. Each job above has its own backups too.
Switch after 30 seconds 1 minute 2 minutes ?
Pictures she makes: Pictures from her . Hearing you and her voice: Voice .
Use a subscription you already pay for instead of an API key. Each one shows up as a model provider once you're signed in.
ChatGPT
Use your ChatGPT plan: eligible requests in Sara count toward your plan, separate from any API billing. Manage usage
Continue with ChatGPT Sign out
Claude
Uses your Claude Pro/Max subscription through Anthropic's official Claude Code program on this server.
Sign in to Claude Sign out
Or paste a token instead
On a computer with Claude Code, run claude setup-token and paste the long token it prints.
Save
Grok
Uses your SuperGrok or X Premium+ subscription through the official Grok program.
Sign in to Grok Sign out
Once a day at the time you pick, Sara sends a short message with the weather and what's on your list (due to-dos and reminders). It arrives like her other messages: in chat, as a notification and on Telegram/Discord if linked. Weather comes from Open-Meteo (free, no account).
Send me a morning briefing
Time
Weather for
Units °F °C
Send one now
Weekly review
Once a week she looks back with you: what got done, what's overdue or stalled, and a short plan for next week from your to-dos, reminders and calendar. You can also ask for one any time (Planner → Review my week).
Send me a weekly review
Day Sunday Monday Tuesday Wednesday Thursday Friday Saturday
Time
Yearly look back
On the anniversary of your first message, she writes a look back at your year together from Your story (milestones, promises, projects, moments) and sends it like her other messages, outside quiet hours. You can also ask for one any time on the Your story page.
Send me a look back on our anniversary
Adult mode can only be turned on in a web browser, not in the phone apps.
Allow internet access for shell commands
Browser for testing ?
Look again
Sign out of Google
Set it up (about 10 minutes, once)
She reads your email and calendar through Google's own APIs, using a small Google app that you own, so nothing goes through anyone else. Reading is automatic; drafting, sending and adding events always ask you first.
Open Google Cloud Console and make a project (any name, e.g. "Sara").
Turn on the Gmail API and the Google Calendar API (press Enable on each).
Open Google Auth Platform → Get started: app name "Sara", your email, Audience External .
Under Audience , press Publish app (otherwise Google signs her out every 7 days). Google will call it unverified; that's expected for your own app.
Under Clients → Create client → Web application . Under Authorized redirect URIs add exactly: Copy
Copy the Client ID and Client secret it shows into the boxes below and press Save.
Press Sign in with Google . On the "Google hasn't verified this app" page choose Advanced → Go to Sara , and leave all the boxes ticked.
Client ID Client secret Save
Sign in with Google Remove the Google app
Using another email provider? Email and calendar with an app password are under "Tools from other programs" below (Fastmail, iCloud, Outlook and more).
What she knows about the code in each workspace: how to build and test it, its layout and rules, and the notes she keeps (decisions, conventions, commands). She looks again by herself every hour; coding conversations and her team use it.
Workspace Look again
After a tricky job goes well she can write down how she did it (a recipe : when to use it and the steps that worked). In coding conversations she sees the recipes that fit what you ask and follows them. Saving one asks you first; you can change that for recipe_save in Tools and approvals.
Let her see and control your home through Home Assistant : lights, switches, thermostats, locks, blinds, scenes. She can look on her own; every change asks you first. Your Home Assistant must be reachable from this server (for example your Nabu Casa address, or over Tailscale).
Home Assistant address
Long-lived access token
Make one in Home Assistant: click your name (bottom left) → Security → Long-lived access tokens → Create token.
Save and test Disconnect
Presence
She can notice when you get home, leave, go to bed or switch the lights on in the morning, and say a short word: a message on your devices, an announcement on a speaker, or both. Off until you switch it on, for this companion. Each kind at most once every few hours, never in the quiet hours of Calls from her.
Connect Home Assistant above first.
Let her work on your other servers over SSH, with a password or a key. Every command she runs there asks you first (you can change that in Tools and approvals), and risky ones always ask. After you sign in once with a password she makes her own key for that server and stops using the password.
Add a server ?
How big the documents in her library may be, and how she reads long ones. A 1,000-page book is read in the background, page by page, and can be paused; every scanned page is read by her picture model. Saved as you change it.
Largest document
Up to 100 MB
Up to 250 MB
Up to 500 MB
Up to 1 GB
Up to 2 GB
Largest document for household members
Up to 25 MB
Up to 50 MB
Up to 100 MB
Up to 250 MB
Up to 500 MB
Up to 1 GB
Scanned pages
Read them; ask me first when a cloud model would
Read them only with a model on this computer
Don't read scanned pages
Background reading:
Her picture model reads the scanned pages. Pick it in Which model does what → Looking at pictures .
Files over 100 MB need to be PDFs. Behind a reverse proxy, big files are sent in 8 MB pieces, so a proxy limit of 10 MB or more is enough.
Talk to her from other apps, with her own memory and personality: chat apps like SillyTavern and Open WebUI (they speak the OpenAI way), and MCP apps like Claude Code, Cursor and Claude Desktop (they can use her memory, planner, library and notes). Give each app its own API key. Her safety rules and the AI notice always apply.
Her addresses ?
For chat apps (OpenAI-compatible): Copy
For MCP apps: Copy
API keys ?
Name of the app Create an API key for another app
The new key (shown only now; paste it into the app):
Copy
What other apps may do
Let other apps use her tools ?
Let other apps change things ?
Browser apps that may call her ?
Talk to her through Alexa ?
Say "Alexa, open sara companion" and talk to her. You make the skill yourself in the Alexa developer console (free, about 15 minutes); the step-by-step guide is in the help (Talking to her through Alexa, Google, Siri and your phone).
Make a link code
Set up an app
SillyTavern
Open API Connections (the plug icon) and choose Chat Completion.
As the source choose Custom (OpenAI-compatible).
Paste her chat address as the Custom Endpoint and your API key as the key, then press Connect and pick the model sara.
She keeps her own memory and only reads your newest message. To let SillyTavern send its whole chat and character prompt instead, add the header X-Sara-History: client (Additional Parameters → Include Headers).
Open WebUI
Open Admin Panel → Settings → Connections.
Under OpenAI API press +, paste her chat address as the URL and your API key as the key, and save.
Pick sara as the model in a new chat.
Claude Code
First put your API key in SARA_API_KEY: run the line for your computer in a terminal, paste the key and press Enter. This way the key never lands in your shell history.
Mac or Linux: read -s SARA_API_KEY On Windows (PowerShell): $SARA_API_KEY = Read-Host
Then run this once in the same terminal:
Copy
Claude Desktop
Claude Desktop starts a small bridge program. Download sara-mcp.ts , save it (for example in your user folder), install Node.js 24 or later, then add this to claude_desktop_config.json (Settings → Developer → Edit Config) with the file's real place, and restart Claude Desktop:
Copy
Cursor
Add this to .cursor/mcp.json (or Cursor Settings → MCP → Add a new server):
Copy
Scripts and shortcuts
Any program that talks to OpenAI can talk to her: point it at her chat address. With curl:
Copy
In Windows PowerShell:
Copy
With the openai package for Python or JavaScript:
Copy
Copy
How you reach her: … ?
Scan with your phone's camera, then tap Open in the Sara app.
Run full check Also checks the database, asks every model provider for its models and checks the off-server copy (same as sudo sara doctor).
History
Last 24 hours Last 7 days Last 30 days
Recent problems
Download the log Secrets are hidden in it. Useful when asking for help.
Add a phone or computer No typing the long token: scan a code or type a short one.
Phone: scan with your phone's camera, then tap Open in the Sara app. Or type your server address and this code in the app.
Computer: open
Cancel the code
Every browser, phone or app signed in to Sara. Sign out any you don't recognize or no longer use.
Sign out all other devices Sign out of this device
Make a new owner token
Use this if someone else may know your token. Every other device is signed out; this one stays signed in. Type the current token to confirm.
Current token Make a new token
Your new token (shown only now; save it in your password manager):
Copy
Passkeys
Sign in with your fingerprint, face or device PIN instead of the long token. The passkey stays on your phone or computer (or in your password manager); nothing secret is sent. Works in web browsers over https.
Name it Add a passkey
Two-step sign-in
When it's on, signing in with the owner token also asks for a 6-digit code from an authenticator app (Google Authenticator, 1Password, Apple Passwords…). Passkeys and new-device codes don't need it. Lost your phone? Where she runs, sudo sara reset-token turns it off.
Turn on two-step sign-in
Current code Turn off
Bring your history ?
Ask ChatGPT (Settings → Data controls → Export data) or Claude (Settings → Privacy → Export data) for your data, then choose the .zip they email you. You see what's in it before anything is imported. Up to 500 MB.
Choose an export (.zip)
Pause Resume Stop learning
Learn from the rest Remove imported history
Export and import
Download everything (chats, memories, to-dos, reminders, notes) as one file, or bring in a file from another Sara. Keys and passwords are blanked out in the export; add your provider keys again after moving.
New versions bring fixes and new things to do. Updating makes a backup first, then installs and restarts Sara (about a minute; conversations in progress stop). If the new version doesn't start properly, Sara goes back to the version she had by herself.
Check for updates Update now
Download the new version
To update her: sudo sara update. This server updates from the command line. On the server run sudo sara update (Docker: docker compose pull && docker compose up -d).
Invite other adults to use this server with their own companions and a private space of their own. You choose which models they may use and how much a day. You can't read their conversations, memories, companions or moments: you only see how much they use, to manage the bill.
Invite someone ?
Send this to them (shown only now):
Copy link
Code:
Waiting invites
People
Nobody else uses this server yet.
Whoever runs a server can technically read its disk, and your server backups contain every space (encrypted when they leave the server). The app itself never shows you their data.
You use this server as a member of the owner's household. Your companions, conversations, memories, planner, library and moments are yours: the owner can't read them, and sees only how many messages you send and roughly what they cost.
Sign-in and devices
Devices and sign-in Passkeys, two-step sign-in, phones and apps, API keys.
Make a new member token
Use this if someone else may know your token. Every other device is signed out; this one stays signed in.
Current token ? Make a new token
Your new token (shown only now; save it in your password manager):
Your data ?
Download my data
Delete my account ?
Your member token Delete my account
Replies you reported with ⚑. Each is kept here; unless you unticked it, it was also sent to the app's developer (only the reply, the reason and your note).
Reports from the apps
This server is the developer's report inbox (SARA_REPORT_INBOX=1): reports sent from other Sara servers and the phone apps.
Nothing matches. Try another word.