labs-ArchiveAssistant  by LYiHub

AI-powered Android app for personal knowledge archiving

Created 2 months ago
274 stars

Top 94.1% on SourcePulse

GitHubView on GitHub
Project Summary

Summary

ArchiveAssistant is an Android application designed for personal data archiving and knowledge organization, built using Kotlin and Jetpack Compose. It targets individuals seeking a structured approach to managing digital information, offering capabilities for archiving various content types, extracting data from web pages and documents, and integrating with AI models for summarization. The project aims to provide a robust framework for personal knowledge management, though it is currently in a prototype phase.

How It Works

The application employs a modern Android development stack, featuring Kotlin and Jetpack Compose for its UI and overall architecture. Data persistence is handled via Android DataStore Preferences. Content ingestion involves web scraping (Jsoup) and document parsing (PDFBox), alongside support for manual entry and URI/FileProvider imports. A key architectural choice is the integration of an AI summarization pipeline, supporting both remote OpenAI-compatible endpoints (including Gemini) and local model inference via LiteRT LM. The core data organization relies on a fixed, built-in classification system referred to as the "Six Ministries" (吏部, 户部, 礼部, 兵部, 刑部, 工部).

Quick Start & Requirements

  • Primary Install/Run: Clone the repository and execute ./gradlew assembleDebug for building or ./gradlew installDebug for direct installation to a connected device/emulator. Unit tests can be run with ./gradlew testDebugUnitTest, and instrumentation tests with ./gradlew connectedDebugAndroidTest on a connected device or emulator.
  • Prerequisites: Requires Android Studio or a compatible Android SDK/Gradle environment, JDK 11. The project targets compileSdk 36 and minSdk 31.
  • Resource Footprint: Setup involves cloning the repository and building the Android project. Running instrumentation tests necessitates a connected Android device or emulator.

Highlighted Details

  • Fixed Classification System: Utilizes a built-in "Six Ministries" structure for organizing archived content, though this system is currently immutable.
  • Content Archiving: Supports detailed metadata for knowledge items, including title, abstract, body, source links, document formats, and local file information.
  • Multi-format Input: Includes robust processing pipelines for web page content extraction, document parsing (PDF), URI imports, and local file handling.
  • AI Integration: Features a foundational AI pipeline supporting remote (OpenAI-compatible, Gemini) and local (LiteRT LM) model inference for content summarization and potential classification.
  • Jetpack Compose UI: Implements the user interface using Jetpack Compose and Material 3, including distinct screens for the homepage, category details, settings, item popups, and a custom reader/reviewer view.

Maintenance & Community

The README does not specify details regarding active maintenance, notable contributors, sponsorships, or community channels like Discord/Slack. A roadmap is also not explicitly mentioned.

Licensing & Compatibility

The project source code is licensed under the GNU General Public License v3.0 or later (GPLv3+). Third-party dependencies, fonts, images, and mock data retain their original licenses. A THIRD_PARTY_NOTICES.md file documents known dependencies, but some bundled resources may lack complete source and license records, requiring verification before formal release. GPLv3+ is a strong copyleft license, potentially impacting integration with closed-source applications.

Limitations & Caveats

The project is explicitly stated to be in a prototype and feature validation phase, not yet meeting formal product standards. Key limitations include the unimplemented AI recommendation system for the "Three Provinces and Six Ministries" structure, noticeable performance issues with page scrolling and gestures on complex views, and the inability to customize the fixed "Six Ministries" classification system. AI capabilities require manual configuration of endpoints, models, and API keys for remote use, or specific hardware and model files for local inference. Further validation, including real-device testing and exception handling, is required.

Health Check
Last Commit

1 month ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
0
Star History
3 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.