ispect_ai 0.0.4
ispect_ai: ^0.0.4 copied to clipboard
An additional package for ISpect to interact with logs using Google Gemini AI
A Handy Toolkit for Mobile App Debugging 🚀
ISpect is a simple yet versatile library inspired by web inspectors, tailored for mobile application development.
An add-on package to use the Gemini AI Api to generate a `report` and `log` questions.
Show some ❤️ and star the repo to support the project!
Packages #
ISpect can be extended using other parts of this package
Package | Version | Description |
---|---|---|
ispect | Main package of ISpect | |
ispect_ai | An add-on package to use the Gemini AI Api to generate a report and log questions |
|
ispect_jira | An add-on package to use the Jira Atlassian Api to create issue tickets immediately via Feedback |
|
ispect_device | An additional package for using tools to view platform & device info. | |
ispectify | An additional package for logging and handling. Based on Talker . |
|
ispectify_bloc | An additional package for logging and handling BLoC . |
|
ispectify_dio | An additional package for logging and handling Dio . |
|
ispectify_http | An additional package for logging and handling http . |
📌 Features #
- ✅ Draggable panel for route to ISpect page and manage Inspector tools You can also use it separately: https://pub.dev/packages/draggable_panel
- ✅ Localizations: ru, en, kk. (I will add more translations in the future.)
- ✅
ISpectify
logger (inspired onTalker
) implementation: BLoC, Dio, http, Routing, Provider - ✅ You can customize more options during initialization of ISpect like BLoC, Dispatcher error and etc.
- ✅ Updated ISpect page: added more options.
- Detailed
HTTP
logs:request
,response
,error
- Debug tools
- Cache manager
- Device and app info (ispect_device)
- Detailed
- ✅ Feedback builder from pub.dev/feedback
- ✅ Performance tracker
- ✅ AI helper
📜 Showcase #





Easy to use #
Simple example of use ISpect
You can manage ISpect using ISpect.read(context)
.
Put this code in your project at an screen and learn how it works. 😊
Instructions for use: #
- Wrap
runApp
withISpect.run
method and passISpectify
instance to it. - Initialize
ISpectGoogleAi
toMaterialApp
and pass the Google Ai token. For example, from an.env
file or an environment variable.
ISpectGoogleAi.init('token');
- In
actionItems
insideISpectOptions
add the corresponding Action buttons. For example:
actionItems: [
ISpectifyActionItem(
title: 'AI Chat',
icon: Icons.bubble_chart,
onTap: (context) {
Navigator.of(context).push(
MaterialPageRoute(
builder: (context) => const AiChatPage(),
),
);
},
),
ISpectifyActionItem(
title: 'AI Reporter',
icon: Icons.report_rounded,
onTap: (context) {
Navigator.of(context).push(
MaterialPageRoute(
builder: (context) => const AiReporterPage(),
),
);
},
),
],
- Add
ISpectAILocalization
to yourlocalizationsDelegates
inMaterialApp
.
localizationsDelegates: ISpectLocalizations.localizationDelegates([ // ISpect localization delegates
ExampleGeneratedLocalization.delegate, // Your localization delegate
ISpectAILocalization.delegate, // ISpect AI localization delegate
]),
- Wrap your root widget with
ISpectScopeWrapper
widget to enableISpect
where you can pass theme and options. - Add
ISpectBuilder
widget to your material app's builder and putNavigatorObserver
.
Please, check the example for more details.
Note
- To add
ISpect Jira
, follow the instructions provided here ispect_jira.
You can also check out an example of usage directly in ispect_jira/example.
- To
platform & device
tools follow the instructions provided here ispect_device.
You can also check out an example of usage directly in ispect_device/example.
For handle routing (GoRouter) #
You can use ISpectNavigatorObserver
, but in practice it does not always work correctly with the GoRouter
package. You need add observer in each GoRoute.
Alternatively, you can use a listener
:
_router.routerDelegate.addListener(() {
final String location =
_router.routerDelegate.currentConfiguration.last.matchedLocation;
ISpect.route(location);
});
Referenced packages: #
A list of great packages I've used in ISpect: path_provider, device_info_plus, share_plus, package_info_plus, gap, auto_size_text, feedback, inspector, performance, cr_json_widget.