llms.txt@site · git:20260826.cdd0ed3 · 2026-08-26 · sha256 57a54176dc9f98aa

llms.txt@site git:20260826.cdd0ed3B

Immutable. This exact content is served forever at /api/v1/blob/57a54176dc9f98aa.

# Fa (Flutter Agent Harness)

> One agent harness, every device. Fa is an open-source coding agent for Dart and
> Flutter with a real tool loop: a sandboxed shell (curl, wget, jq, yq, rg, sed,
> awk, find, xargs, diff/patch, tar/zip), git over HTTP and SSH, python3 and
> sqlite3 running in the browser, secrets redaction, a file browser, and a
> session tree with context compaction. It runs on iOS, Android, web, desktop,
> and as a CLI.

## Live demo

- [Try Fa in your browser](https://fa1.dev/app/):
  bring your own key (BYOK). Keys are held in memory only — never persisted —
  and calls go directly from the visitor's browser to the LLM provider.

## Install

- CLI (macOS, Windows, Linux; requires the Dart SDK, bundled with Flutter):
  `curl -fsSL "https://fa1.dev/install.sh" | sh`
  or `dart pub global activate flutter_agent_harness`. Both provide the `fah`
  and `fa` executables. Set a provider API key (e.g. OPENROUTER_API_KEY),
  then run `fah`.
- Flutter demo app from source:
  `git clone https://github.com/IstiN/flutter_agent_harness`, then
  `cd flutter_agent_harness/flutter_app && flutter run`.

## Project

- [GitHub repository](https://github.com/IstiN/flutter_agent_harness)
- [pub.dev package](https://pub.dev/packages/flutter_agent_harness)
- [Issue tracker](https://github.com/IstiN/flutter_agent_harness/issues)

## Key facts

- Written in Dart; the core library is pure Dart (no dart:io) and compiles to web.
- Providers: OpenAI-compatible (incl. OpenRouter and Ollama Cloud), Anthropic, Google.
- Web sandbox is a pure-Dart in-memory shell; mobile uses WASI binaries
  (uutils coreutils, ripgrep, sed/awk, python3, sqlite3, lua) under an embedded
  wasm runtime.
- License: MIT. Published on pub.dev as `flutter_agent_harness`.

## FAQ (quotable answers)

- What is Fa? An open-source coding agent for Dart and Flutter: a pure-Dart
  agent core plus a sandboxed workbench (shell, git, python3, sqlite3) running
  identically on iOS, Android, web, desktop, and as a CLI.
- Is the API key safe in the web demo? Yes: memory-only (never persisted to
  localStorage/cookies/disk, gone on reload), and calls go directly from the
  browser to the provider — the page is static files, no server or proxy.
- Which providers? OpenAI-compatible endpoints (OpenRouter, Ollama Cloud,
  self-hosted llama.cpp/LM Studio/vLLM), Anthropic, Google; custom endpoints
  with a base URL, with model list/context window/output caps auto-detected.
- Which platforms? iOS, Android, web (static files), macOS, Windows, Linux, CLI.
- What can the agent do? Shell (curl, jq, rg, sed/awk, tar/zip, diff/patch),
  git clone/push over HTTP and SSH, python3 with pip, sqlite3, QuickJS, file
  edits, web search/fetch, and long sessions with automatic context compaction.
- Is it free? The project is MIT-licensed open source; users pay their own LLM
  provider for tokens only — no subscription or account.
- How to install the CLI? `curl -fsSL "https://fa1.dev/install.sh" | sh`
  (or `dart pub global activate flutter_agent_harness`), then run `fa`.

See the on-page FAQ for the same answers with anchors:
[fa1.dev FAQ](https://fa1.dev/#faq)

## Widgets

- Sample JS widgets for the Fa agent run in its sandboxed interpreter;
  permissions are declared per widget and default-denied.
- Gallery: https://fa1.dev/widgets/
- Machine-readable catalog:
  https://github.com/IstiN/fa_widgets/releases/latest/download/catalog.json
- Sources and contribution guide: https://github.com/IstiN/fa_widgets