Skip to content

Latest commit

 

History

371 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Alice - HTTP Inspector for Flutter

pub package platform melos

Plugins: alice_dio alice_chopper alice_http alice_http_client alice_graphql_client alice_objectbox


Why Alice?

Alice is an advanced HTTP Inspector tool for Flutter that helps you debug network requests effortlessly. It catches and stores HTTP requests and responses, allowing you to view detailed network logs directly within your app via a simple and intuitive UI.

Whether you are hunting down a broken API payload, checking headers, or monitoring performance, Alice provides all the details you need without requiring a proxy or external desktop tools. It's inspired by Chuck and Chucker.

Screenshots

Calls List Request Details Response Details Error Details
Stats Search Dark Mode Export

Key Features

🔍 Deep Inspection

  • Detailed logs for every HTTP call (Headers, Body, Query Parameters, Timestamps)
  • Interactive tree-based JSON viewer for request and response bodies
  • Powerful HTTP calls search and filtering
  • Statistics overview (bandwidth, success rate, call counts)
  • Flutter & Android native log integration

🛠️ Broad Compatibility

  • Supports all major Dart HTTP clients: Dio, Retrofit, http, HttpClient (dart:io), Chopper, and GraphQL

📱 UX & Workflow

  • Shake the device to open the inspector instantly
  • System notifications on HTTP calls
  • Export and save HTTP calls to file for easy sharing
  • Persistent storage support (via ObjectBox)

Quick Start

1. Add dependency

Add the main Alice package (and any specific client plugins you need) to your pubspec.yaml:

dependencies:
  alice: ^1.4.0
  # Add plugins as needed, e.g.:
  # alice_dio: ^1.3.0

2. Initialize Alice

Create an instance of Alice. You should generally keep it as a singleton or provide it via dependency injection.

import 'package:alice/alice.dart';

Alice alice = Alice(
  showNotification: true,
  showInspectorOnShake: true,
);

3. Register the Navigator Key

Pass Alice's navigator key to your MaterialApp or CupertinoApp so she can open the UI:

MaterialApp(
  navigatorKey: alice.getNavigatorKey(),
  home: Scaffold(...),
)

4. Attach to your HTTP Client

Alice works by attaching an interceptor to your HTTP client. For example, using Dio:

import 'package:dio/dio.dart';
import 'package:alice_dio/alice_dio_adapter.dart';

Dio dio = Dio();
dio.interceptors.add(AliceDioAdapter().getInterceptor(alice));

// Now make requests! Alice will automatically record them.
dio.get("https://jsonplaceholder.typicode.com/posts");

For instructions on how to attach Alice to Chopper, standard http, or GraphQL, see the full documentation.

Documentation

For complete setup instructions, advanced configuration, and plugin details, please check the Full Documentation.

About

HTTP Inspector for Flutter. Allows checking HTTP connections with UI inspector.

Topics

Resources

Stars

635 stars

Watchers

7 watching

Forks

Releases

Packages

Used by

Contributors

Languages