惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

WordPress大学
WordPress大学
Engineering at Meta
Engineering at Meta
D
DataBreaches.Net
月光博客
月光博客
Recent Announcements
Recent Announcements
Google DeepMind News
Google DeepMind News
U
Unit 42
腾讯CDC
爱范儿
爱范儿
J
Java Code Geeks
有赞技术团队
有赞技术团队
Blog — PlanetScale
Blog — PlanetScale
N
Netflix TechBlog - Medium
B
Blog
Stack Overflow Blog
Stack Overflow Blog
GbyAI
GbyAI
T
The Blog of Author Tim Ferriss
小众软件
小众软件
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Y
Y Combinator Blog
大猫的无限游戏
大猫的无限游戏
Microsoft Azure Blog
Microsoft Azure Blog
T
Tailwind CSS Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知

Hacker News - Newest: "AI"

AI can't read an investor deck AI as an attorney? Student uses ChatGPT, Gemini to sue UW over alleged racial discrimination Hacking MCP Servers in AI Systems – The Rug Pull: Tool Changes After Approval GitHub - MeepCastana/KubeezCut: Free Web based video editor Can AI judge journalism? A Thiel-backed startup says yes, even if it risks chilling whistleblowers Coming soon: 10 Things That Matter in AI Right Now DARPA built an AI to fact-check enemy weapons claims What explains heterogeneity in AI adoption? When AI Meets Muscle: Context-Aware Electrical Stimulation Promises a New Way to Guide Human Movements - Department of Computer Science AI Changed How We Build. It Did Not Change What Matters. Linux rules on using AI-generated code - Copilot is OK, but humans must take 'full responsibility for the… Meta spins up AI version of Mark Zuckerberg to engage with employees Code Mode: Let Your AI Write Programs, Not Just Call Tools | TanStack Blog GitHub - Delavalom/graft: Go framework for building AI agents. Type-safe tools, multi-provider (OpenAI, Anthropic, Gemini, Bedrock), zero vendor SDKs. India's TCS tops estimates, says new AI models did not dent services demand Gen Z's fading AI hype Strong feeling: we are in a folded AI reality GitHub - machinarii/total-recall-catalog: A reference catalog of latest knowledge retrieval, memory & RAG systems GitHub - mensfeld/code-on-incus: Give each AI agent its own isolated machine with root, Docker, and systemd. Active defense detects and stops threats automatically.. Quantization, LoRA, and the 8% Problem: Benchmarking Local LLMs for Production AI Iran war: We spoke to the man making Lego-style AI videos that experts say are powerful propaganda Powell, Bessent discussed Anthropic's Mythos AI cyber threat with major U.S. banks GitHub - immartian/bellamem: Persistent belief-graph memory for AI agents. Retrieves decisive context by importance — not recency, not RAG, not /compact. recursive-mode: The Repo-Native Operating System for AI Engineering After the attack on Sam Altman's home, will AI CEO's go on the offensive? The biggest advance in AI since the LLM Opus 4.6 vs GPT 5.4 One Prompt Unity World Generation Test “AI polls” are fake polls Client Challenge Can AI be a 'child of God'? Inside Anthropic's meeting with Christian leaders
GitHub - anasfik/flutter_copilot: AI agent framework for ...
gwhyyy · 2026-06-24 · via Hacker News - Newest: "AI"

Give your Flutter app an invisible AI copilot that can understand the current UI, choose actions, tap, type, scroll, wait, and keep going until a user goal is complete.

flutter_copilot works from Flutter's semantics tree. It does not need screenshots or an overlay chat UI. You wrap your app with CopilotApp, provide an OpenAI-compatible LLM, then call CopilotController.run(...) with a natural-language goal.

Demo

WhatsApp.Video.2026-06-22.at.10.18.08.PM.mp4

Note: this is clearly vibe-coded ro make demo faster, don't wanna hear anyone opening an issue mentioning this please!

