diff --git a/README_J.md b/README_J.md
new file mode 100644
index 00000000..dfdd690c
--- /dev/null
+++ b/README_J.md
@@ -0,0 +1,156 @@
+# AI Shell
+
+**AI Shell** リポジトリへようこそ!AI Shellは、人工知能のパワーをコマンドラインに直接もたらすCLIツールです!さまざまなAIアシスタントからコマンドのサポートを受けられるよう設計されており、コマンドラインでの生産性を向上させる多用途ツールです。私たちはこれらの様々なAIアシスタントプロバイダーを_エージェント_と呼んでいます。エージェントを使用して、さまざまな生成AIモデルや他のAI/ML/アシスタントプロバイダーと会話形式でやり取りできます。このリポジトリには、AI Shellエンジン、エージェント、独自のエージェントを作成する方法の詳細が含まれています。
+
+このプロジェクトは以前**Project Mercury**として知られていたかもしれません。これは、AI Shellブランドを作成する前に使用されていたコードネームです。現在、新しいブランドへの移行プロセス中です。コードネームはまだ一部の場所で使用されているかもしれませんが、製品名は現在AI Shellです。
+
+このプロジェクトは現在非常に初期の**パブリックプレビュー**段階にあります。このツールのユーザーエクスペリエンスを実験・洗練していく中で、コードに多くの重要な変更が加えられることが予想されます。開発を続ける中で、皆様のフィードバックと忍耐に感謝します。
+
+## AI Shellを初めて使用される方へ
+
+AI Shellの詳細については、AI Shellドキュメントの[概要][19]ページをご確認ください。
+
+### 使用方法
+
+AI Shellを使用する方法には、スタンドアロンとPowerShell 7との統合された並行体験の2つのモードがあります。詳細については、以下をご参照ください:
+- [PowerShellでのAI Shellの使用開始][15]
+- [AI Shell(スタンドアロン)の使用開始][16]
+
+### PowerShellでのAI Shell
+
+![PowerShellでのAI Shellデモを示すGIF][21]
+
+### スタンドアロン体験
+
+![AI Shellスタンドアロンデモを示すGIF][20]
+
+## AI Shellの入手
+
+AI ShellはWindows、MacOSおよびLinuxでサポートされていますが、最高の体験を得るにはWindows、[PowerShell 7][11]および[Windows Terminal][14]の使用をお勧めします。詳細については、[AI Shellのインストール][13]をご参照ください。
+
+## AI Shellのローカルビルド
+
+AI Shellをビルドするための前提条件:
+
+- ビルドスクリプトには[PowerShell v7.4][18]以降のバージョンが必要です
+- プロジェクトのビルドには[.NET SDK 8][09]が必要です
+
+以下がインストールと使用の手順です。
+
+1. このリポジトリをクローンします:`git clone https://github.com/PowerShell/AIShell`
+2. `import-module ./build.psm1`を実行して`build.psm1`モジュールをインポートします
+3. `Start-Build`コマンドを実行します(`-AgentsToInclude`パラメータでビルドするエージェントを指定できます)
+4. ビルドが完了すると、リポジトリのルートディレクトリ内の`out\debug\app`フォルダに生成された実行ファイル`aish`が配置されます。簡単にアクセスできるよう、この場所を`PATH`環境変数に追加できます。ビルド成功後、完全パスがクリップボードにコピーされます。
+
+## AIエージェント
+
+AI Shellは、複数のAIエージェントを作成および登録するためのフレームワークを提供します。エージェントは、異なるAIモデルやアシスタンスプロバイダーとやり取りするために使用するライブラリです。AI Shellは`openai-gpt`と`azure`の2つのエージェントを同梱してリリースされています。しかし、プロジェクトをローカルでビルドする場合、さらに追加のエージェントがサポートされています:
+
+エージェントのREADMEファイル:
+
+- [`openai-gpt`][08](AI Shellに同梱)
+- [`ollama`][06]
+- [`interpreter`][07]
+- [`azure`][17](AI Shellに同梱)
+
+`aish`を実行すると、エージェントを選択するよう求められます。各エージェントの詳細については、各エージェントフォルダ内のREADMEをご参照ください。
+
+独自のエージェントを作成する方法の詳細については、[エージェントの作成][03]をご参照ください。
+
+`openai-gpt`エージェントを使用するには、有効なAzure OpenAIサービスまたはパブリックOpenAIキーが必要です。Azure OpenAIサービスの取得方法の詳細については、[Azure OpenAIサービスのデプロイ](./docs/development/AzureOAIDeployment/DeployingAzureOAI.md)をご参照ください。
+
+### チャットコマンド
+
+デフォルトでは、`aish`はAIモデルからの応答とやり取りするための基本的なチャット`/`コマンドセットを提供します。コマンドのリストを取得するには、チャットセッションで`/help`コマンドを使用します。
+
+```
+ Name Description Source
+──────────────────────────────────────────────────────────────────────
+ /agent エージェント管理のためのコマンド。 Core
+ /cls 画面をクリアします。 Core
+ /code 生成されたコードとやり取りするためのコマンド。 Core
+ /dislike 最後の応答を「よくない」として評価しフィードバックを送信。Core
+ /exit 対話型セッションを終了します。 Core
+ /help 利用可能なすべてのコマンドを表示します。 Core
+ /like 最後の応答を「良い」として評価しフィードバックを送信。Core
+ /refresh チャットセッションを更新します。 Core
+ /render 診断目的でマークダウンファイルをレンダリングします。 Core
+ /retry 最後のクエリに対して新しい応答を再生成します。 Core
+```
+
+また、エージェントは独自のコマンドを実装できます。例えば、`openai-gpt`エージェントはエージェント用に定義されたGPTを管理するための`/gpt`コマンドを登録しています。`/like`や`/dislike`などの一部のコマンドは、エージェントにフィードバックを送信するコマンドです。フィードバックの消費はエージェント次第です。
+
+### コマンドのキーバインディング
+
+AI Shellは`/code`コマンドのキーバインディングをサポートしています。現在はハードコードされていますが、今後のリリースではカスタムキーバインディングがサポートされる予定です。
+
+| キーバインディング | コマンド | 機能 |
+| ------------------------- | ---------------- | --------------------------------------------------------------------------- |
+| Ctrl+d, Ctrl+c | `/code copy` | 生成されたコードスニペットを_すべて_クリップボードにコピーします |
+| Ctrl+\ | `/code copy ` | _n番目_の生成されたコードスニペットをクリップボードにコピーします |
+| Ctrl+d, Ctrl+d | `/code post` | 生成されたコードスニペットを_すべて_接続されたアプリケーションに送信します |
+| Ctrl+d, \ | `/code post ` | _n番目_の生成されたコードスニペットを接続されたアプリケーションに送信します |
+
+### 設定
+
+現在、AI Shellは非常に基本的な設定をサポートしています。`~/.aish`下に`config.json`という名前のファイルを作成してAI Shellを設定できますが、起動時に使用するデフォルトエージェントを宣言するのみをサポートしています。これにより、`aish.exe`を実行するたびにエージェントを選択する必要がなくなります。
+
+AI Shellの設定は、カスタムキーバインディング、カラーテーマなどをサポートするよう、今後のリリースで改善される予定です。
+
+```json
+{
+ "DefaultAgent": "openai-gpt"
+}
+```
+
+## プロジェクトへの貢献
+
+詳細については[CONTRIBUTING.md][02]をご参照ください。
+
+## プライバシー
+
+AI Shellは個人データや個人を特定できる情報(PII)をキャプチャ、収集、保存、または処理することはありません。すべてのデータのやり取りはツールが提供する機能の範囲に限定され、個人データの収集は一切行いません。
+
+AI Shellと統合されている一部のエージェントは、パフォーマンスの向上、ユーザーエクスペリエンスの向上、または問題のトラブルシューティングのためにテレメトリデータを収集する場合があります。各エージェントのテレメトリ実践とデータ収集ポリシーの詳細については、個々のエージェントのREADMEまたはドキュメントを参照することをお勧めします。
+
+詳細については、[Microsoftのプライバシーステートメント](https://www.microsoft.com/en-us/privacy/privacystatement?msockid=1fe60b30e66967f13fb91f29e73f661a)をご覧ください。
+
+## サポート
+
+サポートについては、[サポート][05]声明をご参照ください。
+
+## 行動規範
+
+このプロジェクトに参加する前に、[行動規範][01]をご確認ください。
+
+## セキュリティポリシー
+
+セキュリティ問題については、[セキュリティポリシー][12]をご参照ください。
+
+## フィードバック
+
+まだ開発中であり、皆様のフィードバックを大切にしています!バグ、提案、またはフィードバックについては、このリポジトリに[問題][10]を提出してください。より率直なフィードバックを提供し、リリース前の将来のバージョンや機能のテストに登録したい場合は、この[フォーム][22]にご記入ください。
+
+
+[01]: ./docs/CODE_OF_CONDUCT.md
+[02]: ./docs/CONTRIBUTING.md
+[03]: ./docs/development/CreatingAnAgent.md
+[05]: ./docs/SUPPORT.md
+[06]: ./shell/agents/AIShell.Ollama.Agent/README.md
+[07]: ./shell/agents/AIShell.Interpreter.Agent/README.md
+[08]: https://learn.microsoft.com/powershell/utility-modules/aishell/how-to/agent-openai
+[09]: https://dotnet.microsoft.com/en-us/download
+[10]: https://github.com/PowerShell/AIShell/issues
+[11]: https://learn.microsoft.com/powershell/scripting/install/installing-powershell
+[12]: ./docs/SECURITY.md
+[13]: https://learn.microsoft.com/powershell/utility-modules/aishell/install-aishell
+[14]: https://learn.microsoft.com/windows/terminal/
+[15]: https://learn.microsoft.com/powershell/utility-modules/aishell/get-started/aishell-powershell
+[16]:https://learn.microsoft.com/powershell/utility-modules/aishell/get-started/aishell-standalone
+[17]: https://learn.microsoft.com/powershell/utility-modules/aishell/how-to/agent-azure
+[18]: https://github.com/PowerShell/PowerShell/releases/tag/v7.4.6
+[19]: https://learn.microsoft.com/powershell/utility-modules/aishell/overview
+[20]: ./docs/media/DemoGIFs/standalone-startup.gif
+[21]: ./docs/media/DemoGIFs/azure-agent.gif
+[22]: https://aka.ms/AIShell-Feedback
+[logo]: ./docs/media/AIShellIconSVG.svg
diff --git a/shell/AIShell.App/Program.cs b/shell/AIShell.App/Program.cs
index 2728fd1a..ed0d12fd 100644
--- a/shell/AIShell.App/Program.cs
+++ b/shell/AIShell.App/Program.cs
@@ -23,7 +23,8 @@ static int Main(string[] args)
// changes to the existing public APIs. We will need to evaluate whether we want to
// keep depending on it when this project moves beyond a prototype.
- Console.OutputEncoding = Encoding.Default;
+ Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance);
+ Console.OutputEncoding = Encoding.UTF8;
Argument query = new("query", getDefaultValue: () => null, "The query term used to get response from AI.");
Option channel = new("--channel", "A named pipe used to setup communication between aish and the command-line shell.");
Option shellWrapper = new("--shell-wrapper", "Path to the configuration file to wrap AIShell as a different application.");
diff --git a/shell/agents/AIShell.Interpreter.Agent/ModelInfo.cs b/shell/agents/AIShell.Interpreter.Agent/ModelInfo.cs
index 75e3fb45..b2c511c3 100644
--- a/shell/agents/AIShell.Interpreter.Agent/ModelInfo.cs
+++ b/shell/agents/AIShell.Interpreter.Agent/ModelInfo.cs
@@ -22,6 +22,7 @@ static ModelInfo()
s_modelMap = new(StringComparer.OrdinalIgnoreCase)
{
["gpt-4o"] = new(tokenLimit: 128_000, encoding: Gpt4oEncoding),
+ ["4o-mini"] = new(tokenLimit: 128_000, encoding: Gpt4oEncoding),
["gpt-4"] = new(tokenLimit: 8_192),
["gpt-4-32k"] = new(tokenLimit: 32_768),
["gpt-4-turbo"] = new(tokenLimit: 128_000),
diff --git a/shell/agents/AIShell.Interpreter.Agent/README_J.md b/shell/agents/AIShell.Interpreter.Agent/README_J.md
new file mode 100644
index 00000000..2194fd7a
--- /dev/null
+++ b/shell/agents/AIShell.Interpreter.Agent/README_J.md
@@ -0,0 +1,109 @@
+# インタープリターエージェント
+
+![インタープリターエージェントのデモを示すGIF][01]
+
+## 説明
+
+このエージェントは、コード関連のタスクを完了することに特化しています。
+ユーザーのタスクを受け取り、計画を立て、コードを生成し、実行し、
+エラーがあれば自己修正しながら、タスクが完了するまで計画の次のステップに進みます。
+現在はPowerShellまたはPythonコードの生成と実行のみをサポートしています。
+
+## 目次
+
+- [使用方法][02]
+- [前提条件][03]
+- [設定][04]
+- [アーキテクチャ][05]
+- [既知の制限][06]
+
+## 使用方法
+
+1. 自然言語でタスクを入力すると、エージェントはタスクを完了するためのコードを生成します。
+ 英語での使用のみテストしていますが、他の言語でも機能する可能性があります。
+2. 生成されたコードを実行するには、「y」と入力してEnterキーを押すか、単にEnterキーを押します(プロンプトはデフォルトで「y」)。
+ 設定ファイルでは自動実行を設定でき、ユーザーの確認なしにコードを実行します。
+3. あとはエージェントが作業を行うのを見守るだけです。
+
+## 前提条件
+
+- PythonとPowerShell 7をインストールし、`PATH`環境変数に追加されていることを確認してください。
+- 設定ファイルでAIサービスを設定する必要があります
+ - OpenAIの場合、**モデル名**と**APIキー**が必要です。ドキュメント: [OpenAIモデル][10], [OpenAI APIキー][09]。
+ - Azure OpenAIサービスの場合、**エンドポイント**、**デプロイメント名**、**モデル名**、**APIキー**が必要です。ドキュメント: [Azure OpenAIへのアクセス][07], [Azure OpenAIデプロイメントの作成][08]。
+
+## 設定
+
+エージェントを設定するには、`/agent config interpreter`を実行してデフォルトのエディタで設定ファイルを開き、
+次の例に基づいてファイルを更新します。
+
+```jsonc
+{
+ // Azure OpenAIサービスを使用する場合:
+ // - `Endpoint`をAzure OpenAIサービスのエンドポイントに設定します。
+ // またはゲートウェイとしてAzure API Managementサービスを使用している場合は、そのエンドポイントに設定します。
+ // - `Deployment`をAzure OpenAIサービスのデプロイメント名に設定します。
+ // - `ModelName`をデプロイメントに使用されているモデルの名前(例: "gpt-4-0613")に設定します。
+ // - `Key`をAzure OpenAIサービスのアクセスキーに設定します。
+ // またはゲートウェイとしてAzure API Managementサービスを使用している場合は、そのキーに設定します。
+ "Endpoint": "",
+ "Deployment": "<デプロイメント名を挿入>",
+ "ModelName": "<モデル名を挿入>",
+ "Key": "<キーを挿入>",
+ "AutoExecution": false, // 'true'でエージェントがコードを自動的に実行できるようにします。'false'でコードを実行する前に毎回プロンプトを表示します。
+ "DisplayErrors": true // 'true'でコード実行時のエラーを表示します。'false'で冗長さを減らすためにエラーを非表示にします。
+
+ // 公開OpenAIサービスを使用する場合:
+ // - `Endpoint`と`Deployment`キーは無視します。
+ // - `ModelName`を使用するモデルの名前(例: "gpt-4o")に設定します。
+ // - `Key`をOpenAIアクセストークンに設定します。
+ // 上記を次のように置き換えてください:
+ /*
+ "ModelName": "<モデル名を挿入>",
+ "Key": "<キーを挿入>",
+ "AutoExecution": false,
+ "DisplayErrors": true
+ */
+}
+```
+
+## アーキテクチャ
+
+このエージェントのアーキテクチャは以下の図に示されています。
+
+1. エージェントは`interpreter.agent.json`ファイルを使用して初期化されます。
+2. モデルタイプ(関数呼び出しまたはテキストベース)は設定に基づいて決定されます。
+3. `TaskCompletionChat`がプログラムのメインループで、ユーザークエリが処理されます。
+ - AIレスポンスに関数呼び出し/コードが含まれていない場合、メインプログラムループは終了します。
+ - AIレスポンスに関数呼び出し/コードが含まれている場合、ユーザーの承認を得てコードが実行されます。
+4. コード出力が表示され、収集され、AIに返されます。
+5. コードの実行時にエラーが検出された場合、エージェントはそれらを修正し、コードを再実行しようとします。
+6. タスクが完了するか、さらに情報が必要になるまでメインループが続きます。
+
+
+
+### 実行フロー
+
+このエージェントの実行フローは以下の図に示されています。
+
+
+
+## 既知の制限
+
+- AI生成コードはまだ不正確なコードとレスポンスを生成する可能性があります。
+- コード結果を検証する出力がない場合、エージェントはコード結果に関する幻覚を生じる可能性があります。
+- チャット履歴はモデルごとにgitトークン制限に制限されます。
+ チャットが長すぎる場合、エージェントは最も古い結果のコンテキストを失います。
+- エージェントは同時タスクを処理できません。
+
+
+[01]: ./assets/InterpreterAgentDemoSpedUp.gif
+[02]: #使用方法
+[03]: #前提条件
+[04]: #設定
+[05]: #アーキテクチャ
+[06]: #既知の制限
+[07]: https://aka.ms/oai/access?azure-portal=true
+[08]: https://learn.microsoft.com/azure/ai-services/openai/how-to/create-resource?pivots=web-portal
+[09]: https://platform.openai.com/api-keys
+[10]: https://platform.openai.com/docs/models
\ No newline at end of file