mylxsw/aidea
47.0
Weak · 22 September 2026
51.8k
lines of production code
Dart
primary language
6
measurements over time
What this system is
AIdea is a cross-platform AI assistant application built with Flutter, supporting Android, iOS, macOS, Windows, Linux, and Web. The system provides a comprehensive suite of features including multi-model chat with file and image support, group messaging, and a creative generation suite for art and text. It includes a robust admin panel for managing users, channels, and models, alongside a complete payment and quota management system for tracking usage and billing.
Features
Add My Creation and My Creation Item pages
Introduces the 'My Creation' list page and the individual 'My Creation Item' detail page within the Creative Island feature. Users can now view their generated creations, access the full history of a specific item, and manage their content through actions like deleting or banning (for non-owners).
_lib/page/creative\island · high confidence
Add balance, payment, and usage tracking pages
The application now includes a suite of new pages for managing user balance and payments. Users can view their free quota and usage statistics, track their payment history, and access detailed daily usage logs. A new payment flow supports multiple methods, including Apple IAP, WeChat Pay, and Stripe for web platforms, with a dedicated proxy page for web-based Stripe transactions.
lib/page/balance · high confidence
Added English localization strings for the application
Introduced a new \AppLocale\ mixin in \lib/lang/lang.dart\ containing over 100 English string constants for UI elements such as settings, chat, and account management. This provides the foundational text resources required for English language support across the app.
lib/lang · high confidence
Added Windows desktop runner
The application now supports Windows desktop. This change introduces the native Windows runner code, including the CMake build configuration, window management, and resource files, enabling users to install and run the app on Windows.
windows/runner · high confidence
Added data sources for chat history, group messages, and notifications
The app now includes dedicated data source classes to manage paginated lists for chat history, group messages, and notifications. These new files (chat\_history\_datasource.dart, group\_message\_datasource.dart, and notification\_datasource.dart) provide the underlying data fetching and state management for these features, supporting infinite scroll and refresh behaviors.
lib/page/data · high confidence
Added draw history data source for creative island
A new data source class, DrawHistoryDatasource, has been added to manage the retrieval of creative draw history items. This component handles paginated fetching of image-draw records from the server, supporting both initial loading and infinite scroll loading states within the creative island feature.
lib · high confidence
Added macOS Flutter build configuration and plugin registration
The macOS build configuration has been established with new \Flutter-Debug.xcconfig\ and \Flutter-Release.xcconfig\ files that include the necessary CocoaPods and ephemeral Flutter generated configurations. Additionally, a \GeneratedPluginRegistrant.swift\ file has been added to automatically register 21 macOS-compatible Flutter plugins, including audioplayers, media\_kit, and in\_app\_purchase\_storekit, ensuring these features are available on the Mac platform.
macos/Flutter · high confidence
Added macOS app menu bar and window configuration
The macOS application now includes a standard macOS menu bar with standard Edit, Find, and Spelling menus, and configures the main Flutter window through the AppDelegate, establishing the native UI shell for the app on macOS.
macos/Runner/Base.lproj · high confidence
Added macOS application configuration and entry point
The macOS build now includes the necessary configuration files to run the application on Apple's desktop platform. This includes the main Swift entry point (AppController) and window controller (MainFlutterWindow) which handle the app lifecycle and Flutter view integration. Additionally, the Info.plist has been added with standard bundle identifiers and usage descriptions for microphone and photo library access, while the Debug and Release entitlements files define the app's security permissions, such as network and audio input access.
macos/Runner · high confidence
Added macOS build configuration and Flutter glass effect component
The app now includes a new Flutter widget, GlassEffect, which renders a frosted glass UI component with a blur filter and rounded corners. For the macOS platform, the project has been configured with new Xcode workspace and build configuration files (including AppInfo, Debug, Release, and Warnings settings) to support building the application on macOS.
lib/page/component/effect, macos/Runner.xcworkspace, macos/Runner/Configs · high confidence
Added web platform support for the AIdea application
The web entry point and supporting assets have been added, enabling the application to run in a browser. This includes the main \index.html\ template with splash screen styling and script initialization, a \manifest.json\ for PWA configuration, and the necessary JavaScript/CSS files for the splash screen and service worker. This change allows users to access the AIdea app via a web browser.
web · high confidence
Admin panel now supports management of channels, models, users, and payment history
The admin interface has been expanded to include dedicated management capabilities for four key areas: channel configuration (including proxy and Azure OpenAI settings), model configuration (including pricing, search, and reasoning model settings), user management (viewing and managing user accounts), and payment history tracking. This allows administrators to configure backend services, manage user accounts, and monitor billing records directly through the admin panel.
lib/repo/api/admin · high confidence
Android app configuration and UI theme setup
The Android app's core configuration files have been added, including the main and debug/manifests, the Kotlin MainActivity, and the resource files defining the app's light and dark mode themes and splash screen. This establishes the visual appearance and basic permissions for the application.
android/app · high confidence
Initial Linux desktop support for the application
Added the necessary build configuration (CMakeLists.txt), application entry point (main.cc, my\_application.cc/h), and Flutter plugin registration (generated\_plugin\_registrant) to enable running the Flutter application on Linux desktops. This includes support for plugins such as audioplayers, file\_saver, and media\_kit.
linux · high confidence
Initial project scaffolding and build infrastructure
The repository has been initialized with essential build and configuration files. This includes a Makefile with targets for building Android, iOS, macOS (DMG), Linux (AppImage), and Windows (MSIX/EXE) packages, alongside scripts for Docker and web deployment. The project also adds a Dockerfile for serving the web build via Nginx, a .gitignore for Flutter and IDE artifacts, and bilingual README files (English and Chinese) to guide users on setup and self-hosting.
(repo-wide) · high confidence
Introduces a centralized theming system for the application
The application now uses a new, centralized theming system to manage visual styles. A new \AppTheme\ class handles light, dark, and system theme modes, while \CustomColors\ and \CustomSize\ classes define specific color palettes, typography sizes, and layout constraints for UI components. This change allows for consistent styling across the chat interface, input panels, and other UI elements.
lib/page/component/theme · high confidence
Introduces a new local data access layer for chat, cache, and settings
The application now uses a dedicated repository pattern to manage local data. A new \migrate.dart\ file defines database schema migrations and initialization for tables including \chat\_room\, \chat\_message\, \chat\_history\, \cache\, and \settings\. Corresponding data providers and repository classes (e.g., \ChatMessageRepository\, \CacheRepository\, \SettingRepository\) are introduced to handle local storage operations for chat history, caching, and user preferences, separating data access logic from the rest of the codebase.
lib/repo · high confidence
New 'Lab' section with drawing, prompt, and user center pages
The app now includes a 'Lab' area containing several new pages: a draw board for sketching and saving images, a prompt editor for managing system prompts, a creative models selector for image generation, an avatar selector, and a user center displaying account quotas and creative history. These pages are part of the 'Lab' feature, providing tools for creative tasks and user management.
lib/page/lab · high confidence
New API models for payments, quotas, and user capabilities
Added new data models for payment methods (Stripe, WeChat Pay, and other gateways), quota management, user information, and server-side feature flags (capabilities). These changes enable the client to dynamically discover supported features like Apple Pay, Stripe, WeChat login/pay, and API key management, as well as retrieve user-specific quota details and payment product information.
lib/repo/api · high confidence
New BLoC architecture for account, chat, and admin features
The application's state management has been refactored to use the BLoC pattern across multiple domains. A new \AccountBloc\ handles user authentication, profile updates, and sign-out logic. Chat functionality is now managed by \ChatMessageBloc\ and \ChatChatBloc\, which handle message sending, history loading, context breaking, and deletion. Group chats are controlled by \GroupChatBloc\, supporting message sending, status updates, and deletion. Administrative capabilities are introduced with \AdminPaymentBloc\ for viewing payment histories, \AdminRoomBloc\ for monitoring user rooms and messages, and \ChannelBloc\ for managing AI model channels. Additionally, \FreeCountBloc\ tracks free usage limits, while \CreativeIslandBloc\ and \GalleryBloc\ manage content creation and gallery features. A \ChatBlocManager\ is also added to manage the lifecycle of chat BLoCs.
lib/bloc · high confidence
New Creative Island Gallery page and item view
Added a new 'Creative Island' gallery feature, including a main listing page (gallery.dart) that displays a scrollable, paginated grid of user-generated images, and a detail view (gallery\_item.dart) for individual items. The implementation introduces new components (ImageCard), a data source for fetching gallery data, and integrates with the existing BLoC state management for loading and displaying creative content.
_lib/page/creative\island/gallery · high confidence
New UI components for the Creative Island draw page
Added several new Flutter widgets to the \lib/page/creative\_island/draw/components\ directory to support the Creative Island feature. This includes \ArtisticStyleSelector\ and \ImageStyleSelector\ for choosing artistic and image filters, \CreativeIslandBox\ for displaying project items, \CreativeItem\ for rendering individual content items, \ImageSelector\ for uploading images, \ImageSize\ for aspect ratio selection, and \CreativeIslandContentPreview\ for displaying generated results. These components provide the visual interface for users to select styles, upload images, and view outputs within the draw page.
_lib/page/creative\island/draw/components · high confidence
New account and billing UI components
The app introduces a new account quota card that displays remaining credits and provides a direct path to the payment page. A new credit display widget formats large numbers for better readability. Additionally, a dialog system is added to handle common user states such as insufficient credits, expired sessions, and login requirements, providing clear calls to action for each scenario.
lib/page/component · high confidence
New account security and settings pages added to the app
The settings section now includes several new pages: Account Security (for managing WeChat login and account deletion), Article viewing, Background selection, Phone binding, Password change, Custom Home Models, Account Destruction, Diagnosis/Log reporting, and Notifications. These pages provide users with more control over their account, security, and app appearance.
lib/page/setting · high confidence
New admin panel for managing channels, models, and user data
Administrators can now access a dedicated admin dashboard to manage API channels, configure large language models, view recent chat history, and manage users and payment records. This update introduces full CRUD (create, read, update, delete) interfaces for channels and models, allowing admins to add, edit, and delete configurations directly from the admin panel.
lib/page/admin · high confidence
New app navigation and layout scaffolds
The app's core navigation and layout structure has been refactored into new, dedicated scaffold components. A new \AppScaffold\ manages the bottom navigation bar and route state, while \CustomScaffold\ and \LeftDrawer\ provide reusable UI shells for pages and side menus. This change reorganizes the page layer to separate navigation logic from content, improving the consistency of the app's visual structure and navigation flow.
lib/page · high confidence
New chat UI components and Markdown rendering
The chat interface now uses a new set of Flutter components for rendering messages, including custom chat bubbles, input fields, and preview cards. A dedicated Markdown rendering engine with LaTeX support has been introduced, allowing for better display of code blocks, mathematical formulas, and other rich text content in chat messages. Additionally, the chat share functionality has been updated to support image-based sharing, enabling users to export conversations as images.
lib/page/component/chat · high confidence
New chat UI components for group avatars, model switching, and chat controls
The chat interface now includes new UI components: a \CharacterBox\ for displaying chat rooms with edit/delete actions and local model indicators; a \GroupAvatar\ widget that renders multiple member avatars in a grid layout; a \ModelSwitcher\ button that opens a dialog to switch AI models; and a \StopButton\ for halting ongoing chat generation. Additionally, a \GroupEmptyBoard\ provides tips for group chat usage. These changes enhance the chat experience with better group support, model management, and visual feedback.
lib/page/chat/component · medium confidence
New chat interface with character management and file upload support
The chat experience has been restructured with a new home page for selecting models and starting conversations, alongside dedicated pages for managing and editing chat characters (rooms). The chat interface now supports uploading PDF, DOCX, text, and MD files during conversations, and includes a stop button to interrupt ongoing responses.
lib/page/chat · high confidence
New creative tools: Artistic QR, Word Art, and Image Editing
The Creative Island now includes new generation capabilities for creating artistic QR codes and stylized text (word art), alongside a direct image editing interface. A new draw list screen displays these and other creative modules in a unified grid, while a dedicated result page handles generation status and error states. These additions expand the range of creative outputs available to users within the app.
_lib/page/creative\island/draw · high confidence
New data models for chat, messaging, and group features
The application now includes new data models for chat history, messages, and group interactions. Users can now have persistent chat history with title, model, and last message tracking. Messages support images and file uploads, with structured data for role, type, and status. Group chats are supported with group members, messages, and send requests. Additionally, a model definition with pricing, flags for vision/reasoning/search support, and a promotion event model are introduced.
lib/repo/model · high confidence
New group chat and management screens
Added new pages for creating, editing, and chatting in group conversations. Users can now create new group chats, edit group settings such as name and avatar, and manage group members. The group chat interface includes features like audio playback, message selection, and input controls specific to group interactions.
lib/page/chat/group · high confidence
Scripts added to replace external font URLs with domestic mirrors
Added a new shell script, scripts/macos-icon-replace.sh, to handle macOS icon file renaming and copying. Additionally, a new Go utility, scripts/main.go, was introduced to replace external font URLs (fonts.gstatic.com, www.gstatic.com) with domestic mirror URLs (global-cdn.aicode.cc, fonts-gstatic.lug.ustc.edu.cn) in web assets, addressing accessibility issues with Google Fonts.
scripts · high confidence
Windows build system and plugin registration generated for Flutter
The Windows build configuration for the Flutter engine and C++ client wrapper has been added, establishing the CMake targets for the Flutter library and its associated wrappers. Additionally, a generated plugin registrant has been created to automatically register a set of Windows-specific plugins, including audioplayers, bitsdojo\_window, file\_saver, flutter\_localization, flutter\_tts, media\_kit, record, screen\_brightness, share\_plus, and url\_launcher.
windows/flutter · high confidence
iOS project scaffolding and configuration added
The iOS build environment is now fully configured with the standard Flutter project structure, including the Xcode project file, workspace settings, and build configurations. This includes the main application entry point (AppDelegate), the app icon and launch screen assets, and critical permissions for camera, microphone, and photo library access. The app is named 'AIdea' and is configured to support portrait and landscape orientations on both iPhone and iPad.
ios · high confidence
Behavioural changes
Enhanced Markdown rendering with code highlighting, copy functionality, and LaTeX support
The chat interface now renders code blocks with syntax highlighting and includes a 'Copy' button to copy code to the clipboard. Citations are displayed as clickable links. Additionally, the markdown parser now supports LaTeX math expressions, rendering them as formatted math blocks or inline equations.
lib/page/component/chat/markdown · medium confidence
Introduce server-controlled feature toggles and platform-specific capability checks
The application now uses a centralized \Ability\ class to determine which features are enabled, allowing the server to control client capabilities such as payments (Stripe, Apple Pay, WeChat Pay), login methods (WeChat, Apple), and functional modules (chat, digital human, gallery). The \ModelResolver\ and \Helper\ utilities are refactored to check these capabilities before executing actions, such as restricting voice input on the web or enabling specific AI model providers. This change shifts the control of feature availability from hardcoded client-side logic to a dynamic server response, enabling remote feature management and platform-specific behavior adjustments.
lib/helper · high confidence
Redesigned and reorganized authentication screens
The authentication flow in the app has been significantly updated with new, dedicated screens for signing in, signing up, and handling initial verification. The login experience now includes a dedicated sign-in screen that supports WeChat authentication, allowing users to log in or bind their WeChat account directly. The sign-up process has been restructured into its own screen, and the previous combined sign-in/sign-up logic has been separated into distinct components for better organization and maintainability.
lib/page/auth · high confidence
Updated Gradle wrapper to version 8.10
The Android build system has been updated to use Gradle 8.10. This change modifies the Gradle wrapper configuration to download and use this specific version, which may affect build behavior and compatibility.
android/gradle · high confidence
Updated macOS Runner project configuration for Flutter 3.19.2
The macOS build configuration has been updated to support the latest version of Flutter (3.19.2). This includes a new \project.pbxproj\ file that configures the Xcode project with modern build phases, including the 'Flutter Assemble' aggregate target and CocoaPods integration for the \Pods\_Runner\ framework. The Xcode scheme is also updated to ensure the \AIdea.app\ is built and run correctly in Debug, Test, and Release configurations.
macos/Runner.xcodeproj · medium confidence
Dependencies
Updated build configurations and dependencies for Android, iOS, macOS, and the main application
The project's build system and dependencies have been updated across all platforms. On Android, the Gradle build files were modernized to use the new Gradle plugin DSL and updated compile SDK versions. For iOS and macOS, the Podfiles and Podfile.locks were regenerated to reflect current CocoaPods dependencies, including an update to the Stripe SDK (23.28.1). The main application's \pubspec.yaml\ and \pubspec.lock\ were updated to the latest versions of Flutter packages, including \flutter\_stripe\, \media\_kit\, and various UI and utility libraries. Additionally, the Go scripts' dependencies were updated in \go.mod\ and \go.sum\.
(dependencies) · high confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
This is the PUBLIC form of this artifact. Findings are listed in full, but the details of SECURITY findings — which rule fired, in which file, on which line, and how to fix it — are deliberately withheld, and any secret-scanner results are excluded entirely. Where detail is absent here it was REMOVED FOR PUBLICATION; it is not missing from the analysis. The complete artifact is available from the repository owner.
Score
- CAI 49 → 47 (-2.3)
- Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.
Lenses
- Code Health 94 → 78 (-16.0)
- Architecture 98 → 89 (-9.0)
- Maturity 54 → 48 (-6.6)
- Readiness 31 → 34 (+2.6)
- Security 74 → 70 (-4.1)
- Accessibility 60 → 60 (+0.0)
Resolved (13)
- Boundary-crossing change coupling: lang.dart ↔ models.dart (lib/lang/lang.dart)
- Change coupling: create.dart ↔ edit.dart (lib/page/chat/group/create.dart)
- Dependency hygiene not measured — dependency manifest found but not parsed for hygiene
- High CVE: [GHSA redacted] (scripts/go.mod)
- High: security finding (details withheld)
- High: security finding (details withheld)
- High: security finding (details withheld)
- Medium CVE: GO-2024-2598 (scripts/go.mod)
- Medium IaC: CKV_DOCKER_3 (Dockerfile)
- No exposed public API
- Off-boarding risk: anonymized user #1
- The Launch Screen Assets README is thin and only states how to replace images without showing what assets are supported or the exact format. (ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md)
- complexity unreadable for .dart, .go, .swift — churn × complexity hotspots could not be measured
New (364)
- APIServer._exceptionHandle (cognitive 18) (lib/repo/api_server.dart)
- AudioPlayerController.AudioPlayerController (cognitive 16) (lib/page/component/audio_player.dart)
- Boundary-crossing change coupling: chat.dart ↔ api_server.dart (lib/page/chat/group/chat.dart)
- Change coupling: character_chat.dart ↔ chat.dart (lib/page/chat/character_chat.dart)
- Change coupling: chat.dart ↔ create.dart (lib/page/chat/group/chat.dart)
- Change coupling: chat_input.dart ↔ chat_preview.dart (lib/page/component/chat/chat_input.dart)
- Change coupling: draw_create.dart ↔ image_edit_direct.dart (lib/page/creative_island/draw/draw_create.dart)
- Change coupling: main.dart ↔ misc.dart (lib/main.dart)
- ChatMessageBloc._messageSendEventHandler (cognitive 93) (lib/bloc/chat_message_bloc.dart)
- ChatMessageBloc._messageSendEventHandler (cyclomatic 41) (lib/bloc/chat_message_bloc.dart)
- ClassTooLong: APIServer (lib/repo/api_server.dart)
- ClassTooLong: MyApp (lib/main.dart)
- ClassTooLong: _AdminModelCreatePageState (lib/page/admin/models_add.dart)
- ClassTooLong: _AdminModelEditPageState (lib/page/admin/models_edit.dart)
- ClassTooLong: _ArtisticQRScreenState (lib/page/creative_island/draw/artistic_qr.dart)
- ClassTooLong: _ChatPreviewState (lib/page/component/chat/chat_preview.dart)
- ClassTooLong: _DrawCreateScreenState (lib/page/creative_island/draw/draw_create.dart)
- ClassTooLong: _GroupChatPageState (lib/page/chat/group/chat.dart)
- ClassTooLong: _HomePageState (lib/page/chat/home.dart)
- ClassTooLong: _NewHomePageState (lib/page/home.dart)
- …and 344 more
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
mylxsw/aidea was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 22 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit cea454f7b48abd7c484f9afbf559ebfd31cea0fa — the exact code this score is about.
- Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-821afab8930d.