Skip to content
aniketshukla1Public

About

The AI you can tell everything. It runs on your machine, asks before it acts, and shows you everything that left.

Topics

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Latest commit

Β 

History

5 Commits

Folders and files

Repository files navigation

Superuser: the AI you can tell everything. It runs on your machine, asks before it acts, and shows you everything that left.

🌐  aniketshukla1.github.io/superuser


Watch the film Β  Get started Β  Website



CI Licence: PolyForm Strict macOS 13 or later Built with Rust and Tauri 2 Runs offline with Ollama No telemetry

Assistants Β Β·Β  Features Β Β·Β  Privacy Β Β·Β  Under the hood Β Β·Β  Quickstart Β Β·Β  FAQ Β Β·Β  Contributing


Product Performance finds the one series that moved after a release, with a chart; Talent Scout checks candidates against the ATS and leaves out three already in it; the Inbox holds an email reply and a digest, each waiting for approval

Six assistants, each doing a whole job. The real app, over invented demo data. Β β–Ά Watch with sound (24 s)


Superuser does real work across your apps, on your own computer

An AI coworker for your mail, calendar, chat, code, metrics and the web. Pick an assistant, hand it a job, and get back finished work: the steps it took, the numbers behind them, and the facts kept apart from the guesses. Anything it wants to send, run or change waits for your yes.

Important

Other assistants keep what you tell them on their servers. Superuser keeps it on your disk, and lists every request that leaves.

Run it entirely on your own hardware with a local model, or point it at Claude, GPT or Gemini when you want more power. No account needed and no telemetry. Everything works with nothing of ours in the middle.

Step Example
01 Connect Your mail, calendar, Slack, GitHub, Jira, Prometheus, or nothing at all. Keys are stored encrypted on your Mac.
02 Ask "Checkout got slower since yesterday's release. Find where, with evidence." One of 20 assistants takes it from there and shows every step.
03 Approve Messages, commands and changes wait in your Inbox. Every request that left your Mac is on the record.

Hand over the whole job

Six assistants that each own a job end to end. The part that has to be right is done by code, not by the model:

Assistant The job What holds the line
Email Assistant Answers mail from senders you allow Every reply is a draft in your Inbox. Nothing is sent without your yes.
Expense Manager Logs receipts from email, summarises the week The totals are computed, and each one lists the receipts it adds up.
Chief of Staff What came in since yesterday, mapped to your priorities It can't send a message or move a meeting. It has no tool that could.
Bug Reproduction Reproduces a bug report with steps, screenshots and a test case Its browser opens your staging site and nothing else, so production data never reaches it.
Product Performance Finds where a slowdown is, from your Prometheus Every series is compared before and after the change, in code. Only a clear shift is called a hotspot.
Talent Scout Finds candidates who meet the must-haves, and drafts outreach Your ATS export is checked in code, so nobody already in it makes the list. Nobody is contacted.

Thinks
with
Ollama
Ollama
Claude
Claude
Gemini
Gemini
Mistral
Mistral
DeepSeek
DeepSeek
OpenAI Β· Grok
Groq Β· Together
Fireworks
OpenCode Zen
your ChatGPT
or Claude plan
Works
in
Gmail
Gmail
Google Calendar
Calendar
GitHub
GitHub
Jira
Jira
Linear
Linear
Notion
Notion
Prometheus
Prometheus
Slack Β· Outlook
+ 28 more Β· MCP

Any model, including a local one or any OpenAI-compatible API. Your apps, your Mac, your rules.


Problems Superuser solves

Without Superuser With Superuser
❌ Every morning you paste the same context into a chatbot, because it forgot. βœ… It already read it: memory built from your mail, calendar, repos and notes, kept on your disk.
❌ An "agent" sent an email you never saw. βœ… Every message waits in your Inbox, showing exactly what would leave and where it would go.
❌ A privacy policy says your data is safe. You can't check. βœ… The Network page lists every host contacted and why. Turn on local-only mode and watch the refusals.
❌ The assistant cites a file it never opened, or charts numbers it made up. βœ… Gates check paths, links and chart sources against what the run actually read, and send invented ones back.
❌ You wrote "never touch .env" in a prompt and hoped. βœ… Boundaries are rules checked in code before every action. Deny wins; a broken rule refuses.
❌ Checkout got slower and you're clicking through dashboards. βœ… Product Performance compares every series before and after the release and writes up the hotspot, with links.
❌ Sourcing turns up people who are already in your ATS, and you email them twice. βœ… Talent Scout checks every candidate against your ATS export in code, and leaves the outreach as drafts you send.

