メインコンテンツまでスキップ

診断ツール

Elftia には、問題のトラブルシューティング、ログの収集、キャッシュの管理、データベースの最適化に役立つ、組み込み診断ツール一式が用意されています。すべての診断機能は 設定 → システム ページにあります。

診断情報のエクスポート

診断情報をエクスポート

Elftia ランタイムから完全な診断情報を収集し、共有可能なファイルとしてパッケージ化します。

手順:

  1. 設定 → システム を開きます。
  2. 「診断とキャッシュ」エリアで 診断情報をエクスポート ボタンをクリックします。
  3. システムが情報の収集を開始します(ボタンには Collecting... と表示されます)。
  4. 収集が完了したら、保存先を選択します。

含まれる情報:

内容説明
アプリバージョンElftia のバージョン、Electron のバージョン
オペレーティングシステムOS の種類、バージョン、アーキテクチャ
ランタイム環境Node.js のバージョン、メモリ使用量、CPU 情報
プロバイダー設定設定済みプロバイダーの一覧と状態(API Keys は含まれません)
MCP サーバー設定済み MCP サーバーの一覧と接続状態
アプリ設定現在のアプリ設定(サニタイズ済み)
ランタイムログ直近のアプリ実行ログ
データベース状態データベースサイズ、テーブル統計
備考

エクスポートされる診断情報はサニタイズされており、API Keys、パスワード、その他の機密情報は含まれません。診断ファイルは、テクニカルサポートやコミュニティに安全に共有できます。

エクスポート形式のオプション

診断情報は複数のエクスポート形式に対応しています。

形式説明推奨用途
JSON単一の JSON ファイルすばやい共有、オンラインでの閲覧
ZIP完全な診断パッケージログファイルと完全な情報を含み、詳細なトラブルシューティングに使用

診断ログをコピー

診断ログをクリップボードに直接コピーし、チャットや Issue フィードバックへすばやく貼り付けられます。

  1. 診断ログをコピー ボタンをクリックします。
  2. ログの内容がクリップボードにコピーされます。
  3. 必要な場所に貼り付けます。

診断ログを表示

診断情報のエクスポートまたは診断ログのコピー操作後、診断結果はページ下部のログエリアに緑色の等幅フォントで表示されます。ページ上で診断情報を直接表示し、確認できます。

キャッシュ管理

キャッシュをクリア

モデル一覧キャッシュ、検索キャッシュなど、Elftia のローカルキャッシュデータをクリアします。

手順:

  1. キャッシュをクリア ボタン(赤い危険操作ボタン)をクリックします。
  2. クリアが完了するまで待ちます(ボタンには Clearing... と表示されます)。
  3. 完了後、ページにクリア結果が表示されます。

クリアされる内容:

  • モデル一覧キャッシュ(次回使用時に再取得されます)
  • Web 検索結果キャッシュ
  • ファイル検索インデックスキャッシュ
  • サムネイルキャッシュ
  • API Key プールのランタイムキャッシュ

クリアされない内容:

  • チャット履歴
  • ユーザー設定
  • API Keys とプロバイダー設定
  • MCP サーバー設定
  • テーマ設定
ヒント

モデル一覧が更新されない、キャッシュデータが古いといった問題が発生した場合、通常はキャッシュをクリアすることで解決できます。キャッシュのクリアは、データや設定には影響しません。

添付ファイルを整理

どのメッセージにも関連付けられていない孤立した添付ファイルをクリーンアップし、ディスク容量を解放します。

手順:

  1. 添付ファイルを整理 ボタンをクリックします。
  2. システムがすべての添付ファイルをスキャンし、どのメッセージからも参照されていない孤立ファイルを特定します。
  3. 孤立ファイルを安全に削除します。
  4. クリア結果(削除されたファイル数と解放された容量)が表示されます。
備考

この操作は、参照されていないことが確認された添付ファイルのみをクリーンアップします。通常のチャット内の添付ファイルには影響しません。

データベースメンテナンス

データベースサイズ

ページには現在の SQLite データベースファイルのサイズが表示されます。チャット履歴が増えるにつれて、データベースは徐々に大きくなります。

VACUUM 最適化

SQLite は、データ削除後にディスク容量を自動的には回収しません。VACUUM 操作はデータベースファイルを再構築し、削除済みデータが占有していた領域を回収します。

手順:

  1. データベースメンテナンスエリアで VACUUM ボタンをクリックします。
  2. 操作が完了するまで待ちます(ボタンは進行中の状態を表示します)。
  3. 完了後、最適化結果と新しいデータベースサイズが表示されます。

注意事項:

  • VACUUM 操作では一時的にデータベースのコピーが作成されます。ディスクに十分な空き容量(データベースサイズの約 2 倍)があることを確認してください。
  • 操作中はアプリケーションを閉じないでください。
  • 大きなデータベースに対する VACUUM は、数秒から数十秒かかる場合があります。

