診断ツール
Elftia には、問題のトラブルシューティング、ログの収集、キャッシュの管理、データベースの最適化に役立つ、組み込み診断ツール一式が用意されています。すべての診断機能は 設定 → システム ページにあります。
診断情報のエクスポート
診断情報をエクスポート
Elftia ランタイムから完全な診断情報を収集し、共有可能なファイルとしてパッケージ化します。
手順:
- 設定 → システム を開きます。
- 「診断とキャッシュ」エリアで 診断情報をエクスポート ボタンをクリックします。
- システムが情報の収集を開始します(ボタンには
Collecting...と表示されます)。 - 収集が完了したら、保存先を選択します。
含まれる情報:
| 内容 | 説明 |
|---|---|
| アプリバージョン | Elftia のバージョン、Electron のバージョン |
| オペレーティングシステム | OS の種類、バージョン、アーキテクチャ |
| ランタイム環境 | Node.js のバージョン、メモリ使用量、CPU 情報 |
| プロバイダー設定 | 設定済みプロバイダーの一覧と状態(API Keys は含まれません) |
| MCP サーバー | 設定済み MCP サーバーの一覧と接続状態 |
| アプリ設定 | 現在のアプリ設定(サニタイズ済み) |
| ランタイムログ | 直近のアプリ実行ログ |
| データベース状態 | データベースサイズ、テーブル統計 |
エクスポートされる診断情報はサニタイズされており、API Keys、パスワード、その他の機密情報は含まれません。診断ファイルは、テクニカルサポートやコミュニティに安全に共有できます。
エクスポート形式のオプション
診断情報は複数のエクスポート形式に対応しています。
| 形式 | 説明 | 推奨用途 |
|---|---|---|
| JSON | 単一の JSON ファイル | すばやい共有、オンラインでの閲覧 |
| ZIP | 完全な診断パッケージ | ログファイルと完全な情報を含み、詳細なトラブルシューティングに使用 |
診断ログをコピー
診断ログをクリップボードに直接コピーし、チャットや Issue フィードバックへすばやく貼り付けられます。
- 診断ログをコピー ボタンをクリックします。
- ログの内容がクリップボードにコピーされます。
- 必要な場所に貼り付けます。
診断ログを表示
診断情報のエクスポートまたは診断ログのコピー操作後、診断結果はページ下部のログエリアに緑色の等幅フォントで表示されます。ページ上で診断情報を直接表示し、確認できます。
キャッシュ管理
キャッシュをクリア
モデル一覧キャッシュ、検索キャッシュなど、Elftia のローカルキャッシュデータをクリアします。
手順:
- キャッシュをクリア ボタン(赤い危険操作ボタン)をクリックします。
- クリアが完了するまで待ちます(ボタンには
Clearing...と表示されます)。 - 完了後、ページにクリア結果が表示されます。
クリアされる内容:
- モデル一覧キャッシュ(次回使用時に再取得されます)
- Web 検索結果キャッシュ
- ファイル検索インデックスキャッシュ
- サムネイルキャッシュ
- API Key プールのランタイムキャッシュ
クリアされない内容:
- チャット履歴
- ユーザー設定
- API Keys とプロバイダー設定
- MCP サーバー設定
- テーマ設定
モデル一覧が更新されない、キャッシュデータが古いといった問題が発生した場合、通常はキャッシュをクリアすることで解決できます。キャッシュのクリアは、データや設定には影響しません。
添付ファイルを整理
どのメッセージにも関連付けられていない孤立した添付ファイルをクリーンアップし、ディスク容量を解放します。
手順:
- 添付ファイルを整理 ボタンをクリックします。
- システムがすべての添付ファイルをスキャンし、どのメッセージからも参照されていない孤立ファイルを特定します。
- 孤立ファイルを安全に削除します。
- クリア結果(削除されたファイル数と解放された容量)が表示されます。
この操作は、参照されていないことが確認された添付ファイルのみをクリーンアップします。通常のチャット内の添付ファイルには影響しません。
データベースメンテナンス
データベースサイズ
ページには現在の SQLite データベースファイルのサイズが表示されます。チャット履歴が増えるにつれて、データベースは徐々に大きくなります。
VACUUM 最適化
SQLite は、データ削除後にディスク容量を自動的には回収しません。VACUUM 操作はデータベースファイルを再構築し、削除済みデータが占有していた領域を回収します。
手順:
- データベースメンテナンスエリアで VACUUM ボタンをクリックします。
- 操作が完了するまで待ちます(ボタンは進行中の状態を表示します)。
- 完了後、最適化結果と新しいデータベースサイズが表示されます。
注意事項:
- VACUUM 操作では一時的にデータベースのコピーが作成されます。ディスクに十分な空き容量(データベースサイズの約 2 倍)があることを確認してください。
- 操作中はアプリケーションを閉じないでください。
- 大きなデータベースに対する VACUUM は、数秒から数十秒かかる場合があります。
推奨頻度:
- 通常使用: 月 1 回。
- チャットを一括削除した後: すぐに実行することを推奨します。
- データベースが異常に大きい場合: 削除済みだが未回収の領域が残っている可能性があります。VACUUM によってサイズを大幅に削減できる場合があります。
リソースのクリーンアップ
孤立リソースのクリーンアップ
安全にクリーンアップできる孤立リソースファイルの数と合計サイズを表示し、ワンクリックでクリーンアップできます。
手順:
- 「クリーンアップ可能な数」と「クリーンアップ可能なサイズ」を確認します。
- リソースをクリーンアップ ボタンをクリックしてクリーンアップを実行します。
- 完了後、結果が表示されます。
環境検出
設定 → 一般 → 環境 にあります。
環境検出では、開発ツールのインストール状態をシステム上でスキャンします。
| ツール | 検出方法 | 表示情報 |
|---|---|---|
| Node.js | node --version | バージョン、インストールパス |
| Git | git --version | バージョン、インストールパス |
| ripgrep | rg --version | バージョン、インストールパス |
| uv | uv --version | バージョン、インストールパス |
| uvx | uvx --version | バージョン、インストールパス |
各ツールにはステータスインジケーターがあります。
- 緑のドット(インストール済み): バージョンとインストールパスを表示します。
- 赤のドット(未インストール): 自動インストールに対応している場合は、「インストール」ボタンを表示します。
自動インストール
一部のツールは、Elftia 内で直接ワンクリックインストールできます。
- 未インストールのツールの横にある インストール ボタンをクリックします。
- ボタンが「Installing...」に変わり、インストールの進行状況が表示されます。
- インストール完了後、状態が自動的に更新されます。
現在自動インストールに対応しているツール: ripgrep、uv、uvx。
Node.js と Git は、公式 Web サイトから手動でダウンロードしてインストールする必要があります。
開発者モードの診断
開発者モードを有効にすると(設定 → バージョン情報 のバージョン番号を繰り返しクリック)、追加の診断機能を利用できます。
DevTools
開発者モードでは、設定 → バージョン情報 で Electron DevTools を開閉できます。
- Console: 詳細なエラーメッセージやデバッグログを含む、アプリの JavaScript ログを表示します。
- Network: 詳細な LLM API 呼び出しのリクエストとレスポンスを含む、すべてのネットワークリクエストを表示します。
- Elements: DOM 構造を検査して UI の問題を特定します。
DevTools を使ったデバッグ
- 開発者モードを有効にします。
- バージョン情報ページで DevTools を開く ボタンをクリックします。
- DevTools ウィンドウが開いたら、Console タブに切り替えます。
- ログ出力を確認します。エラーメッセージは通常、赤色で表示されます。
- ネットワークの問題については、Network タブに切り替えて失敗したリクエストを確認します。
コミュニティやテクニカルサポートに問題を報告する際は、診断エクスポートファイルに加えて、DevTools Console のエラーログも非常に有用なトラブルシューティング情報です。Console 内のログを右クリックし、「Save as」を選択すると、完全なログを保存できます。
その他の診断機能
添付ファイルのメトリクス
システムタブで添付ファイル関連の統計を確認できます。
- 添付ファイルの総数
- 添付ファイルが占有しているディスク容量
- 孤立した添付ファイルの数とサイズ
キャッシュメトリクス
各種キャッシュのサイズとヒット率を確認できます。
- ファイル検索キャッシュ
- モデル一覧キャッシュ
- サムネイルキャッシュ
- ファイルツリーキャッシュ
ランタイム予算
リソース使用量のランタイム予算の概要を表示し、アプリケーションのリソース消費を把握できます。
データベースページネーションメトリクス
データベースのページネーションクエリに関するパフォーマンスメトリクスを表示し、データベース関連のパフォーマンス問題を診断できます。
診断トラブルシューティングの流れ
問題が発生した場合は、次の順序でトラブルシューティングすることを推奨します。
- 情報を収集: 診断情報をエクスポートをクリックして診断情報をエクスポートします。
- ログを確認: 診断ログ内でエラーメッセージを検索します。
- 環境を確認: 環境ツールのインストール状態を確認します。
- キャッシュをクリア: キャッシュをクリアを実行して、古くなっている可能性のあるキャッシュを削除します。
- データベースを最適化: VACUUM を実行してデータベースを最適化します。
- アプリを再起動: Elftia を再起動し、問題が解決したかをテストします。
- DevTools を有効化: 上記の手順で解決しない場合は、開発者モードを有効にし、DevTools を使用して詳細にデバッグします。
診断ツールで具体的なエラーメッセージが確認できた場合は、よくある問題 または 接続エラー を参照して、対応する解決策を探してください。