Local-first personal agent · macOS

Your Mac.
Finally helpful.

Steward is a private personal assistant with memory. It knows your work, finds what you have forgotten, and prepares the next step — without taking control away from you.

Data stays on your Mac Actions approved by you Inspectable memory
Steward
Steward home screen with conversations and suggested actions
12 emails analyzed2 need attention
Local & privateNo intermediary cloud

An assistant should not be another app you have to manage.

It should know the context.
Remember decisions.
And ask before it acts.

01 · One place

All your context,
finally connected.

Steward connects information that currently lives in separate places on your Mac and makes it available through a natural conversation.

01

Chat with real context

It does not guess: it searches your mail, calendar, contacts, files, and wiki. Sources and every tool call remain visible.

  • Rich results, not raw text
  • Drag-and-drop files and attachments
  • Voice with local transcription
02

Memory you can read

Facts, decisions, and commitments become Markdown pages linked to their original sources. No opaque memory hidden inside a model.

03

The next step, ready to go

Action Center reads recent signals and prepares replies, follow-ups, and events. You review, edit, or approve.

NEEDS ATTENTION
Confirm the meeting with Anna

She proposed Friday at 3:00 PM. Your calendar is free.

DismissReview proposal →
04

Find what you cannot remember

Describe the content, person, or moment. Hybrid search combines keywords, trigrams, and semantic vectors across your local indexes.

“Find the invoice PDF my accountant sent me last month.”
02 · How it works

From a request to an action.
No leaps in the dark.

1
“ ”

You ask

Write or speak as you would to someone who understands your work.

2

Steward searches

It consults only the local tools and sources needed for your request.

3

It prepares

It composes an answer or a concrete, verifiable proposal.

4

You decide

Reads can flow; every change to the outside world requires approval.

03 · Structural control

Private by design.
Safe by structure.

Trust does not depend on the model “behaving well.” It is enforced by deterministic code around the model.

01

Default deny

Unknown tools are blocked. Permitted read operations are explicitly allow-listed.

02

Human in the loop

Emails, events, and writes become approval cards: approve, edit, deny, or request a revision.

03

Verifiable trail

Every decision, tool call, and operation is recorded in a local, redacted audit log.

APPROVAL REQUIREDSend reply to Marco
MEDIUM
MAMarco Bianchimarco@example.com

Re: Solar panel certification

Hi Marco,

I can confirm that Friday afternoon works. I will send the calendar invite as soon as it is approved.

Best,
Alessio
The action will be recorded and verified after sending
04 · Under the hood

Local at the core.
Modular at the edges.

Three operating planes separate conversation, background automation, and write reliability.

CLIENTBrowser · PWA · WebKitChat, actions, approvals, usage, audit
ORCHESTRATORSteward Host :4317Sessions · policy · WebSocket · files · speech · push
CONTEXTMCP ConnectorsMail · Calendar · Contacts
Wiki · Files · Actions
MEMORYLocal storesMarkdown · SQLite · vectors
audit · journals · chats
BACKGROUND PLANESchedulerSync · index · distill · confirm · retry

The client communicates with the host over HTTP and WebSocket. The host runs the agent and routes every tool call to MCP connectors under a default-deny policy.

05 · The ecosystem

Twelve services.
One coherent experience.

Web + Host

React PWA, Pi sessions, WebSocket streaming, files, authentication, and policy.

apps/web · apps/host

Mail intelligence

.emlx mirror, hybrid search, threads, attachments, and wiki promotion.

mail-mirror · mail-mcp · promoter

Apple context

Locally indexed calendars and contacts, with approved writes via AppleScript.

calendar-mcp · contacts-mcp

Long-term memory

Markdown, wikilinks, knowledge graph, multimodal ingest, and semantic search.

apps/llm-wiki

Action Center

A proactive inbox of follow-ups, replies, and proposals ready for review.

apps/action-center

Gateway & ledger

Tiered models, fallback, costs, tokens, and latency attributed by service.

llm-gateway · usage-ledger

Safe shell

File search and parsed read-only commands without invoking a real shell.

apps/shell-mcp

Write operations

Journal before execute, mirror confirmation, and idempotent retries.

packages/write-ops
4317local host
6model tiers
8scheduled jobs
5context sources
0silent writes
Action Center on iPhone
Steward chat list on iPhone
06 · In your pocket

The brain stays home.
You can go anywhere.

Steward keeps running on your Mac. The phone PWA connects over HTTPS through a private Tailscale network and receives Web Push notifications when your decision is needed.

  • No public exposure of your Mac
  • Shared token for pairing
  • Quick Send from text or voice
  • Sensitive writes always require approval
07 · No black boxes

See what it does.
And what it costs.

Open source · macOS

Built to be
understood and changed.

TypeScript ESM, React, Vite, Swift, SQLite, and open protocols. Clone the repository and start the three main processes.

steward — zsh
# install dependencies
npm install

# gateway, host, and interface
npm run dev -w @steward/llm-gateway
npm run dev -w @steward/host
npm run dev -w @steward/web
RequiresmacOSNode.js 20+OllamaXcode CLI ToolsFull Disk Access
Steward

Your context is personal.
Your agent should be too.

A local, inspectable assistant under your control.

Explore Steward on GitHub
Enlarged Steward screenshot