設定¶
設定ページは、コードや YAML を変更せずに調整できるすべての項目を まとめています。セクションは上から下へ:
- 言語 - UI 言語(DE / EN / ES / FR / EL / PT / TR / JA、すべて完全翻訳済み)
- AI プロバイダー + モデル選択 - どのプロバイダーがメッセージを受け取るか、使用するモデル
- API キー - プロバイダーごとのキーとソース属性(env /
secrets.yaml/ 設定) - ストレージモード - サーバー(FastAPI + SQLite)vs ローカル(ブラウザ IndexedDB)
- 同期 - ローカルネットワーク経由で別のデバイスとペアリング
- バックアップ - エクスポート・インポート・比較
- 音声 - TTS + STT + 発音切り替え
- インターフェース - テーマ + 密度
- 学習 - 5 つのエリア:基本、レッスン中、読み上げと音声入力、レッスン後、モチベーションと習慣
- ゲーミフィケーション - XP・バッジ通知 + 週末モード
- About - バージョン、システム情報、クレジット、寄付、ライセンス
言語¶
次のレンダリング時に PATCH /api/settings/{user_id} 経由で
すべての UI 文字列をライブスワップします。8 言語すべてがファーストクラス -
DE / EN / ES / FR / EL / PT / TR / JA - それぞれ完全に翻訳されたカタログ付き。
localStorage で再読み込みをまたいで保持されます。
AI プロバイダー + モデル選択¶
プロバイダードロップダウンは active_provider を UserSettings に書き込みます。
次の AI 呼び出しは新しいプロバイダーのプラグイン(サーバーモード)または
新しいプロバイダーの HTTP クライアント(ローカルモード)を経由します。
モデル選択は検索可能なドロップダウンで、
推奨 / すべてでグループ化され、各プロバイダーのライブ /v1/models
エンドポイント(1 時間キャッシュ)から生成されます。
各行に人間が読める名前 + 生の ID + コンテキストウィンドウバッジが表示されます。
検出されたリストが利用できない場合(API キーなし、ネットワークなし)、
選択は静的デフォルトにフォールバックし「オフラインデフォルトを使用中」
ヒントを表示します。セッションヘッダーは <プロバイダー>: <モデル名> を表示します。
API キー¶
各プロバイダーに独自の行があります。キー入力、保存ボタン、削除ボタン、 アクティブプロバイダーバッジ、および新しいソース属性バッジ:
- キーの出所:設定 - キーは 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 日ごと(どちらか先)に実行されます。
整理¶
データのライフサイクルに関する 2 つの設定は、データタブの、それらが 関係するストレージのすぐ隣にあります:
- レッスンの最大サイズ(オフラインキャッシュのすぐ下):長いチャット 分析をオフラインレッスンとして保存するとき、このステップ数を超える レッスンは複数のパートに分割されます。パートあたりのステップ数は 5 から 20 まで。デフォルトは 10 です。
- 一時停止中のレッスンの保持期間(未接続のコンテンツのクリーンアップの すぐ上。これは片付けるものがあるときだけ表示されます):この期間より古い 一時停止中のレッスンは、次回ダッシュボードを読み込んだときに自動的に 放棄されます。7、14、30、60 日、または無期限を選べます。デフォルトは 30 日です。最大 10 件の一時停止中のレッスンは、経過日数に関係なく 保持されます。
どちらの値もこのブラウザに保存され、サーバーモードとローカルモードの両方に 適用されます。
音声¶
3 つの切り替え:
- TTS 有効 - AI 返信 + アセスメント結果の横に ▶ ボタンを追加して読み上げます。
- AI 自動再生 - すべての AI 返信を自動的に読み上げます(デフォルト OFF)。
- STT 有効 - セッション入力に 🎤 ボタンを追加して音声をキャプチャします。
- 発音練習有効 - 言語タグのプロジェクトのダッシュボードから
/pronunciationページが表示されます。
ブラウザが Web Speech API をサポートしていない場合、音声セクションは非表示になります。
外観¶
一般 > 外観 のテーマ選択は 6 つのテーマと自動モードを提供します:
- ライト - デフォルト、明るくハイコントラスト。
- ダーク - 低照度使用のための暗い画面。
- オーシャン - 深いブルートーン、夜に目に優しい。
- フォレスト - 温かみのあるグリーンとアンバーのアーシーなトーン。
- ハイコントラスト - アクセシビリティ優先:黒、白、太字のシグナルカラー。 最大の可読性が必要な場合に使用してください。
- セピア - 温かみのある紙のトーン、長時間の読み取りに快適。
- 自動(システム) - OS のライト/ダーク設定に従い、システムが切り替えると自動的に変更。
プレビューカードからテーマを選択します。変更は再読み込みなしで即座に適用され、 選択はアクセス間で記憶されます。
インターフェース¶
2 つの設定があります。ボタンのツールチップ(アイコンボタンにマウスを 重ねたときのツールチップ。スクリーンリーダー用のラベルは常に有効)と メニューの位置(モバイル)(上にメニューボタンとして表示するのが デフォルト、または下に親指の届くタブバーとして表示)。スワイプジェスチャーは レッスンの設定で、学習 > レッスン中 > 操作にあります。
開発者モード(診断とサポートタブ)のデフォルトはビルド系統によって 異なります。Latest(プレビュー)系統ではデフォルト ON、Main では OFF です。プレビューのテスターは完全な技術的エラー詳細を確認でき、本番の ユーザーにはわかりやすいメッセージが表示されます。いつでも切り替えられます。
学習¶
学習タブは、カードをレッスンの進行順に 5 つのラベル付きエリアに まとめています。各エリアには小さな見出しと 1 行の説明があり、 中のカードはそれぞれのタイトルを保ちます。
基本¶
誰が、どの言語で学ぶか。
- 学習プロファイル - 6 つのメソッドの重み付けの元になる学習プロファイルを 作成、続行、またはやり直します。
- 追加の出発言語 - アプリの言語に加えて、コンテンツツリーに表示する 出発言語。
レッスン中¶
回答中の練習問題の動作。
- レッスンモード - 既定のモード(練習 / 試験 / タイム制)、試験の 合格基準、タイム制モードの難易度(はやい、ふつう、ゆったり)。 レッスンと復習を参照してください。
- ヒント - 各練習問題に段階的なヒントボタンを表示するかどうか、および ヒントごとの XP コスト(0 なら無料)。
- 操作 - スワイプジェスチャー(アセスメント、セッション、 カリキュラムでスワイプして移動。タッチ対応デバイスではデフォルト ON)、 レッスンのキーボードショートカット(Enter で回答をチェック、もう一度 Enter で次へ)、正解したら自動で次へ進む、および AIに質問ボタンを 表示するかどうか。
- 優先する練習の方向 - 方向のある練習問題をどちらの方向で開くか。
- 解答アニメーション - マッチング問題を解いたときに再生される効果。
読み上げと音声入力¶
音声、速度、マイク、発音練習。
- 音声 - 上の音声で説明した切り替え:読み上げ、自動再生、音声入力、 発音練習。
このエリアは、ブラウザが Web Speech API の少なくとも一方(合成または認識)を サポートしている場合にのみ表示されます。それ以外の場合は見出しごと表示されず、 レッスン後がレッスン中の直後に続きます。
レッスン後¶
復習セッション、レッスンのまとめ、間違いのやり直し。
- 復習 - 自動生成される間違いの解説と、復習セッションあたりの問題数。 カードの最後には読み取り専用の間隔反復ブロックがあります:間隔の スケジュール(連続正解数と次の復習までの日数)、項目が習得済みとみなされる 時期、学習メソッドへのリンク。
- レッスン後のまとめ - レッスン終了時のまとめに表示するセクションと その順序。
- 間違いをやり直す - やり直しラウンドが拾う間違いの範囲。
モチベーションと習慣¶
ゲームモード、フィードバック、デイリーミッション、リマインダー。
- ゲームモード - 遊び心のあるレッスン。マスコットのバリエーション、 レベルやバッジで解放されるか XP と交換できる Lernfunke のカラースキーム (ロックされたバリエーションは条件を表示し、購入は 2 段階の確認を求めます) を含みます。ゲームモードで何が変わるかの詳細は 称賛とお祝いを参照してください。
- フィードバック - フィードバックの強さとサウンド(音量、テストボタン)。
- デイリーミッション - ミッションを有効にするか、1 日あたりの数、 難易度の組み合わせ、今日のミッションのシャッフル。
- リマインダー - リマインダーの時刻と適用する曜日。
ゲームモードのカードには、メインスイッチ、ゲームモードのサウンド、 オンになっているエクストラの数を示すステータス行が表示されます。 ゲームモードの詳細(ハート、カウントダウン、アーケード、スペシャルラウンド、 チケット、ボーナスレッスン、連続XP、マスコット)は折りたたまれていて、 選択を記憶します。遊び心のあるレッスンがオフの間、中のオプションは グレー表示になります。
タブはゲーミフィケーションで終わります(進捗リセットを含むため、区切り線の下に置かれています)。2 つの整理設定 - 一時停止中のレッスンの 保持期間とレッスンの最大サイズ - はデータのライフサイクルに関する設定で、 データタブにあります(バックアップの下の整理を参照)。
コンテンツの表示(リスト / グリッド)とコンテンツタブの順序は、 一般タブの外観にあります。
ゲーミフィケーション¶
XP・バッジ・レベルアップ通知の切り替え(オフにしてもシステムは状態を記録します)、
週末モード(ストリークヒートマップの土日ギャップをスキップ)、
毎日のセッション目標(1〜10)、および進捗リセット(ダブル確認。
user_xp・user_badges・user_streaks 行を削除)。
About¶
5 つの読み取り専用ブロック:バージョン(pyproject.toml の正規バージョン、
ビルドハッシュ、ビルド日)、システム(ストレージモード、データディレクトリ、
サーバーモードの DB パス、Python + プラットフォーム情報)、
クレジット(著者、依存関係への謝辞)、
開発をサポート(Liberapay / GitHub Sponsors / Ko-fi リンク)、
ライセンスとリソース(MIT リンク、リポジトリ、ドキュメント、イシュートラッカー)。
ローカルモードでは、実行中のバックエンドにのみ意味のある行が非表示になります (Python バージョン、FastAPI / SQLAlchemy / Pydantic / PluginForge バージョン、DB パス)。