Skip to content
🤷

Forgive us! These docs are a work in progress. Some pages may be incomplete or describe features that aren't quite finished yet. Farkitect is in early development and we don't recommend using it for real work just yet. Feel free to explore — just be aware that things are still being built.

Working with FarkiBot

In this tutorial you’ll connect FarkiBot — Farkitect’s built-in AI assistant — to an AI provider using your own key, ask it questions about a model, and have it build a new model from a document.

Prerequisites: A Farkitect project with at least one model in it. If you’ve followed Your First Diagram you have everything you need. You’ll also need about five minutes to create an API key.

What you’ll build: A working FarkiBot setup, and a Business Model Canvas for Farquind Yachts generated from the case study document — the same way the sample models in this documentation were made.

What it costs: Nothing, if you follow the free path in step 1.

FarkiBot is bring-your-own-key. You supply an API key for an AI provider, and Farkitect uses it on your behalf. There’s no AI subscription bundled into Farkitect and nothing to buy from us.

The quickest route:

  1. Sign up at openrouter.ai — free, no card required
  2. Go to Keys and create a new key
  3. Set a credit limit on it. Even at $0 this is a good habit: a dedicated capped key means the worst case of any mishap is a number you chose.
  4. Copy the key

One OpenRouter key gets you 300+ models — GPT, Claude, Gemini, Kimi, DeepSeek, Llama — including free ones. You’ll use a free model for this tutorial.

  1. In Farkitect, choose View > FarkiBot (Ctrl+Shift+K)
  2. Click Set up FarkiBot…
  3. Leave the provider as OpenRouter and paste your key
  4. Leave Remember on this browser unticked for now — the key will live in memory and disappear when you close the tab
  5. Click Test connection

A green result means you’re connected. If it fails, the message tells you why — usually a mistyped key.

Your key was just sent from your browser to OpenRouter and nowhere else. If you want to satisfy yourself of that, open your browser’s network inspector and click Test connection again: you’ll see a request to openrouter.ai, and none to Farkitect carrying your key.

The task dropdown is already on Ask. Type:

What element types are used in this project, and how many instances of each?

Press Enter.

Two things to notice as the answer streams in:

  • The Context chip in the toolbar says what was sent — your project’s packages, exported as Markdown, minus the MOF core. That’s the entire basis of the answer.
  • The token count and cost appear under the answer when it finishes. On a free model the cost is $0.00.

Now ask something the model can’t know:

Who is the budget owner for each application?

Unless your model records owners, FarkiBot will tell you it doesn’t say — rather than inventing a plausible list of names.

That refusal is the feature. An answer you can trace back to named model content is worth acting on. A plausible answer assembled from an LLM’s training data is worth nothing when you’re about to make a decision with it. Everything else in FarkiBot follows from that principle.

Click the Context chip. You’ll see your project’s root packages, all ticked.

Untick everything except one package and ask a question about it. Two things change:

  • The answer is about that package only
  • The run is cheaper, because context is most of what you pay for

The Context chip is the cheapest lever you have. Narrowing a question to the packages it’s actually about saves more than switching to a cheaper model.

Now the interesting part. You’ll build a Business Model Canvas for Farquind Yachts from the case study.

First, make sure the project has a Business Model Canvas metamodel — import one from the Farketplace if not.

Then:

  1. Save the Farquind Yachts case study as a Markdown or PDF file
  2. Switch the task dropdown to Generate M1
  3. Click the paperclip and attach the file
  4. Set the Metamodel chip to the Business Model Canvas metamodel
  5. In the LLM picker, choose a gift-marked (free) model
  6. Type a brief:
Build a Business Model Canvas for Farquind Yachts from the attached case study.
  1. Press Enter

Watch what happens. A reasoning model streams its thinking first, then the raw .farki file streams in. When the file is complete, FarkiBot validates it against the real importer and against your metamodel — the same code path that would import a file you wrote by hand. If anything is wrong, the problems are fed back to the model for repair, up to three attempts.

This is why a generated model is usually correct rather than merely plausible: it isn’t accepted unless it actually conforms to your metamodel.

The result arrives as a staged package — a card showing element counts, warnings, and cost. Nothing has touched your project.

Click Review.

The Contents tab shows the package as a tree: every element, relationship and diagram. Relationships show the names they connect rather than internal ids, so you can read it as a model rather than as a file. Use the search box to find anything in it.

The Source tab shows the raw .farki file, if you want to see exactly what would be imported. It’s the same bytes — what you review is provably what you import.

Spend a minute here. Ask yourself:

  • Is the element count plausible for a document that long?
  • Do the names use your language, or the LLM’s?
  • Did it invent anything the case study didn’t say?

Then choose:

ButtonWhat it does
ImportBrings the package into your project, with a provenance note naming the model and date
Save .farki…Downloads the file without importing
DiscardThrows it away

Click Import. The package appears in the Explorer, and you can open, edit, and diagram it like anything else — because it is like anything else. There’s no “AI-generated” mode.

Staged packages survive a reload, up to 10 per project, so a card you’re not ready to decide on will still be there tomorrow.

Switch the task to Modify M1, choose your new package in the Model dropdown, and type:

Add a Key Partners block covering the boatbuilding supply chain.

FarkiBot rewrites the whole model with your change applied — and shows you a diff.

Read it. Removals are listed first, in red. You asked only for an addition, so a removal means the model dropped something it was meant to keep. That’s the thing worth checking, and it’s exactly why the diff exists.

If the diff looks right, click Replace Model. Notice that this doesn’t replace anything yet:

  1. FarkiBot checks the model hasn’t changed since it generated the rewrite
  2. A dialog asks you to confirm, naming the model and calling out removals
  3. A snapshot of the current version is saved to your downloads — your undo
  4. Then the model is replaced

If the snapshot doesn’t get saved, FarkiBot stops and tells you nothing has been replaced. It won’t quietly continue.

Switch the task to Report and choose Model Overview. Set the Context chip to your new package. Leave the brief empty — the document kind and the scope are already a complete instruction.

Press Enter, then Save .md when it finishes. The file is named after the document’s own title.

Reports write no model content, so viewers can run them — a stakeholder with read-only access can still produce documentation from what they can see.

  • FarkiBot uses your key, sent from your browser straight to your provider
  • It answers only from your model, and says so when the model doesn’t say
  • Generated packages are validated against your metamodel and staged for review — nothing is written until you choose
  • Modifications are reviewed as a diff and snapshotted before replacement
  • A free model can do real M1 work