AIターミナルは、利用者がこのPCに導入し自身で契約・サインインした AI CLI(Claude Code、Codex、Gemini CLI、OpenCode、GitHub Copilot 等)から、Ploto で開いているプロジェクトを読み取り・編集できるようにする機能です。本アプリは AI CLI を同梱・自動インストールせず、AIサービスのアカウントや API キーも扱いません。
接続方式: AI は、次のいずれかの経路を通してのみ Ploto を操作します。どちらも同じ PC 内の接続に限られ、ネットワーク上の他の端末からは接続できません。Ploto のプロジェクトファイルやデータベースへ AI が直接アクセスする API は用意していません。
- MCP(主経路): AI クライアントが MCP サーバーとして
ploto-mcp.exe --mcp-stdio(MSIX のアプリ実行エイリアス)を起動し、標準入出力で通信します。このプロセスは画面を持たない中継専用で、受け取った要求を Windows の名前付きパイプ \\.\pipe\LOCAL\ploto-mcp-<64桁の識別値> 経由で起動中の Ploto 本体へ転送します。識別値はユーザープロファイルのパスとアプリ識別子から導出する固定値です。パイプはアクセス権を作成者(同じ Windows ユーザー)だけに限定し、リモート接続を拒否し、同名パイプの先取りを防ぐ排他作成を行います。トークンは使いません。同時接続は最大16、1要求は64KiBまでです。
- ターミナル API(予備経路): MCP 設定を読まない AI クライアント向けに、内蔵ターミナルから
ploto.ps1・ploto.cmd・ploto.sh が HTTP で要求を送ります。待受は 127.0.0.1 の動的ポートだけで、外部インターフェイスには公開しません。各要求にはランダムな256ビットのBearerトークンが必要で、トークンはメモリ上にのみ保持し、内蔵ターミナルの環境変数でだけ渡します(ファイルには保存しません)。Hostヘッダーを照合し、ブラウザからの要求(Origin 付き・クロスサイト)は拒否します。要求本文は64KiBまでです。プロジェクトの切替・クローズ・アプリ終了でトークンは失効します。
- 共通の制御: どちらの経路も Ploto 内部の同じ処理を通り、同意の確認、読み取り専用での開始、編集許可、保存不可、体験版の回数管理が同じように適用されます。操作は同時に1件ずつ、応答待ちは30秒までです。任意の SQL、ファイル操作、シェルコマンドを実行する API はありません。
- 待受のタイミング: Ploto の画面を起動すると両経路の待受を開始しますが、利用者が同意するまでプロジェクトへの操作は拒否します。Ploto が終了している間も、AI クライアントが起動した MCP の中継プロセスは終了せず、要求には「Ploto が起動していない」旨を返し、Ploto が再び起動すると接続し直します。MCP から Ploto の起動、ファイルを開く操作、許可の変更はできません。
- Windows ファイアウォール: 受信はループバックと名前付きパイプに限られるため、受信許可の規則は不要です。AI CLI から AI サービスへの外向き通信は、AI CLI 側の仕様に従います。
データの流れ: AIが読み取ったプロジェクトの内容(タスク名、担当者名、日程、ノート、ToDo、タグ等)は、AI CLI を通じて利用者が選んだAIサービス提供者へ送信されます。この送信は Ploto 提供者のサーバーを経由しません。学習利用・保存期間・処理地域等の取扱いは、利用者とAIサービス提供者との契約に従います。業務データを扱う場合は、組織が承認したAIサービスと契約プランの利用を利用者へ周知してください。
許可と操作範囲:
- 初回にターミナルを表示したとき同意を求め、許可するまでプロジェクト操作を拒否します。同意は端末内に保存され、以後は再表示しません。
- AIからの操作は毎回読み取り専用で始まります。編集は、利用者がスイッチをオンにするか、AIからの編集許可要求を利用者が承認した場合に限り可能です。許可はファイルの切替・終了で失効します。
- AIの編集は画面上の作業データに反映されるだけで、AIから
.ploto ファイルを保存することはできません。保存は利用者が画面で行います。編集は Ploto の通常の取り消し(Undo)で戻せます。
- Ploto の API は任意の SQL やシェル実行を受け付けません。ただし、内蔵ターミナルは利用者権限のシェルであり、上記の許可はシェル内で AI CLI が行うファイル操作やコマンド実行を制限しません。これらは AI CLI の権限設定と利用者の承認に従います。
- 操作履歴はメソッド名と成否だけを画面に最大30件表示し、ファイルには保存しません。会話内容、ターミナル出力および操作内容を Ploto が保存・送信することはありません。
AIクライアントの設定への書き込み: 作業フォルダ(第5項)以外に、次の場合だけ各AIクライアントのユーザー設定へ Ploto の MCP 接続設定と、接続を案内する短い説明書(Skill)を書き込みます。書き込むのは Ploto の項目だけで、他の設定は変更しません。
- Codex: Codex はプロジェクト単位の設定を読まないため、AI連携を有効にするたびに
%USERPROFILE%\.codex\config.toml(CODEX_HOME 指定時はその配下)と %USERPROFILE%\.agents\skills へ自動登録します。
- その他(Claude Code、Cursor、Gemini CLI、Antigravity、OpenCode、VS Code / Copilot): 利用者が接続設定画面で登録ボタンを押した場合だけ書き込みます。設定フォルダが存在しないクライアントには書き込まず、Claude Code の
~/.claude.json は既存の場合だけ更新します。
- 書き込み先のパスは画面に表示し、同じ画面から解除できます。
AIに渡す説明書: Ploto は、AIが本アプリを正しく操作するための説明書(操作手順、API 仕様、書き込み前の確認、推測で編集しないこと、認証情報や DB を探索しないこと等)を、MCP の初期化応答および作業フォルダ内のテキストファイルとして AI に渡します。説明書は AI の振る舞いを案内するものであり、安全上の境界は上記の許可・読み取り専用・保存不可の仕組みで担保しています。全文は別ページ「Ploto がAIに渡す説明書」で確認・コピーできます。
体験版とライセンス: 体験版では API/MCP の操作を合計60回まで受け付けます。回数とライセンスは端末内で管理し、Ploto 提供者へ利用状況を送信しません。Store 版の購入確認は Microsoft Store の仕組みで行います。
組織での無効化: システムまたはユーザーの環境変数に PLOTO_DISABLE_AUTOMATION=1 を設定すると、AI連携の有効化を拒否します。これは本アプリ内の設定であり、アプリケーション制御や組織の AI 利用基準を代替するものではありません。AI CLI 自体の利用可否は、組織の端末管理・ネットワーク制御で管理してください。