AI Assistant
The assistant is one chat that can do three kinds of things:
- Answer about your life — it reads your tasks, goals, notes, journal, email insights, and calendar, so "what's due this week?" or "summarize my journal this month" just work.
- Do things for you — create tasks and notes, file action items, search the web, read pages, and (if enabled in Settings → AI Assistant) work with files or browse websites.
- Answer anything — it's also a normal assistant for questions, advice, writing, and math.
Private by design. The model runs on your Mac by default (the built-in llama.cpp engine), on a server you own, or — if you add your own API key — on OpenAI or Anthropic. Your conversations and personal data go only to the brain you picked, straight from your Mac, and a cloud provider is used only if you explicitly added it. Pick and manage models in Settings → AI Assistant.
Name it. You can give the assistant a name: first-run setup asks, and the Name field at the top of Settings → AI Assistant works anytime. The name replaces the "AI Assistant" label across the app, and the assistant knows it and answers to it. Clear the field to go back to the generic label; the name syncs to your other Macs.
Trust the sources. When an answer used the web, a Sources row appears under it listing what was searched and every page actually opened. It's recorded from what the assistant really did — not from what it claims.
Memory. The assistant keeps durable notes about you (preferences, ongoing situations) and uses them in later chats. Click memory in the header to read or edit everything it remembers.
Decisions. A decision is a dated instruction pinned to one specific record: a strategy's "invest $2,000 monthly through October", a task's "never move this past Friday". When one gets settled in chat, the assistant asks before saving it, and from then on it re-reads that decision whenever it works with the record, in any conversation. Each record's page (the task editor, a goal, a strategy, a portfolio account, a routine) shows its decisions, where you can add one by hand or delete one. Decisions sync between your Macs.
Mention a record with @. Type @ in the assistant message box to pull up your tasks, goals, notes, routines, strategies and accounts; the first word can narrow the type ("@goal marathon"). Picking one attaches the conversation to that record, so the assistant sees its current state and its decisions in every later message. A banner above the chat names the attachment, with an ✕ to detach.
Attachments. The + button on the message box (or drag and drop) attaches text files, CSVs, PDFs, and images. Images need a model that can read them: vision-capable models carry a "Reads images" badge on their card in Settings → AI Assistant (most OpenAI and Anthropic models qualify; local Gemma models need their vision file downloaded). On a model that can't view images, Anjadhe says so at attach time.
Documents. The assistant also opens documents it reaches itself: a PDF (scanned ones are read on your Mac), an Excel spreadsheet, a Word document, or an image, in a folder it has access to or on a web page. It reads the contents rather than guessing from the filename, so "what did this statement charge me?" is answered from the statement.
Routines that act: working while you are away. Ask for something on a schedule ("every weekday at 7, check my portfolio against the news") or when something happens (an email from a certain sender arrives, a file lands in a folder) and the assistant offers to arm it as a routine. A routine can be a read-only digest that posts to your feed, or a run that takes action: those run in the background on your Mac, keep a per-run log on the routine's own page, and pause to ask if they hit something needing approval, waiting until you answer rather than guessing. Email triggers fire as mail arrives, once per message, and a Test trigger button shows what would fire without running anything. Standing permissions, grants that let the assistant act without asking, live under Settings → AI Assistant: each carries optional limits (uses per day, an end date, exceptions such as "known email recipients only") and one-tap revoke. When a limit runs out, the assistant asks instead of acting.
Recipes. When a task run finishes cleanly, a Save as recipe button appears on it. A recipe replays the exact steps that worked, with only the parts that vary (a date, a name) filled in fresh; every step still passes the normal permission checks. Ask for a recipe by name to run it. Saved recipes are listed under Settings → AI Assistant → Recipes.
Undo. Everything the assistant changes in your data or files is recorded. Undo this turn under a chat answer, or Undo changes on a finished task, puts things back. Anything you edited yourself in the meantime is skipped and reported, never overwritten. Actions that cannot be undone from here (a sent email, a calendar invite) are marked as such when you approve them.
Long jobs run as tasks. Ask for something big, "research all of these and build me a table", and the assistant plans it as a task: you see the step plan, press Run plan to approve it, and it works through the steps with tools, checks its own work, and reports back. Nothing runs before you approve. You can also say "do it as a task" to route a request there explicitly.
From the terminal. Turn on Settings → AI Assistant → Terminal Access and click Install command to get the anjadhe command. Bare anjadhe opens an interactive session; anjadhe ask "question" is a one-shot; anjadhe task "goal" runs task mode. Same brain, same permissions (approvals appear right in the terminal), and the transcript lands in a "Terminal" conversation that stays on that Mac. Only your own Mac can connect.
Routines & the feed
A routine is everything Anjadhe does on its own: a prompt that runs on a schedule (hourly, every 6h, daily, weekdays, or weekly, optionally at a set time) or when something happens (an email or file arrives), in the background on your model. A digest routine posts each result to the feed on your home page; a routine that takes action keeps its run log on its own page instead. Manage them on the Routines page, reached with Cmd+K or Manage routines on the feed. You can also just ask the assistant in chat, "every morning, give me a list of Staff+ engineering jobs", and it sets the routine up for you to approve; not sure what to automate? Help me set up a routine on the Routines page walks you through it one question at a time.
Each result shows when it ran and which model wrote it. Open a post to read it full-page; from there, Discuss with Assistant starts a chat that already has the result in context. The feed groups posts by the routine that wrote them, showing the newest result with a line or two of what it says and older ones folded behind Show N earlier. Unread / All in the feed header switches between what still needs you and the whole history.
A prompt you run by hand instead is a saved prompt. It lives in the Notes app (New note → Saved prompt template) with a panel to run it. Schedule it there and it becomes a routine.
Anjadhe ships with starter routines already scheduled: Daily Briefing, News Digest, Daily Motivation, Weekly Reflection. Edit, reschedule, or delete them freely. Options per routine: use your personal context, allow web search, or plain offline generation.