技術情報

WindowsのターミナルにもローカルAI―「Intelligent Terminal 0.2」

Windowsでコマンドを入力するときに利用する「ターミナル」。これまでは文字で命令を入力し、その結果を確認するという使い方が中心でした。

しかし最近は、開発ツールにもAIが組み込まれるようになり、コマンドの意味を調べたり、エラーの原因を分析したりする作業をAIに任せられる場面が増えています。

Microsoftは2026年8月10日、実験的に開発している「Intelligent Terminal」のバージョン0.2を公開しました。

今回のアップデートでは、クラウド上のAIだけでなく、自分のPC上で動作するローカルAIモデルも利用できるようになりました。

● Intelligent Terminalとは?

Intelligent Terminalは、Windows TerminalをベースにAIエージェント機能を組み込んだ実験的なターミナルです。

通常のターミナルとしてPowerShellやコマンドプロンプト、WSLなどを利用しながら、同じ画面内にAIエージェントを表示できます。

例えばコマンドを実行してエラーが表示された場合、その内容をコピーして別のAIサービスへ貼り付けるのではなく、ターミナル上からそのままAIへ相談できます。

AI側がターミナルの出力を確認できるため、「このエラーの原因は?」「修正するにはどうすればいい?」といった質問がしやすくなっています。

● バージョン0.2でローカルAIに対応

今回のバージョン0.2で特に注目したいのが、ローカルAIモデルへの対応です。

設定画面から「BYOM(Bring Your Own Model)」としてAIモデルの接続先を登録できるようになり、Base URLとModel IDを指定することで、自分で用意したAIモデルを利用できます。

例えばOllamaなどを使ってPC内でAIモデルを動かし、そのモデルをIntelligent Terminalから呼び出すことができます。

また、OpenAI API互換のインターフェースを提供するサーバーであれば、Ollama以外の環境を接続することも可能です。

● AIをクラウドへ送らずに使える可能性

ローカルAIを使うメリットの一つは、処理を自分のPC内で完結させられることです。

クラウド型AIの場合、入力した文章やコードなどをインターネット経由で外部サーバーへ送信して処理する仕組みが一般的です。

一方、ローカルモデルを利用すれば、AIモデルそのものをPC上で動かすことができます。

利用するモデルや構成によりますが、通信環境に依存せずAIを利用したり、外部サービスへデータを送信しない環境を構築したりすることも可能になります。

社内システムの管理や開発作業など、外部へ情報を送りにくい用途では、こうした仕組みが選択肢の一つになるかもしれません。

● タブごとに違うAIを使い分けられる

Intelligent Terminal 0.2では、ターミナルのタブごとに異なるAIエージェントを利用できる機能も追加されています。

例えば、あるタブではコード作成を支援するAIを使い、別のタブではエラー調査を得意とするAIを利用するといった使い分けができます。

「/agent」というコマンドからエージェントを切り替えることができ、複数のAIを同時に利用しても、それぞれの会話内容はタブごとに分離されます。

Microsoftの説明では、Copilot、Claude、Codexなど、PCにインストールされている対応エージェントをタブごとに選択できる仕組みになっています。

● OpenCodeにも対応

今回のアップデートでは、「OpenCode」も標準的に利用できるエージェントの一つとして追加されました。

Intelligent Terminalは特定のAIサービスだけを利用する仕組みではなく、ACP(Agent Client Protocol)に対応したエージェントCLIを利用できる設計になっています。

そのため、今後対応するAIエージェントが増えれば、用途に応じて利用するAIを選ぶこともできそうです。

● WSLの中でもAIを利用

WindowsでLinux環境を利用できる「WSL」との連携も強化されました。

バージョン0.2では、WSLのプロファイルごとに利用するAIエージェントを設定できます。

Windows側ではWindows向けの作業を行い、WSL側ではLinux開発環境向けのAIを利用するといった使い分けが可能になります。

WindowsとLinuxを行き来しながら開発する人にとっては、AIが実際の作業環境に近い場所で利用できる点が便利になりそうです。

● エラーをAIが修正候補として提示

