FarkiBot Reference
Technical reference for FarkiBot, Farkitect’s AI assistant. For guidance, see How to set up FarkiBot and How to choose an LLM.
Opening FarkiBot
Section titled “Opening FarkiBot”| Action | How |
|---|---|
| Open the panel | View > FarkiBot, or Ctrl+Shift+K |
| Open settings | The gear icon in the FarkiBot toolbar |
FarkiBot is a dockable panel, tabbed by default alongside Properties, Context, Notes, and Log. It can be dragged, split, and (on desktop) popped out like any other panel.
| Task | Writes to project | Minimum role | Output |
|---|---|---|---|
| Ask | No | Viewer | A streamed answer in the panel |
| Report | No | Viewer | A Markdown document, saved via Save .md |
| Generate M2 | On import only | Contributor | A staged metamodel package |
| Generate M1 | On import only | Contributor | A staged model package |
| Modify M1 | On replace only | Contributor | A diff, then a replaced package |
Tasks a role can’t run are shown disabled, labelled (needs contributor access), rather than hidden.
Your LLM choice is remembered per task, so Ask and the generation tasks can each keep their own.
Report kinds
Section titled “Report kinds”| Report | Purpose |
|---|---|
| Model Overview | Narrative document for stakeholders who need to understand the estate without opening the model |
| Gap & Risk Assessment | Prioritised findings, each with evidencing model content, impact, and a recommendation |
| Reference Documentation | Systematic walkthrough of every package in scope |
| Executive Summary | One page, business language, conclusion first |
A brief is optional for all four. Saved files are named from the document’s own title.
Providers
Section titled “Providers”| Provider | Reached | Notes |
|---|---|---|
| OpenRouter | Directly from the browser | Recommended. One key, 300+ models, free tier. Reports per-run cost. |
| Anthropic | Directly from the browser | Under Advanced. Stronger privacy posture — no gateway in the path. No cost reporting. |
| Google Gemini | Directly from the browser | Under Advanced. No cost reporting. |
| Custom endpoint | Directly from the browser | Any OpenAI-compatible base URL — Ollama, LM Studio, an internal gateway. No web research. |
OpenAI has no direct option — its API does not permit browser connections. Add an OpenAI key inside OpenRouter’s BYOK settings instead.
Hosts the app is permitted to contact
Section titled “Hosts the app is permitted to contact”Enforced by Content-Security-Policy on both the web and desktop apps:
openrouter.aiapi.anthropic.comgenerativelanguage.googleapis.comlocalhost:* (custom/local endpoints)…plus Farkitect’s own Convex backend. Any other destination is refused by the browser.
Attachments
Section titled “Attachments”| Task | Accepted |
|---|---|
| Ask, Report | .md, .txt |
| Generate M2, Generate M1, Modify M1 | .md, .txt, .pdf, .docx, .farki |
- PDFs are sent to the model natively — no text extraction step
.docxis read from the file directly, mapping heading styles to Markdown headings and list paragraphs to bullets.doc(the pre-2007 format) is not supported — save as.docxor PDF
Key storage
Section titled “Key storage”| Setting | Behaviour |
|---|---|
| Session only (default) | In memory; cleared when the tab closes |
| Remember on this browser | AES-256 ciphertext in browser storage, wrapped by a non-extractable browser-held key |
Keys are masked on entry, display only their last 4 characters after saving, and have no reveal affordance. Settings are per browser, per device, and are never synced to Farkitect’s servers.
Limits
Section titled “Limits”| Limit | Value |
|---|---|
| Repair attempts per generation | 3 |
| Staged packages retained | 10 per project (oldest evicted) |
| Staged package persistence | Survives page reload |
| Run lifetime | The browser tab — a reload or close ends a run |
| Free-model requests (OpenRouter) | 50/day, or 1,000/day once you’ve purchased $10+ of credits |
| Output token limit | Model-dependent; raised automatically when a generation runs out of room |
Cost reporting
Section titled “Cost reporting”| Provider | Token counts | Cost |
|---|---|---|
| OpenRouter | Yes | Yes |
| Anthropic | Yes | No — shows “cost not reported” |
| Google Gemini | Yes | No — shows “cost not reported” |
| Custom endpoint | Varies | Usually not |
A researched answer costs roughly 3–4× a plain one, because search results are added to the prompt.
Web research
Section titled “Web research”| Property | Value |
|---|---|
| Default | Off, chosen per run |
| Where the search runs | On the provider’s servers, inside the completion call |
| Supported on | OpenRouter (all models), Anthropic and Google (current models) |
| Not supported on | Custom / local endpoints |
| Citation | Every web claim carries an inline link |
| Marking | Answers that used research carry a Web badge |
Farkitect’s servers are not in the path, and no new network destination is contacted — the provider hosts already on the allow-list perform the search.
Provenance
Section titled “Provenance”Every generated package carries a provenance note recording:
- The model that produced it
- The provider
- A prompt hash
- The date
Runs are also recorded in the project’s governance metadata, including whether web research was used.
Modify M1 — the replace sequence
Section titled “Modify M1 — the replace sequence”| Step | Stops the replace if |
|---|---|
| 1. Freshness check | The target model changed since the rewrite was generated |
| 2. Confirmation dialog | You decline |
| 3. Snapshot save | The snapshot can’t be confirmed written — you’re offered retry, replace-without-snapshot, or abandon |
| 4. Replace | — |
Snapshot filename format: <Model Name> (before FarkiBot modify YYYY-MM-DD HHMM).farki
Snapshot confirmation by browser: Chrome and Edge report whether the file was written. Firefox and Safari do not — a started download is all the app can observe.
M2 metamodels are excluded from this task. See How FarkiBot Works.
Error messages
Section titled “Error messages”| Message | Cause and fix |
|---|---|
| ”Your API key was rejected” | Wrong or revoked key. Re-paste it in FarkiBot Settings and use Test connection. |
| ”…out of credits” | Top up at your provider (OpenRouter: Credits page). |
| “…hidden reasoning” errors | A reasoning model burned its output budget thinking. FarkiBot already tried raising the limit and disabling reasoning, so this means those recoveries were exhausted. Pick a different model. |
| ”Generation failed validation” | The model couldn’t produce a valid model file after 3 attempts. Retry with a starred model; the raw output is downloadable for salvage. |
| ”Generation interrupted” | Runs live in the browser tab — a reload or tab close ends them. Try again resubmits the same brief. |
| ”…cut off at the output token limit” | FarkiBot raises the limit automatically up to the model’s maximum, then asks for a smaller complete file. If it persists, narrow the brief or use a model with a larger output cap. |
| ”…remaining credit can’t cover the full output budget” | Your key’s spend cap can’t pre-authorise the full output budget. Raise the cap or top up. |
| ”Rate-limited” | Free models allow 50 requests/day (1,000 once you’ve bought $10+ of credits). Wait, or use a paid model. |
| Empty model list on a custom endpoint | The gateway has no /models route. Type the model id directly. |
| ”The model returned this package unchanged” | A Modify M1 run produced no changes. Try a more specific instruction. |