garmin-ai-coach は何をしますか?
Garmin Connectからデータを取得し、AIがフルマラソンコーチとして毎日のトレーニングを指導する完全自動セルフホスト型システム(Cloudflare認証回避、日次同期、Claude Code Routines対応)
概要
このプロジェクトは、Garminデバイスのランニングデータを自動収集し、AIコーチングを提供します。Cloudflareの認証をバイパスする機構により、安定したデータ同期を実現。Claude CodeのRoutines機能を利用して、日々のトレーニング計画やアドバイスを自動生成します。
特徴
- 完全自動: 毎日自動でGarmin Connectと同期し、AIがコーチングを生成
- Cloudflare認証バイパス: 独自の認証方式で安定したデータ取得
- Claude Code Routines連携: 柔軟なコーチングロジックのカスタマイズ
- セルフホスト: Docker Composeで簡単デプロイ
必要条件
- Garminデバイス(Forerunnerシリーズ推奨)
- Garmin Connectアカウント
- DockerおよびDocker Compose
- Claude Code(Routines機能利用時)
セットアップ
-
リポジトリをクローン:
git clone https://github.com/MECoban/garmin-ai-coach.git cd garmin-ai-coach -
環境変数を設定:
cp .env.example .env # .envファイルを編集し、Garmin Connectの認証情報を入力 -
Docker Composeで起動:
docker-compose up -d -
Claude Code Routinesを設定(オプション):
routines/ディレクトリ内のサンプルルーチンを参考に、独自のコーチングロジックを定義
使い方
システムが起動すると、毎日自動で以下の処理が行われます:
- Garmin Connectにログインし、最新のランニングデータを取得
- データをローカルデータベースに保存
- Claude Codeがデータを分析し、コーチングメッセージを生成
- コーチング結果を指定された出力先(コンソール/ファイル/Webhookなど)に出力
環境変数
| 変数名 | 説明 | 必須 |
|---|---|---|
GARMIN_EMAIL | Garmin Connectのメールアドレス | はい |
GARMIN_PASSWORD | Garmin Connectのパスワード | はい |
SYNC_INTERVAL | 同期間隔(分) | いいえ(デフォルト: 1440) |
CLAUDE_API_KEY | Claude APIキー(Routines利用時) | いいえ |
ライセンス
MIT