FLUTTER ECOSYSTEM

jhomlala/alice

Flutter용 포괄적인 HTTP 검사 도구로, 네트워크 연결을 모니터링하고 디버깅하기 위한 직관적인 UI를 제공합니다.

앨리스 프로젝트 이미지
Stars
635
Forks
328
최근 푸시(UTC)
2026. 9. 18.
프로젝트 상태
활성
Jakub Homlala GitHub avatar
GITHUB User

Jakub Homlala ↗

Senior Mobile Engineer

OLXPoland , Zielona Góra공식 웹사이트 ↗
언어Dart

기술 주제

이 저장소가 배포한 패키지

원본 README

아래는 영문 원문 스냅샷입니다. 최신 내용은 GitHub에서 확인하세요.

README 펼치기 / 접기

https://raw.githubusercontent.com/jhomlala/alice/master/assets/media/logo.png

Alice - HTTP Inspector for Flutter

pub package platform

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 JSON Viewer Timeline
Calls List Request Details JSON Viewer Timeline
Stats Dashboard Advanced Search Request Replay Dark Mode
Stats Dashboard Advanced Search Request Replay Dark Mode

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
  • Gantt chart Timeline to visually inspect staggered HTTP calls
  • Powerful HTTP calls search (with advanced syntax filters) and filtering
  • Programmatic Call Tagging (e.g., alice.tag(tag: 'login-flow'))
  • Automatic N+1 duplicate request detection
  • Statistics dashboard (bandwidth, success rate, call counts, ratio bars)
  • Flutter & Android native log integration

🛠️ Broad Compatibility

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

📱 UX & Workflow

  • Request Replay - resend HTTP calls directly from the inspector
  • Shake the device to open the inspector instantly
  • System notifications on HTTP calls
  • Export and save HTTP calls to file (TXT or HAR) 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.10.0
  # Add plugins as needed, e.g.:
  # alice_dio: ^1.3.1
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.

Architecture: Why Multiple Packages?

You may notice that Alice uses a multi-package architecture (e.g., alice_dio, alice_http, alice_chopper). This is a deliberate design choice!

Many similar inspector packages force you to pull in a massive dependency tree (Dio, HTTP, Chopper, GraphQL, etc.) all at once, even if your app only uses one of them. This is a bad pattern that bloats your app size, slows down build times, and causes version conflicts.

With Alice, you only install the core alice package and the specific adapter you need (e.g., alice_dio). We strictly avoid enforcing unnecessary dependencies on your project.

Documentation

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

Custom Integrations & Enterprise Support

Alice has been the go-to Flutter HTTP inspector since its first release, and the ecosystem keeps growing. If your team needs something beyond what's here — a custom adapter for an internal HTTP client, a bespoke export format, enterprise storage backend, or anything else — I'm available for consulting.

Let's talk on LinkedIn →