Intelligent Terminalには以前から、コマンド実行時のエラーを検出し、AIに修正方法を提案してもらう「Autofix」という機能があります。

今回のアップデートでは、このエラー検出機能も改善されました。

PowerShellやBashなどで発生したエラーを検出し、AIが原因を分析したうえで、修正するためのコマンドを提案します。

ターミナル操作に慣れていない場合でも、エラーメッセージを検索して原因を調べる作業を減らせる可能性があります。

ただし、AIが提案したコマンドが必ず正しいとは限りません。ファイルの削除やシステム設定の変更などを含む場合は、実行前に内容を確認することが重要です。

● ターミナルが「命令する場所」から「相談する場所」へ

これまでのターミナルは、人間が正しいコマンドを知っていることを前提としたツールでした。

例えばファイルを検索したい場合でも、どのコマンドを使い、どのオプションを指定するかを自分で調べる必要があります。

AIが組み込まれることで、将来的には「このフォルダーにある大きなファイルを探して」と自然な言葉で相談し、必要なコマンドをAIに提案してもらう使い方が増えていくかもしれません。

特にローカルAIが利用できるようになることで、クラウドAIだけに依存しない選択肢が増えたことは興味深い変化です。

● まだ実験段階のツール

一方で、Intelligent Terminalは現在も実験的なプロジェクトです。

Windows TerminalそのものがIntelligent Terminalへ置き換わると発表されたわけではなく、今後どの機能が正式なWindows環境へ採用されるかも分かりません。

また、ローカルAIを快適に動かすには、利用するモデルによって十分なメモリやGPU性能が必要になる場合があります。

誰でもすぐにローカルAIを快適に使えるというわけではありませんが、AIをターミナルへ直接組み込むという考え方は、今後のPC操作を考えるうえで興味深い取り組みです。

これまでターミナルは、コマンドを覚えている人ほど便利に使えるツールでした。しかしAIが組み込まれることで、「コマンドを入力する場所」から「PCの操作方法をAIと相談する場所」へと変わっていく可能性があります。

さらにローカルAIが普及すれば、インターネット上のAIサービスだけでなく、自分のPCの中にいるAIへ作業を相談することも珍しくなくなるのかもしれません。

水曜担当:Tanaka



Gmailアドレスが変更可能に?20年変わらなかった仕様がついに動く

Googleのメールサービス「Gmail」で、これまで不可能だったメールアドレスの変更機能がついに提供され始めています。長年使ってきたアドレスをそのまま使い続けるしかなかった状況に、大きな変化が起きようとしています。

今回の特徴は、単にアドレスを変えられるだけではなく、メールや写真、各種サービスのデータをそのまま維持できる点です。これにより、これまで必要だった「新しいアカウント作成+データ移行」といった手間が不要になります。

続きを読む

Vue.jsの基本 #3

前回に引き続きJavaScriptフレームワークのVue.jsの基本について説明します。
Vue.jsは、HTMLに動きをつけたり、ユーザー操作に応じてリアルタイムに画面を更新したりするためのフレームワークです。
この記事では、Vue.jsの中でも特によく使われる テンプレート構文(HTML側) と ロジック(JavaScript側)を紹介します。

JavaScript側の基本構造

Vue 3 では Composition API(setup関数) と Options API(data, methods, computedなど) の2通りがあります。
今回は Options API(data, methods, computedなど)について簡単に紹介します。

data():Options APIでデータを定義する

export default {
  data() {
    return {
      message: 'こんにちは!',
      count: 0
    };
  }
};

data() は画面で使うデータを定義します。
戻り値のオブジェクトがVueインスタンスの状態になります。

computed:計算済みプロパティ(リアクティブな値の加工)

export default {
  data() {
    return { price: 100, taxRate: 0.1 };
  },
  computed: {
    totalPrice() {
      return this.price * (1 + this.taxRate);
    }
  }
};

computed は、他のデータから自動的に計算される値を定義します。
キャッシュされるため、無駄な再計算を防ぎます。

methods:関数(イベント処理など)

export default {
  data() {
    return { count: 0 };
  },
  methods: {
    increment() {
      this.count++;
    }
  }
};