Features

πŸ€– Any model, including your own

Run on your own hardware with Ollama, or use Claude, GPT, Gemini and 10 more providers, your ChatGPT or Claude plan among them. Switching is a dropdown, and the local option needs no key.

πŸ§‘β€πŸ’Ό 20 assistants, each different

Chief of Staff, Email, Product Performance, Talent Scout, Coder, Security, Finance and more, each with its own instructions, tools, skills and model. Create your own in the app.

πŸ”Œ Your actual tools

37 connectors with real tools (Gmail, Slack, GitHub, Jira, Notion, Prometheus, Stripe, HubSpot…) plus any MCP server. Real accounts doing real work.

βœ‹ Asks before it acts

Every message, command and change is shown before it happens. Allow it once, always for that target, or let a routine run unattended within limits you set.

πŸ›‘οΈ Boundaries you can read

"Never send messages." "Don't touch secret files." Rules checked before every action: deny wins, and a rule with a typo refuses rather than allows. Each preset says what it costs.

πŸ”’ Private, and you can check

One chokepoint for every outbound request, enforced by a test. The Network page lists each host and why. Local-only mode refuses everything else, on the record.

🧠 Memory you can read

What it knows is Obsidian-compatible markdown on your disk, with where each fact came from. Open it, edit it, delete it. Its history is a git repository you can read.

⏰ Works while you're away

Routines on a schedule (a weekday digest, a Monday health report) and watches that tell you when something changes. Results wait for you with the evidence.

πŸ“Š Evidence, not vibes

Charts drawn from data it actually read, with the source on every chart. Gates catch invented file paths, links and numbers before they reach you.

Also in the box: voice dictation that runs on your Mac (whisper.cpp) Β· a browser of its own for each assistant, which hands you the wheel at sign-in pages Β· talk to your assistants from Slack, Telegram or email Β· assistants that delegate to each other Β· 42 built-in skills (playbooks for code review, budgets, database migrations, sourcing, interview loops…) Β· an OpenAI-compatible API on 127.0.0.1 so your other tools can hand it work.


A closer look

An assistant's answer: a latency chart with its source, then facts and hypotheses

Answers with evidence: the steps, a chart with its source, facts apart from guesses

The Inbox: a Slack message and an email waiting for approval

Inbox: each message waits for your yes, showing exactly what would leave

Boundaries: rules in plain expressions, each with what it costs

Boundaries: your rules, checked before every action

The Network page: each host contacted, what for, how much was sent

Network: everything that left this machine, and who received it

Local-only mode on: requests refused and recorded

Local-only mode: refused where it would have left, and written down

The Brain: memories grouped by source, each a markdown file

Brain: what it knows, as markdown files, with where each came from

A connector's page listing the tools assistants use on it

Connectors: exactly which tools an assistant gets from each app

Scheduled routines with their next run

Routines: scheduled work that reports back

Play the tour (an animated walk through the screens above)
A tour of Superuser: an assistant traces a latency regression with a chart, messages wait for approval in the Inbox, boundaries, the network log, memory as files, connectors and routines

Screenshots are the real interface, running on invented demo data. Regenerate them with scripts/readme-assets.py.


Private is a setting you can check

"We take your privacy seriously" is a sentence. These are mechanisms, and each one is in the source for you to read:

Claim How it's enforced See it yourself
Every request that leaves is recorded One chokepoint builds every HTTP client (core/egress.rs). A test fails if code creates one anywhere else. Mail protocols declare themselves the same way. Privacy β–Έ Network
Local-only means local-only Refused at that chokepoint, not feature by feature: models, connectors, web search, messaging and the assistants' browser. Flip the switch, then read the refusals
No telemetry There is nothing to switch off. Every outbound purpose is named in the source, and none of them is analytics or an update check. git grep 'egress::client('
Your rules are enforced, not suggested One gateway (core/gateway.rs) checks your boundaries before every tool call and writes the decision down before anything runs. Settings β–Έ Boundaries
A trail you can trust An append-only log where each row carries the hash of the one before, so an edit or a deletion shows. Anything shaped like a credential is scrubbed first. Privacy β–Έ Actions
Keys stay locked Credentials are encrypted at rest with ChaCha20-Poly1305 and mirrored to the macOS keychain. core/secrets.rs
Outside content is data Anything read from the web, an email or a connected app marks the run. One preset stops a marked run from sending, running commands or changing things. Preset: Nothing acts after reading outside content

