このプロジェクトについて

Kairósは、カレンダーの予定を全画面アラームに変換し、予定を逃しにくくするAndroidおよびWear OSアプリケーションです。デバイスに設定された任意のカレンダーアカウントから予定を読み取り、バックグラウンドでアラートをスケジュールします。 READMEに記載されている主な機能: - ロック中でもデバイスを起動する全画面アラーム。スマートフォンとウォッチの両方で視覚および音声によるアラートを提供。 - Wear OS連携: 次の予定を表示するウォッチフェイスコンプリケーションと、予定に素早くアクセスするためのタイル。 - WorkManagerによるバックグラウンドスケジューリングに加え、永続化とアラームのためにDataStore、Room、AlarmManagerを使用。 - AI機能: ユーザーの予定に基づいたストリーミングチャット回答、デイリーブリーフィング、ツール呼び出しを行うAIエージェント。複雑なタスクと関数呼び出しはクラウドのGemini Pro/Flashが処理し、プライバシーと速度のためにオンデバイス推論ではGemini Nanoを優先し、非対応の場合はクラウドにフォールバック。 - SAFE、MODERATE、CRITICALのリスクレベルを備えたツール呼び出しの安全モデル。イベント作成などの重要なアクションには明示的なユーザー確認が必要。 - 信頼性のための制御: ストリーミング応答、コンテンツがストリーミングされる前のバックオフ付きリトライ、クライアント側のレート制限、UIに表示される型付きエラー。 - Android AppFunctions (API 36+) により、createEventとgetDailyBriefingをシステムアシスタントに公開。 - グローバルまたはイベントごとのアラーム切り替え。 アーキテクチャとスタック: 100% Kotlin、スマートフォンとWear OS向けのJetpack Compose、単方向データフローを採用したMVVM + MVI、クリーンアーキテクチャ、およびfeature bridge/implペア、コアモジュール、規約プラグイン、Gradleバージョンカタログを備えたマルチモジュール構成。ナビゲーションはAppNavigatorのシームを通じてNavigation 3を使用。依存関係にはHilt、Coroutines/Flow、Firebase AI、Wearable Data Layer、テストにはJUnit4、Robolectric、Turbine、MockKが含まれます。 READMEには、ビルドの前提条件 (Android Studio Jellyfish以降、JDK 21、SDK 36)、アプリおよびwearモジュールのCLIインストールコマンド、ユニットテストとJacocoカバレッジのタスク、Spotlessフォーマット、リリースビルドにはgoogle-services.jsonと署名/広告設定が必要である旨の注記が記載されています。Google Playのダウンロードリンクが提供されています。このプロジェクトはtonimadevによって開発され、コントリビューションを受け付けています。