コンテンツにスキップ

設定

設定ページは、コードや YAML を変更せずに調整できるすべての項目を まとめています。セクションは上から下へ:

  1. 言語 — UI 言語(DE / EN / ES / FR / EL / PT / TR / JA、すべて完全翻訳済み)
  2. AI プロバイダー + モデル選択 — どのプロバイダーがメッセージを受け取るか、使用するモデル
  3. API キー — プロバイダーごとのキーとソース属性(env / secrets.yaml / 設定)
  4. ストレージモード — サーバー(FastAPI + SQLite)vs ローカル(ブラウザ IndexedDB)
  5. 同期 — ローカルネットワーク経由で別のデバイスとペアリング
  6. バックアップ — エクスポート・インポート・比較
  7. 音声 — TTS + STT + 発音切り替え
  8. インターフェース — ジェスチャー + テーマ + 密度
  9. ゲーミフィケーション — XP・バッジ通知 + 週末モード
  10. About — バージョン、システム情報、クレジット、寄付、ライセンス

言語

次のレンダリング時に PATCH /api/settings/{user_id} 経由で すべての UI 文字列をライブスワップします。8 言語すべてがファーストクラス — DE / EN / ES / FR / EL / PT / TR / JA — それぞれ完全に翻訳されたカタログ付き。 localStorage で再読み込みをまたいで保持されます。

AI プロバイダー + モデル選択

プロバイダードロップダウンは active_provider を UserSettings に書き込みます。 次の AI 呼び出しは新しいプロバイダーのプラグイン(サーバーモード)または 新しいプロバイダーの HTTP クライアント(ローカルモード)を経由します。

モデル選択(v1.11.0 以降)は検索可能なドロップダウンで、 推奨 / すべてでグループ化され、各プロバイダーのライブ /v1/models エンドポイント(1 時間キャッシュ)から生成されます。 各行に人間が読める名前 + 生の ID + コンテキストウィンドウバッジが表示されます。 検出されたリストが利用できない場合(API キーなし、ネットワークなし)、 選択は静的デフォルトにフォールバックし「オフラインデフォルトを使用中」 ヒントを表示します。セッションヘッダーは <プロバイダー>: <モデル名> を表示します。

API キー(Phase 34 / v1.20.0)

各プロバイダーに独自の行があります。キー入力、保存ボタン、削除ボタン、 アクティブプロバイダーバッジ、および新しいソース属性バッジ:

  • キーの出所:設定 — キーは DB に Fernet 暗号化されて保存(サーバーモード) または IndexedDB に平文(ローカルモード)。自由に保存・削除できます。
  • キーの出所:secrets.yaml — キーは ~/.config/adaptive-learner/secrets.yaml で設定されています。保存ボタンは無効。ファイルを直接編集して変更します。
  • キーの出所:environment — キーは ADAPTIVE_LEARNER_<PROVIDER>_API_KEY 環境変数で設定されています。保存無効。env var が情報源です。
  • キーが設定されていません — どこにも設定されていません。入力して保存します。

解決チェーン(優先度高い順):env > secrets.yaml > DB。 詳細は設定ドキュメントを参照してください。

ストレージモード

サーバーローカル(ブラウザ)ストレージの切り替え:

  • サーバー — すべての読み書きが FastAPI バックエンドを経由します。 実行中のバックエンドが必要です。バックエンド側同期による複数デバイスの使用に最適。
  • ローカル(ブラウザ) — すべての読み書きがこのブラウザの IndexedDB を使用します。 AI 呼び出しはプロバイダーに直接実行されます。バックエンド不要。 プライベートなデバイスローカル設定に最適。

切り替えると localStorage に保存され、「再読み込みが必要」の通知が表示されます。 モード間でデータは同期されません。

同期

