# ExaTerm ExaTermはAIアシスタントとMCP連携に対応した、SSH/Telnet/シリアル通信用のWindowsターミナルアプリです。 ![window image](docs/images/window.png) ## 機能 - SSH、Telnet、シリアル通信 - MCPサーバー機能(外部AIクライアント連携) - OpenAI、Gemini、Anthropic、OpenRouter、Ollama、Azure OpenAIに対応したAIアシスタント - ログ機能(手動/自動選択可能) - ネットワーク機器向け色分け機能(Cisco IOS対応) ## 対応OS ExaTermは現在Windowsのみ対応しています。 macOSとLinuxは、現時点ではリリース対象としてサポートしていません。 ## インストール 1. ExaTermのReleasesページを開きます。 2. インストールしたいバージョンのexeインストーラーをダウンロードします。 3. exeインストーラーを実行します。 4. スタートメニュー、またはインストールされたアプリケーションのショートカットからExaTermを起動します。 ExaTermには自動更新機能はありません。更新する場合は、Releasesページから新しいexeインストーラーをダウンロードして実行してください。 ## 初回起動 初回起動時、ExaTermは次の場所に設定ディレクトリを作成します。 ```text %AppData%\ExaTerm ``` 既定の設定では、ターミナルセッションログは作成されません。セッションログは、設定で自動セッションログを有効にした後にのみ開始されます。 ## プライバシーとローカル保存 ExaTermはユーザーデータをWindows上にローカル保存します。 | データ | 保存場所 | | -------------------- | ------------------------------- | | 設定 | `%AppData%\ExaTerm\config.json` | | 任意のセッションログ | `%AppData%\ExaTerm\logs` | | SSH known hosts | `%AppData%\ExaTerm\known_hosts` | | クラウドAIのAPIキー | OSの資格情報ストア | クラウドAIプロバイダーのAPIキーは`config.json`には保存されません。OSの資格情報ストアに保存されます。 ## セッションログ セッションログは既定では無効です。新規インストール直後は、設定で自動セッションログを明示的に有効にしない限り、ターミナルセッションログは作成されません。 自動セッションログを有効にすると、ExaTermはSSH、Telnet、シリアルターミナルの入力と出力を平文のログファイルとして記録します。これらのログには、コマンド、コマンド出力、プロンプト、ホスト名、ユーザー名、デバイス出力、その他の機密性の高いターミナル内容が含まれる可能性があります。 ログは次の場所に保存されます。 ```text %AppData%\ExaTerm\logs ``` 同じ場所はログ画面にも表示されます。保存済みログを削除する場合は、ExaTermを終了してから、そのフォルダ内のファイルを削除してください。 ## AIアシスタント AIアシスタントは、アクティブなタブのターミナル内容を参照して、出力の説明やコマンド候補の提示を支援できます。提示されたコマンドは、ターミナルで実行する前に必ず内容を確認してください。 OpenAI、Azure OpenAI、Anthropic、Gemini、OpenRouterを使用するには、各プロバイダーのAPIキーまたはエンドポイント設定が必要です。認証情報の保存や削除は設定から行います。 Ollamaは通常APIキーを必要としませんが、ExaTermから到達できるOllamaサーバーが起動している必要があります。 ## MCP連携 ExaTermは、外部AIクライアント向けのローカルMCPサーバーを任意で起動できます。MCPアクセスは、設定で有効にしない限り無効です。 有効化すると、MCPクライアントは表示中のExaTermターミナルセッションに対して、最近の出力の読み取り、入力送信、出力待機、実行結果を取得するコマンド実行を行えます。また、保存済みSSH/Telnetプロファイルやシリアルコンソールを、表示されるExaTermタブとして開くこともできます。SSHの認証情報はExaTermのUIでのみ入力します。 MCPアクセスは、信頼できるクライアントに対してのみ有効にしてください。ターミナル出力、コマンド、プロンプト、ホスト名、ユーザー名、デバイス出力には機密情報が含まれる可能性があります。 ## ターミナル CLI `exaterm-cli.exe` を使用すると、MCP クライアントを用意せずにローカルスクリプトや AI エージェントから JSON ベースでターミナルを操作できます。詳細は [ターミナル CLI ガイド](docs/CLI_GUIDE.ja.md)を参照してください。 ### Agent Skill 対応するコーディングエージェントから利用するには、このリポジトリの `exaterm-cli` Agent Skillをインストールします。 ```powershell npx skills add caribouHY/exaterm --skill exaterm-cli ``` 対象を限定する場合は、`-a codex`、`-a claude-code`、または `-a github-copilot`を指定します。 ```powershell npx skills add caribouHY/exaterm --skill exaterm-cli -a codex npx skills add caribouHY/exaterm --skill exaterm-cli -a claude-code npx skills add caribouHY/exaterm --skill exaterm-cli -a github-copilot ``` SkillにExaTerm本体は含まれません。ExaTermを別途インストールし、 `exaterm-cli.exe`を利用可能にしたうえで、`mcp.enabled`と`mcp.cli_enabled`を 有効にしてください。 ## よくある復旧手順 ExaTermが起動しない場合は、最新のexeインストーラーで再インストールしてから、もう一度起動してください。 設定が壊れているように見える場合は、ExaTermを終了して次のファイルを確認してください。 ```text %AppData%\ExaTerm\config.json ``` `config.json`の名前を変更するか削除すると、次回起動時にExaTermが既定の設定を再作成します。 AIリクエストが失敗する場合は、選択中のプロバイダーが利用可能か、APIキーが設定に保存されているか、ネットワークからプロバイダーへ到達できるかを確認してください。Ollamaの場合は、Ollamaサーバーが起動しており、設定されたベースURLが正しいことを確認してください。 セッションログが見つからない場合は、新しいSSH、Telnet、またはシリアルセッションを開始する前に自動セッションログが有効になっていることを確認してください。ログが無効な状態で開始されたセッションについて、ExaTermが後からログを作成することはありません。 手動設定の詳細は次を参照してください。 - [設定ガイド](docs/CONFIG_JSON_GUIDE.ja.md) - [ターミナル CLI ガイド](docs/CLI_GUIDE.ja.md) ## 開発者向けセットアップ 開発者向けセットアップにはRustとNode.jsが必要です。 1. リポジトリをクローンします。 2. pnpmをインストールします。 ```powershell npm install -g pnpm@10.33.2 ``` 3. 依存関係をインストールします。 ```powershell pnpm install ``` 4. Tauri開発版アプリを起動します。 ```powershell pnpm run tauri dev ``` 5. フロントエンドをビルドします。 ```powershell pnpm run build ``` 6. Windows向けexeパッケージをビルドします。 ```powershell pnpm run tauri build ``` ## ライセンス ExaTermはMIT Licenseの下で公開されています。詳細は[LICENSE](LICENSE)を参照してください。