イベント時の動作などを関数としてまとめておく場所です。
テンプレートからは @click=”increment” のように呼び出せます。

mounted:コンポーネントが画面に表示されたあとに実行

export default {
  mounted() {
    console.log('コンポーネントがマウントされました!');
  }
};

mounted() はVueコンポーネントが実際にDOMに描画された直後に呼ばれます。
APIデータ取得や初期設定などに使います。

木曜日担当:nishida



Vue.jsの基本 #2

前回に引き続きJavaScriptフレームワークのVue.jsの基本について説明します。
Vue.jsは、HTMLに動きをつけたり、ユーザー操作に応じてリアルタイムに画面を更新したりするためのフレームワークです。
この記事では、Vue.jsの中でも特によく使われる テンプレート構文(HTML側) と ロジック(JavaScript側)を紹介します。

JavaScript側の基本構造

Vue 3 では Composition API(setup関数) と Options API(data, methods, computedなど) の2通りがあります。
ここでは両方を簡単に紹介します。

setup():Composition APIのエントリーポイント

import { reactive  } from 'vue';

export default {
  setup() {
    // reactiveを使ってオブジェクト全体をリアクティブにする
    const state = reactive({
      count: 0,
      message: 'こんにちは!'
    });

    const increment = () => {
      state.count++;
    };

    return { state, increment };
  }
};


テンプレート側の使い方

<template>
  <div>
    <p>{{ state.message }}</p>
    <p>クリック回数:{{ state.count }}</p>
    <button @click="increment">カウントアップ</button>
  </div>
</template>


reactive() は オブジェクト全体をリアクティブ(反応的)に変換 します。
⇒ state.count のように直接プロパティを参照できます(ref のように .value は不要)。

ref() は単一の値をリアクティブにするのに便利ですが、
複数の状態をまとめて管理するなら reactive() のほうがスッキリします。

return { state, increment } により、HTML(テンプレート)側で state と increment を使えるようになります。

次回はOptions APIのdataとcomputedについて説明します。

木曜日担当:nishida



Vue.jsの基本 #1

今回はJavaScriptフレームワークのVue.jsの基本について説明します。
Vue.jsは、HTMLに動きをつけたり、ユーザー操作に応じてリアルタイムに画面を更新したりするためのフレームワークです。
この記事では、Vue.jsの中でも特によく使われる テンプレート構文(HTML側) と ロジック(JavaScript側)を紹介します。

HTML側の基本構文

Vueでは、HTML内に「ディレクティブ」と呼ばれる特別な属性を使って、動的な動作を実現します。

v-if:条件によって要素を表示・非表示にする

<p v-if="isShow">このメッセージは表示フラグがtrueのときだけ見えます。</p>

v-if は 条件式 が true のときだけ、その要素をDOMに描画します。
v-else や v-else-if も組み合わせて使えます。

v-for:リストを繰り返し表示する

<ul>
  <li v-for="(item, index) in items" :key="index">
    {{ index + 1 }}: {{ item }}
  </li>
</ul>

v-for は配列やオブジェクトをループ表示します。

v-model:双方向データバインディング

<input v-model="message" placeholder="メッセージを入力">
<p>入力中の内容:{{ message }}</p>

v-model は 入力フォームの値とデータをリアルタイムで同期 します。
テキストボックス、チェックボックス、セレクトボックスなどに使えます。

@input:入力イベントを検知する

<input @input="onInputChange" placeholder="文字を入力">

@input はフォーム入力のたびにイベントを実行します。

@click:クリックイベントを実行する

<button @click="count++">クリック回数:{{ count }}</button>

@click はクリック時の処理を定義します。
上の例では、ボタンを押すたびに count の値が1ずつ増えます。

次回はJavaScriptの基本構造について説明します。

木曜日担当:nishida




アプリ関連ニュース

お問い合わせはこちら

お問い合わせ・ご相談はお電話、またはお問い合わせフォームよりお受け付けいたしております。

tel. 06-6454-8833(平日 10:00~17:00)

お問い合わせフォーム