AIcheck — 迅速な宿題(作業)チェック用Androidツール

Mobile

概要

AIcheckは、スマートフォン上でスクリーンショットをAIに送信し、AIが返した結果を画面に表示することで作業(宿題)チェックを迅速に行えるAndroidアプリです。root権限を利用してスクリーンショット取得やシステムイベントの制御を行う設計で、音量上で浮動ウィンドウを表示、音量下でスクリーンショットを撮ってAIに送信するといったワークフローを備えます。ユーザーは自分で用意したAIのAPIを設定する必要があり、不正利用(例:試験でのカンニング)を禁じる注意書きがあります。

GitHub

リポジトリの統計情報

  • スター数: 23
  • フォーク数: 2
  • ウォッチャー数: 23
  • コミット数: 4
  • ファイル数: 10
  • メインの言語: Kotlin

主な特徴

  • 音量キーで操作するショートカット(音量上:浮動ウィンドウ表示、音量下:スクリーンショット→AI送信)
  • スクリーンショットをAIに送り、AIの応答を浮動ウィンドウに表示
  • root権限を利用した高速な画面取得・制御(root必須)
  • 利用者側でAIのAPIを用意して設定する方式(APIキー管理は利用者責任)

技術的なポイント

AIcheckはKotlinで実装されたAndroidアプリで、root権限を前提にした設計が最大の技術的特徴です。rootを使うことでMediaProjection APIを使わずにシステムコマンド(screencapなど)で画面を直に取得でき、より簡便かつ高速にスクリーンショットを得られます。ただしroot依存は対応端末を限定し、セキュリティ面(root権限でのアクセス管理やAPIキーの保護)に注意が必要です。

ユーザー操作は音量キーに紐づき、音量上で常駐の浮動ウィンドウを表示、音量下でスクリーンショットを取りAIに送信するワークフローがREADMEに述べられています。実装上は、音量キーの検知をBroadcastReceiverやAccessibilityService、あるいはrootでのキーボードイベント取得で行う方法が考えられます。AI送信はHTTPベースのAPI呼び出しになるため、Retrofit/OkHttpやKotlinコルーチン、非同期処理を使ってネットワーク処理とUI表示を分離するのが推奨されます。

画像送信時の前処理(リサイズ、圧縮、Base64エンコードなど)や、戻り値のパースと結果表示のUX設計も重要です。長時間のネットワーク処理や再試行、エラーハンドリング、APIキーの秘密管理(Android Keystoreや暗号化ストレージ)が求められます。さらに、プライバシー保護と法的な配慮(個人情報や著作物の扱い、不正利用の防止)も実装・運用時に考慮すべきポイントです。テストやメンテナンス面では、root環境の差異やAndroidのバージョン差分による挙動の違いに注意が必要です。

プロジェクトの構成

主要なファイルとディレクトリ:

  • .gitignore: file
  • .idea: dir
  • README.md: file
  • app: dir
  • build.gradle.kts: file

…他 5 ファイル

(注)リポジトリ内はKotlinベースのAndroidプロジェクト構成が見込まれ、appディレクトリに実際のソースやリソースが入っています。

READMEの抜粋(要約)

  • root権限で動作する高速な作業チェック用ツール。
  • スクリーンショットをAIに送信し、AIの返答を表示する。
  • 音量上で浮動ウィンドウ表示、音量下でスクリーンショット送信。
  • 別途AIのAPIを用意する必要あり。
  • 不正利用(カンニング等)禁止の明記と利用責任の免責。

まとめ

root依存で即応性の高いスクリーンショット→AI判定ツール。利用時の倫理とセキュリティに注意。