Maisnie

User guide · Software preview

Daily use

Once setup is done, the address you open every day is the same one you claimed: the Home page. Everything on it is read from your vault and from the record of what your connected sources have done recently — nothing here writes to your vault except the setup steps you’ve already been through. Every page carries the same masthead: the “Maisnie” wordmark on the left, linking back to Home, and on the right a quiet Home / Setup / Settings / Log out link set.

Home

If setup isn’t finished yet, Home shows a checklist instead of your notes — “Let’s finish setting up Maisnie”, one line each for Vault, Sources, and AI model, marked “To do” or “Done”, and one button, Continue setup, that picks up the wizard wherever you left it. Once setup is finished, Home greets you by time of day (“Good morning.”, “Good afternoon.”, or “Good evening.”) under today’s weekday and date, with one line summing up your day (“3 things on your calendar today.” or “Nothing on your calendar today.”) and how many notes your vault holds, then:

  • A search box, right under the greeting.
  • Today — meetings starting today, each with its time (or “All day”), and an end time underneath when one is known. A meeting that started on an earlier day and is still running shows “Until” its end time instead.
  • Coming up — meetings in the next seven days, each dated (“Tomorrow”, a weekday, or a date) and timed the same way. This section only appears once Calendar is on, or once there’s actually something to show.
  • Recent reading — your most recent feed clippings. Only appears when News feeds is on.
  • Recent mail — your most recent mail threads. Only appears when Mail is on.
  • Ask — a question box of its own, with a one-line reminder of what it does.
  • Sources — one line per source, on or off, each in a plain sentence (below).
  • AI model — one line per connection you’ve set up, and its status: Connected, Not tested yet, or Not working; “No AI model connected yet.” if you haven’t set one up at all. A Manage in Settings link sits under both lists.

Every time and date here, and everywhere else in Maisnie, follows the clock of the machine Maisnie is actually running on — your own computer’s clock for a plain install, or the container’s for a Docker one, which is why the Docker install has its own TZ setting (see install); there’s no separate time zone choice inside the wizard.

A section with nothing in it yet says so plainly rather than showing nothing: “Nothing on your calendar today.”, “Nothing on your calendar for the next seven days.”, “Nothing new from your news feeds yet.”, “No mail threads yet.” None of these are errors — they’re just what a box that hasn’t collected anything looks like yet. If you haven’t turned Calendar on at all, Today says “Turn on Calendar in Settings to see your day here.” instead of just sitting empty.

Sources, in plain words

The Sources list on Home never shows an error code or an internal reason — every state is one sentence: Off (you haven’t turned it on); Waiting for its first sync (on, but hasn’t run yet); Synced at 9:41 AM (today) or Synced Sat 26 Sep (an earlier day); Needs its details, in Settings (on, but missing what connect your accounts asks for); Syncing now; Its last sync took too long; Its last sync failed; Can’t sign in, check Settings (specifically an authentication failure); or Not available in this version. Whatever the wording, the line always tells you where to go next if there’s something to do (Settings), rather than a fact you’d have to decode.

Type into the box on Home, or go straight to the Search page, and it searches the full text of your vault — not just titles. Results show a title and, underneath, its kind and the most useful date-and-time-shaped fact about it — a meeting’s day and time and location, a clipping’s feed, or a plain date — plus a short excerpt. A search for a plural or singular word matches either form (“meeting” finds “meetings” and back again) — Search is full-text where your Python’s SQLite build supports it (with English word-ending matching built in), and falls back to a plainer substring match, itself aware of the same word endings, where it doesn’t; either way the box you type into works the same, and you’re not expected to know or care which one is running underneath. No results says so plainly, with a nudge toward Ask instead: “No notes match your search. Try fewer or different words, or ask a question instead.”

_meta/ (the three contract files: SCHEMA.md, INTERFACE.md, Framework.md) and any dot-prefixed folder, including .git/, are never indexed and never show up in search, on purpose — they’re not notes, they’re the scaffolding notes live inside. The plain README.md at the vault root sits outside _meta/ and is indexed and searchable — but it’s marked as describing the vault rather than being part of it, so it doesn’t count toward “N notes”, sit on an agenda, or get handed to Ask as evidence.

The note viewer

Clicking any result, on Home, in Search, or in an Ask answer’s sources, opens that one note rendered as a readable page: its kind as an eyebrow above the title, then a small block of its own facts read straight from its frontmatter, and its body with [[wikilinks]] turned into links to other notes (a link to something Search hasn’t indexed still renders — as plain, visually distinct text, not a broken link). A meeting note’s facts are When (its date, or a time range for a same-day meeting, or a date range for one spanning several), Where, Organizer, and Attendees — whichever of these it actually has; a cancelled meeting carries a “Cancelled” tag next to its kind, both here and wherever it’s listed (Today, Coming up), and its slot still shows rather than disappearing, so a cancelled meeting reads as cleared time, not as if it never existed. A clipping’s facts are Published (its own publication date, not the day it was fetched, when the feed gives one) and Original, a link to the source page. Every note here is opened read-only; nothing on this page can edit or delete anything. A link to a path outside your vault, or to something that simply isn’t there, gets the same plain “Not found” either way — the difference between “you mistyped it” and “you’re probing for something you shouldn’t see” is not something this page ever reveals.