推奨頻度:

  • 通常使用: 月 1 回。
  • チャットを一括削除した後: すぐに実行することを推奨します。
  • データベースが異常に大きい場合: 削除済みだが未回収の領域が残っている可能性があります。VACUUM によってサイズを大幅に削減できる場合があります。

リソースのクリーンアップ

孤立リソースのクリーンアップ

安全にクリーンアップできる孤立リソースファイルの数と合計サイズを表示し、ワンクリックでクリーンアップできます。

手順:

  1. 「クリーンアップ可能な数」と「クリーンアップ可能なサイズ」を確認します。
  2. リソースをクリーンアップ ボタンをクリックしてクリーンアップを実行します。
  3. 完了後、結果が表示されます。

環境検出

設定 → 一般 → 環境 にあります。

環境検出では、開発ツールのインストール状態をシステム上でスキャンします。

ツール検出方法表示情報
Node.jsnode --versionバージョン、インストールパス
Gitgit --versionバージョン、インストールパス
ripgreprg --versionバージョン、インストールパス
uvuv --versionバージョン、インストールパス
uvxuvx --versionバージョン、インストールパス

各ツールにはステータスインジケーターがあります。

  • 緑のドット(インストール済み): バージョンとインストールパスを表示します。
  • 赤のドット(未インストール): 自動インストールに対応している場合は、「インストール」ボタンを表示します。

自動インストール

一部のツールは、Elftia 内で直接ワンクリックインストールできます。

  1. 未インストールのツールの横にある インストール ボタンをクリックします。
  2. ボタンが「Installing...」に変わり、インストールの進行状況が表示されます。
  3. インストール完了後、状態が自動的に更新されます。

現在自動インストールに対応しているツール: ripgrep、uv、uvx。

Node.js と Git は、公式 Web サイトから手動でダウンロードしてインストールする必要があります。

開発者モードの診断

開発者モードを有効にすると(設定 → バージョン情報 のバージョン番号を繰り返しクリック)、追加の診断機能を利用できます。

DevTools

開発者モードでは、設定 → バージョン情報 で Electron DevTools を開閉できます。

  • Console: 詳細なエラーメッセージやデバッグログを含む、アプリの JavaScript ログを表示します。
  • Network: 詳細な LLM API 呼び出しのリクエストとレスポンスを含む、すべてのネットワークリクエストを表示します。
  • Elements: DOM 構造を検査して UI の問題を特定します。

DevTools を使ったデバッグ

  1. 開発者モードを有効にします。
  2. バージョン情報ページで DevTools を開く ボタンをクリックします。
  3. DevTools ウィンドウが開いたら、Console タブに切り替えます。
  4. ログ出力を確認します。エラーメッセージは通常、赤色で表示されます。
  5. ネットワークの問題については、Network タブに切り替えて失敗したリクエストを確認します。
ヒント

コミュニティやテクニカルサポートに問題を報告する際は、診断エクスポートファイルに加えて、DevTools Console のエラーログも非常に有用なトラブルシューティング情報です。Console 内のログを右クリックし、「Save as」を選択すると、完全なログを保存できます。

その他の診断機能

添付ファイルのメトリクス

システムタブで添付ファイル関連の統計を確認できます。

  • 添付ファイルの総数
  • 添付ファイルが占有しているディスク容量
  • 孤立した添付ファイルの数とサイズ

キャッシュメトリクス

各種キャッシュのサイズとヒット率を確認できます。

  • ファイル検索キャッシュ
  • モデル一覧キャッシュ
  • サムネイルキャッシュ
  • ファイルツリーキャッシュ

ランタイム予算

リソース使用量のランタイム予算の概要を表示し、アプリケーションのリソース消費を把握できます。

データベースページネーションメトリクス

データベースのページネーションクエリに関するパフォーマンスメトリクスを表示し、データベース関連のパフォーマンス問題を診断できます。

診断トラブルシューティングの流れ

問題が発生した場合は、次の順序でトラブルシューティングすることを推奨します。

  1. 情報を収集: 診断情報をエクスポートをクリックして診断情報をエクスポートします。
  2. ログを確認: 診断ログ内でエラーメッセージを検索します。
  3. 環境を確認: 環境ツールのインストール状態を確認します。
  4. キャッシュをクリア: キャッシュをクリアを実行して、古くなっている可能性のあるキャッシュを削除します。
  5. データベースを最適化: VACUUM を実行してデータベースを最適化します。
  6. アプリを再起動: Elftia を再起動し、問題が解決したかをテストします。
  7. DevTools を有効化: 上記の手順で解決しない場合は、開発者モードを有効にし、DevTools を使用して詳細にデバッグします。

診断ツールで具体的なエラーメッセージが確認できた場合は、よくある問題 または 接続エラー を参照して、対応する解決策を探してください。