Getting started
Install one binary, point it at a folder, and you have a vault. Your notes are plain .html files you own — delete Weft and they still open in any browser.
Install
Section titled “Install”Weft is a single pure-Go binary for macOS, Linux, and Windows. No runtime dependencies.
macOS & Linux
Section titled “macOS & Linux”# downloads the right binary for your OS/arch, verifies its SHA-256 against the published checksumscurl -fsSL https://tryweft.app/install.sh | shWindows
Section titled “Windows”Download weft-windows-amd64.exe and drop it somewhere on your PATH (rename to weft.exe if you like). See the install page for direct download links and checksums.
From source
Section titled “From source”Needs Go. The default build covers everything except semantic neighbors:
make build # → bin/weftmake build-ort # adds local CPU embeddings for semantic neighborsStart the daemon
Section titled “Start the daemon”Point Weft at any folder. Sub-folders are allowed; if the folder is empty, it becomes your new vault.
weft serve ~/notesThis starts the local daemon and opens the web app at the web app on localhost:7777. There are no accounts and no config files, and your notes never leave your machine. (One exception to “fully offline”: the in-app editor loads TipTap from a CDN on first use, then caches it — the note data itself stays local.)
What you see
Section titled “What you see”The web app is the desktop surface over the daemon. Three things to know:
- Vault browser — A list of every
.htmlfile in your folder, sub-folders and all. This is your whole vault — nothing is hidden, nothing is a proprietary blob. - Reader — Open any note to read it rendered. Click again to drop into the editor. The same view serves clipped web pages, since a clip is just HTML on disk.
- Brain panel — Alongside each note, Weft surfaces what your brain would right now: backlinks, semantic neighbors, recently co-accessed notes, and “this day in past years.”
The brain panel is the point. Instead of a search bar as the front door, opening a note pulls in associated notes ranked by an ACT-R-style memory model — recency and frequency decay like memory, and activation spreads across links. A per-note explain toggle shows why each note surfaced, and there’s a tuning page for the weights. Full-text search (SQLite FTS5) is there as a fallback, not the entry point. Concepts goes deep on the model.
Create and edit a note
Section titled “Create and edit a note”New notes are written in a TipTap editor in the web app. HTML is the canonical format throughout — there is no markdown intermediate.
- Wikilinks. Type
[[to get autocomplete over your existing notes. Links you create are parsed from<a href>on save and become backlinks on the other end. - Daily notes. A daily note is auto-created at
daily/YYYY-MM-DD.html. Templates can interpolate values like{{today}}.
Everything you write lands as readable HTML in your folder — publishable as-is.
Capture and clip from the CLI
Section titled “Capture and clip from the CLI”You don’t have to open the app to add to your vault. Two commands cover quick capture and web clipping:
# append a line to today's daily noteweft capture "remember to wire up the brain panel toggle"
# clip a web page to clips/YYYY-MM-DD-slug.htmlweft clip https://example.com/articleBoth write straight into the same vault the daemon serves, so anything you capture or clip is immediately browseable and surfaceable in the app.
You now have a running vault, a reader, an editor, and capture from the CLI. Two places to go from here:
Concepts explains surfacing, the activation model, and the optional embeddings. Sync covers optional, end-to-end-encrypted multi-device sync through cloud storage you own.