QR コードスキャナー(背面カメラ)またはペアリング URL の貼り付けを使用して ローカルネットワーク経由でこのデバイスを別のデバイスとペアリングします。 ペアリング後、プッシュ + プルボタンで双方向のデータ交換ができます。 競合はバックエンドの AI マージリゾルバーで処理されます。

制限されたブラウザのフォールバック:他のデバイスの QR コードのスクリーンショットを アップロード(Html5Qrcode.scanFile)。

バックアップ

一つのセクションに三つの機能:エクスポート(タイムスタンプ付き JSON のダウンロード)、 インポート(ファイルから復元)、比較(現在の状態との並列 diff)。 API キーはすべてのエクスポートから除外されます。

復元はマージであり、上書きではありません。新しい行は挿入し、 変更可能な行は新しい updated_at で更新し、 履歴行(セッション・コミット・評価)は UUID で重複排除されます。 比較プレビューは「復元」をクリックする前にテーブルごとの追加・削除・変更を表示します。

ローカルモードでは、セクションに自動バックアップブロックも表示されます。 別の IndexedDB DB に 3 スナップショットのローリングリング、 10 セッションごとまたは 7 日ごと(どちらか先)に実行されます。

音声

3 つの切り替え(v1.18.0 以降):

  • TTS 有効 — AI 返信 + アセスメント結果の横に ▶ ボタンを追加して読み上げます。
  • AI 自動再生 — すべての AI 返信を自動的に読み上げます(デフォルト OFF)。
  • STT 有効 — セッション入力に 🎤 ボタンを追加して音声をキャプチャします。
  • 発音練習有効 — 言語タグのプロジェクトのダッシュボードから /pronunciation ページが表示されます。

ブラウザが Web Speech API をサポートしていない場合、音声セクションは非表示になります。

外観(Phase 58 / v1.41.0)

一般 > 外観テーマ選択は 6 つのテーマと自動モードを提供します:

  • ライト - デフォルト、明るくハイコントラスト。
  • ダーク - 低照度使用のための暗い画面。
  • オーシャン - 深いブルートーン、夜に目に優しい。
  • フォレスト - 温かみのあるグリーンとアンバーのアーシーなトーン。
  • ハイコントラスト - アクセシビリティ優先:黒、白、太字のシグナルカラー。 最大の可読性が必要な場合に使用してください。
  • セピア - 温かみのある紙のトーン、長時間の読み取りに快適。
  • 自動(システム) - OS のライト/ダーク設定に従い、システムが切り替えると自動的に変更。

プレビューカードからテーマを選択します。変更は再読み込みなしで即座に適用され、 選択はアクセス間で記憶されます。

インターフェース

ジェスチャー切り替え(v1.10.0 以降、タッチ対応デバイスではデフォルト ON)は アセスメントのスワイプナビゲーション、カリキュラムトピックのスワイプで表示、 セッションサイクルのピークを対象とします。ボタンツールチップと開発者モードもここにあります。

ゲーミフィケーション

XP・バッジ・レベルアップ通知の切り替え(オフにしてもシステムは状態を記録します)、 週末モード(ストリークヒートマップの土日ギャップをスキップ)、 毎日のセッション目標(1〜10)、および進捗リセット(ダブル確認。 user_xpuser_badgesuser_streaks 行を削除)。

About

5 つの読み取り専用ブロック:バージョンpyproject.toml の正規バージョン、 ビルドハッシュ、ビルド日)、システム(ストレージモード、データディレクトリ、 サーバーモードの DB パス、Python + プラットフォーム情報)、 クレジット(著者、依存関係への謝辞)、 開発をサポート(Liberapay / GitHub Sponsors / Ko-fi リンク)、 ライセンスとリソース(MIT リンク、リポジトリ、ドキュメント、イシュートラッカー)。

ローカルモードでは、実行中のバックエンドにのみ意味のある行が非表示になります (Python バージョン、FastAPI / SQLAlchemy / Pydantic / PluginForge バージョン、DB パス)。