How good are local models at this?

Measured, not guessed. The same 20 agent tasks (read, write, edit, shell, recovery, honesty, tool use), three runs each, through Ollama:

Model Tasks passed Cost
gemma4:12b 54 / 60 $0
qwen2.5:7b-instruct 44 / 60 $0
llama3.2 (3B) 29 / 60 $0

Per-task results are in docs/harness/HARNESS-SCOREBOARD.md, and the harness itself is src-tauri/src/harness_eval.rs. For the longest multi-step jobs a frontier cloud model is still stronger, and you can choose one per assistant.


Under the hood

One desktop app on your Mac: assistants and skills, the gateway, gates, memory, connectors, the scheduler, a browser for each assistant, and Egress, over an audit trail. Ollama, your apps, cloud models and the web are reached only through Egress, and every request is written down. 20 built-in assistants, 42 built-in skills, 37 connectors plus any MCP server, 14 model providers, more than 1,600 Rust tests, 0 analytics calls

A Rust core (Tauri 2) with a React interface. The core serves the interface over HTTP and WebSocket on 127.0.0.1 only, and every request needs a token that changes each launch. Each part in the drawing names the folder it lives in under src-tauri/src.


The assistants

Each assistant is one markdown file: a short header naming its tools and skills, and a body that is its instructions. Pick one per conversation, or create your own in the app.

All 20 built-in assistants
Assistant What it does
Main Assistant Get things done β€” research, drafts, and analysis
Chief of Staff Reads what came in since yesterday and tells you what matters
Email Assistant Reads your email and drafts the replies you approve
Product Performance Investigates a slowdown in your metrics β€” the hotspot, the evidence, and links
Bug Reproduction Reproduces a bug report on staging, with exact steps and a test case
Talent Scout Finds candidates who meet the must-haves β€” none already in your ATS β€” with outreach drafts
Coder Work in a codebase β€” edit, run, and ship
Data Analyst Answer the question that was asked, and show the numbers that complicate it
Finance Analyst Say where the money actually went, and when it runs out
Expense Manager Logs receipts from your email and builds summaries that add up
Ops Assistant Incidents and runbooks β€” logs, metrics, infrastructure
Security Assistant Security problems found and fixed β€” scan, triage, PR
Dependency Audit Assistant Risky dependencies β€” audit, smallest upgrades, PRs
Cloud Posture Assistant Review Terraform and cloud config β€” read-only, evidence first
QA Analyst Find what breaks before someone else does, and say what you didn't check
Product Manager Specify it so it can be built and tested without a meeting
Team Lead Break work down, hand it out, check it came back right
Technical Writer Documentation written from the code, and followed before it ships
Customer Support Solve the problem behind the ticket, and answer even when the answer is no
HR Partner Describe the job, run the same process for everyone, and write it down
All 37 connectors
Area Connectors
Messaging Slack, Telegram, Discord, WhatsApp
Email and calendar Email (IMAP), Gmail, Outlook, Google Calendar
Files and docs Google Drive, Dropbox, Box, Notion, Confluence, Docusign
Engineering GitHub, GitLab, Jira, Linear, Asana, ClickUp
Operations PagerDuty, Prometheus, Datadog
Sales and support HubSpot, Salesforce, Attio, Close, Apollo.io, Hunter, Zendesk
Finance Stripe, QuickBooks
Design Figma, Canva
Analytics PostHog, Mixpanel, Amplitude

Plus any MCP server you run or point it at. Connections use your own credentials, stored encrypted on your Mac, with no broker in between. Superuser Cloud, coming next, adds optional one-click sign-in.


What Superuser is not

Not a cloud service. It's a program on your Mac, and your data stays in a folder you can open. Superuser Cloud, coming next, is optional: it only brokers one-click connections, and nothing needs it.
Not a chat window. It works inside your apps and hands back finished work, not a transcript.
Not autonomous by default. It asks before sending, running or changing anything, until you decide otherwise.
Not an integration count. 37 connectors built in, each with real tools, plus any MCP server. Depth over a long logo wall.
Not cross-platform yet. macOS 13 or later today. Windows and Linux builds are not tested.