Idea & Motivation

Imagine an app full of options, screens, forms, buttons, tabs, dialogs, and settings. Instead of making the user find every control manually, flutter_copilot can carry out tasks inside your app from natural language:

Go to settings, turn on dark mode, enable weekly summary emails, and save.

It observes the current Flutter UI, decides the next visible action, taps, types, scrolls, waits, and repeats until the task is done.

See the example app to see how it works in practice, and check out Help the Copilot See Your UI to help the copilot understand your most complex flows.

What It Can Do

It can:

  1. Navigate between screens and tabs.
  2. Tap buttons, switches, checkboxes, list items, and navigation controls.
  3. Type into visible text fields.
  4. Scroll visible scrollable areas.
  5. Wait for loading or animations.
  6. Execute several independent visible actions in one model step.
  7. Report progress through events so you can show a live activity log.
  8. Stop safely on blocked, destructive, or impossible actions.
  9. Much more as LLMs and your UI improve!

Install & Usage

dependencies:
  flutter_copilot: ^0.9.1

Supported Providers

Currently supported:

  1. OpenAI.
  2. OpenAI API-compatible providers, including OpenRouter and similar /chat/completions endpoints that support tool calling.

Setup

Wrap your app with CopilotApp and configure the LLM:

import 'package:flutter/material.dart';
import 'package:flutter_copilot/flutter_copilot.dart';

void main() {
  runApp(
    CopilotApp(
      config: CopilotConfig(
        // compatible with all OpenAI and OpenAI API-compatible providers
        llm: OpenAILlmAdapter(
          apiKey: 'YOUR_KEY_HERE',
          model: 'THE_MODEL_YOU_WANT_TO_USE',
          // optional: if using a compatible provider with a different endpoint
          endpoint: Uri.parse('https://api.openai.com/v1/chat/completions'),
        ),
        debugLogging: true,
      ),
      child: const YourApp(),
    ),
  );
}

Quick Usage

Anywhere below the CopilotApp you configured, get the controller and run your first prompt:

final controller = CopilotController.of(context);
final result = await controller.run(
  'Open settings and turn on dark mode, then go back and open profile and update the display name to Anas, then save.',
);

Help the Copilot See Your UI

flutter_copilot reads semantics, so your app becomes much easier to automate when important controls have clear labels.

Most Material widgets already expose good semantics:

SwitchListTile(
  title: const Text('Dark mode'),
  value: darkMode,
  onChanged: setDarkMode,
)

For custom controls, add explicit semantics:

Semantics(
  label: 'Dark mode',
  value: darkMode ? 'On' : 'Off',
  toggled: darkMode,
  button: true,
  onTap: () => setDarkMode(!darkMode),
  child: ExcludeSemantics(
    child: MyCustomSwitch(value: darkMode),
  ),
)

Good labels sound like what a person would ask for:

  • Save profile
  • Email address
  • Weekly summary email
  • Open settings
  • Confirm reset
  • Cancel reset

Avoid icon-only controls without tooltips or semantics labels. The copilot cannot reliably choose between unlabeled buttons.

Show Progress in Your App

You can track the copilot status or progress anytime, anywhere below CopilotApp, by listening to CopilotController.events.

CopilotController.of(context).events.listen((event) {
  print('Copilot event: $event');
});

Safety

flutter_copilot ships with CopilotSafetyPolicy.defaults, which blocks planned actions when the target control label, value, or hint matches risky text like logout, payment, transfer, purchase, or account deletion.

CopilotSafetyPolicy(
  blockedLabels: const <Pattern>[
    'delete account',
    'confirm payment',
    'send money',
  ],
)

When a planned action matches blockedLabels, the run stops instead of executing it.

Contributing

Contributions are welcome through GitHub issues and pull requests. See CONTRIBUTING.md for the short guide.

License

flutter_copilot is released under the MIT License. See LICENSE.