Repository navigation
Settings & persona
Navi's personality is two documents in config/: soul.md (who she is) and memory.md (what she carries). The bridge builds her system prompt from them on every chat. Both are editable in Settings, along with what she calls you. Nothing overwrites them once they exist: updates, reinstalls, and even a --fresh install stash and restore them, along with her installed chips and the llamafile. Only a first install creates them fresh.
Navi pulls memories out of the conversation itself, two ways. The trigger: tell her remember this, remember: …, or save this to your memory — or tap Save to memory under any of your messages in Chat — and she writes the fact down. On her own: when you say something durable — a fact about you, a preference, a decision, a commitment, a correction — she saves it in the same reply she was already giving, with no extra round-trip. Small talk, command output, and questions are never saved.
Nothing is saved silently. Every save leaves a receipt in the chat showing exactly what she wrote, word for word, with a one-tap Undo. A save that corrects an existing entry replaces it — the receipt shows the old line struck through, and Undo restores it. Secrets are never saved, on any path: ask her to remember a password, a key, or a card number and she refuses, says why, and the receipt shows no payload.
The Memory tab holds the leash: She saves on her own (the default), Ask first (each autonomous save waits as a proposal — in the chat receipt and in the Memory tab — until you approve or dismiss it), or Only when I say (trigger only). Every entry in the Memory list says how it got there: added by hand, from chat because you asked, from chat on her call, or from chat as a correction.
Memory holds local memory entries and the known chats. RAG holds her knowledge packs (the section above). The Vault holds the shared desk of notes — hers and yours. The Updater watches the release channel. Settings is organized into topic tabs, and every setting lives under exactly one:
- Operator — what she calls you, your file, and your picture & badge (below).
- Persona — the Soul and Memory editors, the save-mode leash, the proposal queue, and her file.
- Appearance — the theme picker.
- Voice — her voice settings.
- GitHub & Backup — sign-in and the backup/import block.
- System — the hardware profile (the detected profile, its override, and re-detect), plus installed commands.
Your picture & badge (Build 7). The Operator tab holds your identity card. Upload a picture and it becomes your face in chat — trimmed to a square, kept with your profile on this machine, and carried in the settings backup; clear it and a picture generated from your name (a seeded spray field with your initial) stands in. From the same card you can mint an Operator Badge: your self-portrait in the card-grade cartridge format (528×616, the chip-card size), its window wearing the face you choose — your uploaded picture, or the generated art — with a small payload inside the picture in the same data-in-picture convention as chips and Mesh cards: your display name, and this node's name. The badge is viewable and exportable from the Operator tab, and your chat picture can be the badge itself. The trust line is the spec's own: a badge is a self-portrait, not a credential — its payload is self-asserted, nothing reads a badge to prove identity, Mesh pairing is untouched, and a badge whose payload is damaged simply reads as no badge.
There is no backend switch: the app always talks Live to the real bridge and llamafile, and the llamafile's Running state in the status column is the live signal.
Themes. Settings' Appearance tab holds the theme picker: eleven palettes over the same colors the whole app is built from, so every screen — dropdowns and typing boxes included — changes together:
- Nordic dark comes first and is the default: the Nord family — Polar Night backgrounds in steps, pale Snow Storm words, and Frost-blue highlights with muted Aurora colors. In Nordic, each menu icon gets its own color from that palette — Chat is Frost blue, Voice Aurora purple, Chips Aurora yellow, and so on — the same color everywhere it appears, even in the collapsed rail, and her written answers dress the same way: Snow Storm words, Frost headings and links, and code sitting on the deepest Polar Night step.
- Dark Liquid Glass comes second: frosted dark glass — deep near-black blue panels you can half see through, with a cheap blur on the big surfaces only (the side menu, the status column, the bar you type in), so it stays smooth on modest graphics; where blur or see-through panels are unavailable it falls back gracefully to the same colors, solid.
- Terminal is green on black, the classic console.
- Signature dark is her original console, cyan on near-black.
- Light is the same console on pale slate.
- High contrast is pure black with white words and bright signals.
- Nocturne Row is a rain-slick Rockport night — blue-black streets with neon cyan and magenta signs.
- Abyss is the deep sea off her app icon — near-black and quiet, with one bioluminescent cyan, the anglerfish lure, as the only loud color.
- Case File is a light theme — warm paper, ink-black words, evidence-red string accents, and terminal blocks set like a typewriter.
- Blood Moon is crimson over black with gold thread for highlights.
- Phosphor Amber is amber on black, Terminal's warmer sibling.
Pick one and it stays picked — the choice is saved in your config like the other settings, and a choice you already saved is always honored over the default.
Hardware profile. Settings' System tab shows the profile the installer made of your machine: what it detected (the CPU and its core count, how much memory, the graphics chip — separate or built in, and its memory), and the settings it chose from that — threads, context size, batch size, and graphics layers. Her settings are picked from your machine at install, never copied from the developer's: a modest laptop gets the proven gentle numbers, a strong machine gets more room. Type your own numbers to override them, or press Re-detect to profile the machine again and return to the automatic choice. The installer writes what it found and why it chose it to hardware-profile.log in the install folder.
The DHD page holds the Apex Node [local] controls, under the DHD options — Settings' System tab keeps only a pointer to them. Apex Node is off by default: off, Apex answers only this machine. Turn it on and she also serves her page to your home network — the same Apex, in a phone or tablet browser. The choice is saved in config/navi.config.json with your other settings and kept across updates. Flipping the switch is the whole job: Apex restarts her own bridge so the choice takes effect — the row says Restarting the bridge… while it happens, then confirms the live state read from the bridge that actually answers: On your network, or This machine only. Turning it off is the same one flip in reverse. No relaunching the app yourself, no hunting for a process.
If a restart ever fails, the row says so in plain words: it names the step that failed (the old bridge would not stop, the new bridge did not answer, or the answering bridge's bind does not match your choice), states the state that is actually live — the old bridge keeps serving its old setting, untouched, until a new one is confirmed — and offers the fallbacks: press Restart bridge to try again, or quit Apex fully and relaunch. A restart never leaves a half-state behind.
While the toggle is on, the row shows two things only someone sitting at this machine should see: the address to open on your phone — http://<your machine's network address>:8675, as a button that copies it — and your access code. A phone that visits is asked for the code once; its browser is remembered after that. The code never applies on this machine itself. Press Regenerate for a new code: every phone let in with the old one is shut out and will be asked again.
The honest warning, in full: anyone on the network who has the access code can use Apex in full — chat, the command line, and settings included. The code is the only lock on that door. Share it like a house key, and turn the toggle off when you no longer want the door there.
Getting started
Talking to Navi
Navi Mesh
Chips
Knowledge & RAG
Settings & updates
- Settings & persona
- DHD — Apex from anywhere
- GitHub — the pulse, issues & backups
- Installing & updating
Help