Ferrow

A knowledge vault that acts.

Your notes stay plain Markdown files in a folder you own. Point any model at them — your API key, or one running on your own computer. Agents read and write that vault under rules you set, and every change they make is logged and can be undone with one command.

Why this one
  • Any model, and you can change your mind

    One internal bus speaks the OpenAI chat shape, so anything with a compatible endpoint works. OpenAI, Anthropic, Gemini, OpenRouter — or Ollama, LM Studio, Jan, llama.cpp, vLLM and GPT4All running locally. ferrow detect finds what is already on your machine. Switching providers is a flag, not a migration.

  • Your files never leave your machine

    The vault is a folder. There is no sync, no cloud copy, and no telemetry — the CLI makes no network call except to the model provider you connected. Keys go into your keychain and travel only to the provider they belong to. Delete Ferrow tomorrow and your notes are still ordinary files in an ordinary folder.

  • Take it anywhere, end to end

    ferrow hub start makes this machine the one that thinks. Your phone and any browser reach it through a relay that carries sealed blobs it cannot read — the vault stays here, the model runs here, and the relay is a postbox, not a reader.

  • A hard stop on spend

    ferrow spendcap 50 is a stop, not a warning. Ferrow does not charge past the number you set, and ferrow spendcap status shows the cap, what has been spent, and what is left. On your own keys there is nothing to cap — you already hold the account.

What it does
The vault
Markdown files with wikilinks and backlinks, and full-text search that shows you the line it matched on, not just the filename.
Memory
remember / recall / forget — a folder of durable facts every agent reads before it starts, so who you are never has to be re-typed.
Agents with contracts
A skill is one folder with a SKILL.md. Its frontmatter states which paths it may touch, whether it may write, whether it needs the shell or the network. The executor enforces that frontmatter — a skill that never declared write access cannot write, however it is prompted.
Undo
ferrow log lists every change an agent made, newest first. ferrow log revert <id> undoes any one of them — and the undo is itself recorded.
The Council
Put a decision to a Strategist, a Skeptic, a Builder, a User-Advocate and a Realist, and get their disagreement back rather than an average of it.
Projects
Each project is its own vault — separate notes, memory, skills and history. Your personal memory is read by all of them.
Import
Read a ChatGPT or Claude export, or a .jsonl of messages, into the vault. --dry-run shows exactly what it would write and writes nothing. The parsing happens on your machine.
A window, not just a prompt
ferrow ui opens the same vault in your browser, bound to 127.0.0.1 — your machine and only your machine.
Start

Node 20 is the only requirement.

There is no account to create before it works, and nothing is uploaded. Connect a model, make the vault, write something down.

npm install -g ferrow
ferrow detect            # or: ferrow connect openai
ferrow vault init
ferrow note inbox/today.md "the thing I just learned"

The npm package is not published yet — that is the last step before launch, and this line starts working the moment it lands. Until then the repository is the way in.

Never used a terminal on purpose? The five-minute walkthrough shows every screen Ferrow prints back, so you can tell whether it worked.

Where it runs

Honestly, as of today.

Ferrow is pre-1.0. This list is the whole truth about what exists; if something is not on it, assume it does not exist yet.

Terminal
Working. This is the product. Everything above runs here.
Local browser UI
Working. ferrow ui — the vault and the change log as a page, with revert behind every row.
Browser client + relay
Working. Pair a browser with your hub and reach your own machine from someone else's, over the encrypted relay.
Desktop — macOS, Windows, Linux
Builds, unsigned beta. Bundles come out of CI on all three. They are not code-signed yet, so an installer will warn you.
Android
Builds, unsigned beta. The AAB comes out of CI; it is not signed for the Play Store yet.
iOS
TestFlight soon. The build pipeline exists; the app has not gone out to testers yet.
What leaves

The short list of things that go anywhere.

  • Your prompt, to the model provider you chose. That is the whole point of connecting one, and it is the only outbound call the CLI makes.

  • A subscription id and an email, to Stripe. Billing is the one hosted piece. That path never sees a vault.

  • Sealed blobs, to the relay — only if you turn it on. It carries encrypted payloads between your own devices. It does not carry your vault, your notes, or your keys, and it cannot read what it carries.

Not on the list

Your notes. Your API keys. Any analytics. Ferrow has no account you must create and no server that holds your vault.