Where files land in the vault

Once a source’s connector actually runs, it writes into its own named folder at the top of your vault — Calendar’s notes will live under a calendar folder, Mail’s under a mail folder, and so on — and Maisnie only ever writes inside the folder a given source owns. That folder itself appears as soon as you turn the source on and save the Sources step (an empty folder, provisioned right then — see turn on sources), not only once the connector’s first note lands in it. Open the vault folder in any text editor or file browser at any time; what you see there is exactly what Home and Search are reading, nothing hidden and nothing rendered specially only inside Maisnie.

Ask

Ask lets you type a question and get an answer drawn from your vault, with the specific notes it used cited alongside the answer. The question box sits on Home and on the Ask page itself; type into either and press Ask. Whichever page you asked from, the Ask page echoes your question back above the answer (“You asked” and the question itself), so it’s never ambiguous what a citation or a “nothing matched” notice is actually answering.

Ask reads more than a search box does: it picks out the words that name what you’re actually asking about (a person’s whole name, however it’s accented; a place; a title) and separately reads the words that say when — “today”, “tomorrow”, a weekday, a written-out date, “this week” or “next week”, “the weekend”, or just “my calendar” (read, with nothing else naming a day, as the next seven days) — as a window of days counted from today, and adds whatever falls inside it. A note matching both the words and the window ranks first, so “What’s on my calendar with Dana this week?” finds Dana’s meetings this week specifically, not just anything mentioning Dana ever. Ranking works the same way Search’s own full-text matching does (see above — including the same plural/singular matching), across a note’s title, its body, and a meeting’s own fields (who’s organizing, who’s attending, where).

The answer comes back with a Sources list linking to exactly the notes it drew from; any citation the model attaches to a note that wasn’t actually part of what it was handed is mechanically stripped out before you ever see it, never just trusted. If nothing in your vault matches the question at all, Ask says so plainly and neutrally, never as if something went wrong: “Nothing in your notes matched this question.” — with a nudge to try naming a person, place, or title, or to search instead — and it never calls the model for a question with nothing to answer from.

A cold local model, or a subscription CLI’s first call, can take a while to answer; while it’s running, the page shows “Asking …” (named for whichever provider or “the model on your computer” is handling it) and checks back on its own every couple of seconds rather than making you reload it. Once an answer comes back, it’s held only in memory for as long as that page is open — never written to the vault, the config document, or any log line — and there’s no history to look back through later; each question starts clean.

If you haven’t connected an AI at all, Ask says so plainly instead of pretending to answer: “Ask needs a connected AI model. Connect one in Setup.” If none of your connections has a model chosen for Ask’s own everyday tier, it says: “Ask uses your everyday (balanced) model, and none of your connected AI models has one chosen. Choose one in Setup.” If you’ve turned on local-only mode (see choose a model) and have no local connection connected, it says: “Maisnie is set to answer only from a model on this computer, and no local model is connected right now. Connect one in Setup, or turn that setting off.”

Settings

Settings (linked from every page’s masthead) is where you revisit anything you set up — a “Your setup” list with one row per step (Vault, Sources, Accounts, AI, Remote access), each with a Change link straight to the page that changes it. It’s not part of the setup ladder itself — no step bar of its own — because it’s meant to be reachable from anywhere, any time, not just while you’re moving through the wizard in order. Its Remote access row links to the same page the setup ladder does — see remote access for what turning it on and off actually does.

Two settings live only here, in one card with one Save button. Under “Remote sessions”: how much a session started from away is allowed to do, once you’ve turned remote access on — a checkbox, Give remote sessions full access, off by default (the safe choice until you’ve actually thought about it: away from home you can read everything and change nothing; on means a session signed in from outside your home network can do everything a session at home can, except Setup and these settings, which stay home-only).

Under “Your time zone”: a text field for your own IANA time zone name (America/Los_Angeles, Europe/London, Asia/Tokyo — the same names your phone or your calendar app already use), so Maisnie shows meeting times, and names the files it writes for them, in your own local time rather than a machine’s own clock or a calendar feed’s raw UTC hour. maisnie init tries to fill this in from the computer it runs on the first time you set up (see install), and leaves it blank when it genuinely can’t tell — most often on Windows, which keeps no list of these names at all. Leave it blank to use this machine’s own clock instead. When this machine has a time zone database installed, what you type is checked against it and a typo is refused with a plain sentence naming a few real examples; when it doesn’t, the field says so and trusts whatever you type, since there’s nothing here to check it against.

Next

Continue to the command line, or skip ahead to backup and security.