Quickstart

You need: macOS 13 or later, the Xcode command line tools (xcode-select --install), Rust, Node.js 20 or later, and CMake (brew install cmake, for on-device voice).

git clone https://github.com/aniketshukla1/superuser.git
cd superuser
npm install                     # the Tauri command line
npm --prefix surfaces/gui ci    # the interface
npm run app                     # build the Rust core and open the app

The first build compiles the Rust core, including whisper.cpp, so it takes several minutes and a few GB of disk. Later starts are quick. On first launch, setup asks which model to use and which apps to connect; both can wait.

Fully local, no keys:

brew install ollama
brew services start ollama
ollama pull gemma4:12b          # or qwen2.5:7b-instruct on a smaller machine

Then choose Ollama in setup, or later in Settings β–Έ Models. Turn on local-only mode (sidebar β–Έ More β–Έ Privacy) and nothing leaves your Mac.

Build a standalone app
npm run build     # β†’ src-tauri/target/release/bundle/macos/Superuser.app

The build is not signed. The first time you open it, right-click the app and choose Open.


Use it from your other tools

Superuser serves an OpenAI-compatible API on 127.0.0.1. Your assistants are the models:

PORT=8765   # the app's port; if 8765 is taken it picks another and writes that token instead
TOKEN=$(cat "$HOME/Library/Application Support/ai.superuser.app/sidecar-$PORT.token")

curl -s http://127.0.0.1:$PORT/v1/chat/completions \
  -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
  -d '{"model": "chief", "messages": [{"role": "user", "content": "What needs my attention today?"}]}'

GET /v1/models lists the assistants you can name. Streaming is not supported yet, and a request for it is refused rather than quietly answered in one piece.


Handy shortcuts

Do this Press Do this Press
New conversation ⌘N Search conversations ⌘K
Show or hide the sidebar ⌘B Settings ⌘,
Answer a question card 1 – 4 Send / new line ↩ / ⇧↩

FAQ

Does my data leave my computer?
Only when you choose a cloud model or connect an app, and then only to that provider or app. Each request is listed on the Network page with its host and what it was for. With Ollama and local-only mode on, nothing leaves, and the refusals show up in the same list.
Do I need an account or an API key?
No. With Ollama you need no key at all, and a cloud model needs only that provider's key, stored encrypted on your Mac. Superuser Cloud, coming next, is an optional account for one-click connections; everything in this repo works without it.
Is it safe to let it act?
By default, anything that sends, runs or changes something asks first. Boundaries refuse whole kinds of action outright, and every decision lands in a tamper-evident audit trail. You choose which assistants may work unattended, and what they may do when they do.
How is this different from ChatGPT or Claude's own apps?
Those run the assistant in the provider's cloud and keep its memory there. Superuser runs the assistant on your Mac, keeps its memory as files you own, works inside your apps with approvals and an audit trail, and can run with no cloud at all.
Where does my data live?
In ~/Library/Application Support/ai.superuser.app: the memory vault (markdown), conversations, the audit trail and your encrypted keys. Delete the folder and it's gone.
Can I use it at work?
Not under this licence: using Superuser in or for a business isn't permitted. Personal, non-commercial use is free. For a business licence, use the contact form.
Windows or Linux?
Not yet. Superuser is built and tested on macOS 13 and later.

Contributing

Bug reports and ideas are very welcome in issues. To build or test Superuser, or to propose a change, start with CONTRIBUTING.md.

License

Superuser is source-available under the PolyForm Strict License 1.0.0. In short (the licence text is what counts):

  • βœ… You may download, build and run it for personal, non-commercial use. Charities, schools, public research bodies and government institutions may use it too.
  • ❌ You may not change it, share copies of it, or build other works from it (except to propose a contribution; see CONTRIBUTING.md).
  • ❌ You may not use it in or for a business.

Some parts remain under the MIT License; see THIRD_PARTY_NOTICES.md. For any other use, get in touch.

Star history

Star history

aniketshukla1.github.io/superuser
Source-available, and free for personal use. Built for people who want an AI that works for them, not on them.

About

The AI you can tell everything. It runs on your machine, asks before it acts, and shows you everything that left.

Topics

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages