整合 AI agent 的 Microsoft Intelligent Terminal

| | 0 Comments| 13:07|
Categories:

image host「Windows Terminal」(Microsoft Store)是微軟推出很久的一套命令提示字元的「外殼」,可以透過它來操作 cmd、PowerShell、WSL 等命令提示字元工具;由於提供了相對方便的 tab、色彩/字形設定,所以個人是覺得還滿好用的。

印象中,很久以前就有看到微軟有試著在裡面加上 AI 的功能,但是正式版好像都沒看到要推出的跡象?不過到了前陣子、微軟倒是決定把和 AI 整合的版本、獨立出來變成「Intelligent Terminal」了!而現在也發布了 0.1 版、讓有興趣的人可以玩了~

官方的公告是《Announcing Intelligent Terminal 0.1》,有興趣的人可以直接到 Microsoft Store 下載、安裝了。由於它也是開放原始碼的專案,所以也可以到 GitHub 找到原始碼。

他基本上是 Windows Terminal 的一個分支、主要的差別就是原生整合 agent、可以在繼續使用各種 command line 工具的時候、快速地使用既有的 AI agent 來做輔助。

它雖然預設會使用 GitHub Copilot CLI 來做 agent,不過因為它支援所有符合 Agent Client Protocol (ACP) 標準的 agent,所以理論上使用彈性相當地高,也可以支援 Gemini 或 Claude 等 agent。

在台灣的繁體中文環境安裝後,他的應用程式名稱會是「智慧終端機」,初次執行畫面如下:

image host

按「下一步」後,會要求開始做初期設定。

image host

image host這邊可以選擇要使用哪個 agent、選項應該是會根據目前系統有安裝的 agent 而有所變化?不過 Heresy 明明沒裝 Claude 卻還是顯示「已安裝」…

另外,這邊雖然只有顯示這三個 agent,但是之後還是可以自己加入其他符合 ACP 的 agent 的。同時,這邊的設定之後也都可以修改。

在按下儲存後,左下角可能會跳出「PowerShell 執行原則正在封鎖指令碼。錯誤偵測已關閉。」的錯誤:

image host

點選下方的連結會開啟官方的說明文件(連結),這邊基本上就是要放寬 PowerShell 執行腳本的權限;指令是:

Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned

不過可能要注意的是,如果電腦上除了本來的 PowerShell(5.1、powershell.exe)外、還有另外安裝 PowerShell Core(7+、pwsh.exe)的話,上面的指令應該會需要在兩種 PowerShell 都執行一次,否則還是會有問題。

設定完後,就可以使用了~他預設會是上方顯示本來的 Shell CLI、下方則會變成是 agent 的畫面。

image host

這邊比較討厭的,是雖然圖形介面算是有完整的繁體中文翻譯,但是 agent 這邊預設都是用簡體字顯示…

在左下方有個方形的圖示、可以用來開關 agent 的區域,不過實際上應該是使用「Ctrl+Shift+.」這組快速鍵來控制會比較順手。

右下角則有三條線、點選後會顯示過去的工作階段(快速鍵是 Ctrl+Shift+/);這邊的工作階段應該是直接從 agent 那邊抓來的,所以如果本來有透過 agent 做過的事情、這邊都會顯示出來。

至於他有什麼用呢?比較方便的用法,應該是把「自動錯誤偵測」、「自動錯誤建議」開啟,這樣在 shell 指令出錯的時候,他就會自動把錯誤送給 agent、讓 agent 來解釋了!

像這邊 Heresy 故意在一個不是 git repo 的資料夾執行「git log」,下面 agent 區域就會跳出錯誤的說明了~

image host

由於這邊的指令是對的、所以他也沒辦法提出修正方案。

但是如果是在一個 git repo 的資料夾執行「git logs」這樣的錯誤指令的話,他就會顯示正確的指令、並可以快速選取並執行:

image host

這邊只要按下 Enter,他就會把正確的「git log」輸入並執行,完成本來要做的操作。

如果想要再調整指令,也可以按下鍵盤的向右箭頭、切換到「插入到終端」後再按 Enter,這樣就會把指令帶進 shell 讓使用者自己做後續修改了。

當然啦~這個例子是相對非常簡單、git 本來就有給出建議指令的;不過如果是ㄧ些比較複雜的例子的話,這邊的 agent 就可能可以讓使用者不用離開 CLI 環境、直接找到解決方案的。

而如果是要在 shell 和 agent 之間切換的話,則可以使用「Ctrl+Shift+I」這組快速鍵來快速切換。所以如果是遇到想要某個操作、但是完全不知道怎麼下指令,也可以切換到 agent 去詢問。

比如說這邊想找內容裡面有「module」這個字串的 .cpp 檔案的話,只要輸入「幫我找內容有 module 的 .cpp 檔案」,他就會給一個建議的 PowerShell 指令來讓使用者決定是否要執行:

 Get-ChildItem -Recurse -Filter *.cpp | Select-String -Pattern "module" 

下面是他的畫面:

image host

另外,雖然不多,這邊他也有提供幾個「/」的指令可以操作。

image host

之餘針對 agent 的設定應該是要回到 agent 去設定了。


如果正常操作的時候不想看到 agent 的畫面佔用太多版面的話,也可以平常的時候先關掉、繼續操作;而當執行的指令有錯誤的時候,他會在左下角顯示提示,這時候只要按下 Ctrl+Shift+. 來開啟面板、並進行操作了。

image host

這樣的操作應該會是侵入性相對少、也可以保有大量顯示區域的方式了。

另外,理論上在使用時也可以透過「Alt+Shift+/」來開啟對話框(他取名叫做「命令選擇區」)、然後在這邊向 AI 詢問問題或是要求他做某些工作。不過這邊的操作邏輯是另外開一個 tab 來執行 agent,設計上應該是為了避免卡住目前的工作。

而 Heresy 自己測試的時候運作是不太正常的狀態…感覺上中文沒辦法正確透過參數傳遞、結果都沒辦法正確執行。


在設定的部分,和本來的 Windows Terminal 類似,都是點選上方 tab 旁的向下箭頭、選擇「設定」來開啟;感覺上他預設會去複製 Windows Terminal 本來的設定?

他在左邊則是多出了一個「AI 代理」的選項,可以在這邊調整相關的設定。

image host

這邊的設定大多和前面初始化時一樣。

比較特別的,是這邊的代理設定可以自己新增了。

image host

如果是要透過 OpenCode 來操作的話,可以在命令的地方輸入「opencode acp」來設定。

另外要注意的,是前面提到的「命令選擇區」的 agent 設定是獨立的,要在下方另外修改才行;以 OpenCode 來說,這邊是要填入「opencode run」。

image host而如果前面 PowerShell 的腳本執行權限沒有解決完整的話,這邊按下儲存可能就會出現「Shell 整合錯誤」的訊息。

Heresy 一開始因為只在 pwsh 設定,所以這邊一直跳錯…後來到 powershell 也修改權限後才正常。


目前覺得比較可惜的,大概是要搭配 Linux 使用不是很實用?這邊是碰到的問題:

  • Heresy 這邊搭配 WSL 似乎有問題,每個指令都會被當作有問題送給 agent 分析,浪費 AI 的 token。
  • WSL 雖然可以建議的指令插入、但是沒辦法直接執行?
  • SSH 到遠端後的錯誤不會被偵測到、所以也無法分析。

這邊有的可能是設計機制的問題就是了。

Leave a Reply

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *