この機能は ayaka-notes/ayakaleaf-pro によって提供され、v6.3.0 から利用できます。問題が発生した場合は、ぜひフィードバックをお寄せください。
AI アシスタントと LaTeX エラーアシスタント
Ayakaleaf Pro は、2 つの方法で AI 機能をエディターに組み込みます。- AI アシスタントは、プロジェクトのドキュメントと現在の選択範囲をコンテキストとして使用し、質問に回答したり、レビュー用の編集案を提示したりします。
- エラーアシスタントは、LaTeX のコンパイルエラーを選択すると、それに的を絞った修正案を提示します。

Toolkit の設定
Toolkit デプロイのconfig/variables.env に以下を追加し、例の URL、キー、モデルをプロバイダーの値に置き換えてください。
AI による提案の品質は、選択したモデルによって異なります。すでに Codex または ChatGPT のサブスクリプションをお持ちの場合は、CLIProxyAPI の OpenAI 互換エンドポイント経由で接続できます。
AI_BASE_URL は OpenAI 互換 API のベース URL で、必要に応じてプロバイダーのバージョンプレフィックスを含めます。/chat/completions は内部で付加されるため、末尾に追加しないでください。ゲートウェイとモデルは、ストリーミング形式のチャット補完と関数ツールをサポートしている必要があります。どちらの機能もドキュメントのコンテキストをこのゲートウェイに送信します。画像対応モデルを使用している場合、チャットではアップロードされた画像も送信されることがあります。
Toolkit は config/variables.env をアプリケーションコンテナに渡します。ここに示した変数名をそのまま使用し、OVERLEAF_ プレフィックスは付けないでください。これらの変数を変更した後は、Toolkit ディレクトリからアプリケーションコンテナを再作成します。
ゲートウェイの設定
画像のアップロードを利用するには、画像入力を受け付け、チャットで使用されるツールをサポートするモデルを
AI_IMAGE_MODEL に設定します。履歴に画像の添付を含むチャットリクエストは、その会話の後続メッセージも含めてすべてこのモデルを使用します。この設定がない場合、画像を含むリクエストには通常のチャットモデルが使用されるため、そのモデル自体が画像をサポートしている必要があります。LaTeX エラー提案は引き続き AI_MODEL を使用します。
たとえば、画像モデルと週単位の AI 使用量の上限を有効にするには次のようにします。
ユーザーアクセスと同意
インスタンスでの利用可否とユーザーの権限は別々に管理されます。インスタンスでの利用可否はAI_ENABLED とゲートウェイの設定によって制御されます。さらに、サインインしたユーザーは既存のアカウントチェックにも合格する必要があります。
aiFeatures.enabledがfalseであってはなりません。この既存のデータベースフィールドは、チャットと LaTeX エラー提案の両方を制御します。- ユーザーの有効な
features.aiUsageQuotaが設定された無制限ティア(デフォルトはunlimited)と一致しているか、既存のレガシー権限features.aiErrorAssistantが有効になっている必要があります。有効な機能には、該当するアカウント機能のオーバーライドも含まれます。
aiUsageQuota フィールドは権限ティアであり、数値によるトークン許容量ではありません。AI_TOKEN_QUOTA は許可されたすべてのユーザーに等しく適用される別の上限です。現在のモジュールでは、アカウントごとに個別の数値上限を設定することはできません。
管理者のユーザー一覧でユーザーを選択し、Update account info → AI features を開きます。Enable AI features は、アカウントの変更を保存したときに aiFeatures.enabled を更新します。サーバーは、すでに開いているエディターからのリクエストを含め、新しい AI リクエストごとに現在の権限をチェックします。権限を変更した後は、エディターを再読み込みして表示されるコントロールを更新してください。
使用量とリセット
管理画面の AI features タブには、現在の期間の Usage、Limit、Reset ボタンが 1 行に表示されます。使用量はタブを開いたときに読み込まれ、継続的には更新されません。チャットやエラー提案が完了した後に最新の数値を確認するには、タブを開き直してください。リセットは即座に反映され、そのユーザーの現在の期間のカウンターのみがクリアされ、表示中の使用量が再読み込みされます。アカウントフォームの他の項目を保存する必要はありません。
AI_TOKEN_QUOTA を使用します。エラー提案にはリクエスト回数に基づく個別の上限はありません。カウンターをリセットしても、権限、同意、設定された上限、プロバイダー側の請求記録は変更されません。カウンターは UTC の期間キーを使用し、40 日後に失効します。Redis のデータを保持しておけば、アプリケーションを再起動しても現在の使用量は維持されます。
任意の検索サービス
Web 検索には Tavily 互換の API を使用します。検索 API キーが設定されている場合に利用できます。これらの設定は AI ゲートウェイとは独立しています。
例:
searchDocumentation ツールを呼び出し、JSON または SSE のレスポンスを受け付けます。これはドキュメント検索用の MCP クライアントです。これらのモジュールは、プロジェクトファイルを MCP サーバーとして公開したり、汎用の MCP サーバーレジストリを提供したりするものではありません。
検索クエリは設定された検索サービスに送信されます。その後、検索結果が AI ゲートウェイへのリクエストに含まれることがあります。チャットの Tools メニューでは、ユーザーが自分のリクエストに対して Web と Documentation を有効または無効にできます。モデルがツールを利用するには、サーバー側でもそのツールが設定されている必要があります。
