Give agents access to your app's live state
Let agents investigate UI, stored data, and app-specific state in your Flutter app with tools scoped to development.
Use remote tools to answer questions about what the app is showing, what it has stored, and which app-specific state is driving its behavior. Enable only the inspection or development actions your workflow needs.
Flutter combines framework tools registered in Dart with native Android and Apple suites. macOS supports the non-UIKit native tools documented here plus Flutter-owned screenshots, visual trees, FPS, and pointer evidence; native AppKit UI inspection is not currently available.
await Ansight.instance.initializeAndActivate(
createOptionsBuilder()
.withAnsightDefaults()
.withReadOnlyToolAccess()
.withRemoteTools(
const AnsightRemoteToolsOptions(
visualTree: true,
database: AnsightDatabaseToolsOptions(),
),
)
.build(),
);
await AnsightFlutterInstrumentation.instance.install();
| Guide | Purpose |
|---|---|
| VisualTree | Inspect Flutter and native UI sources, screenshots, and overlays. |
| Flutter Inspection | Query mounted widgets, diagnostics, search results, and navigation state. |
| Database | Discover SQLite files, schema, and read-only queries. |
| FileSystem | Inspect and transfer files in approved roots. |
| Preferences | Read or repair approved preference keys. |
| Clipboard | Read, check, set, and clear the connected app device clipboard through native tools. |
| Purchases | Record and validate StoreKit or Google Play evidence through Ansight.instance.purchases. |
| SecureStorage | Access explicitly allowed secure values. |
| Reflection | Inspect supported native roots. |
| Native Android JNI Reference Diagnostics | jni_references.capture_graph through native all-in-one defaults; there is no suite-specific Dart option. |
| Custom Tools | Expose narrow Dart operations. |
All tools remain subject to AnsightToolGuard. Prefer read-only access and keep tool registration inside the app’s development guard.
Native catalog entries expose current availability, unmet state, remediation, and retryability through runtime, with a top-level executable flag. The native runtime rechecks availability immediately before execution. Dart-backed tools are considered available while registered because the Dart registration API does not currently expose a pre-invocation availability callback.