在生成式人工智能出现之前,终端命令行工具(Shell)一直被视为程序员和 IT 专业人士的专属技能。ChatGPT 的问世开创了全新的 AI 交互模式,众多 AI 应用如雨后春笋般涌现,也在一定程度上降低了许多专业 IT 软件工具的使用门槛。
以计算机中的各种终端(即 Shell)为例,对普通用户而言,这类工具往往较难上手。尽管我们知道通过终端可以比依赖图形界面,可以更高效完成某些操作,例如:批量重命名文件夹中的文件、快速定位计算机中的大文件等。但大多数情况下,我们并不知道具体指令,也自然谈不上会用。幸运的是,现在我们可以借助 AI「教会」我们具体的命令,完成我们想要的操作。
作为最早拥抱生成式人工智能的厂商之一,微软在推出编程辅助 AI 助手 GitHub Copilot 和 Office 生产力 AI 助手 Microsoft 365 Copilot 之后,将 AI 引入命令行环境,推出基于 PowerShell 的 AI Shell。
与传统 Shell 工具相比,AI Shell 采用了新的「分屏」方式来显示终端。用户可在右侧窗口与 AI 交互,让 AI 直接生成指令并粘贴至左侧终端执行,减少了在终端与网页间频繁切换的操作。既然 AI Shell 那么好用,接下来不妨看看它的安装与配置方法吧。
安装 AI ShellAI Shell 并非 Windows 10/11 原生功能,需要手动安装,但在 macOS 和 Linux 上也同样可以安装和使用:
Windows:需运行 Windows 10 或更高版本,并安装 PowerShell 7.4.6 或更高版本。macOS:需 macOS 13 Ventura 或更高版本,同样安装 PowerShell 7.4.6 或更高版本,并使用 iTerm2 作为终端。Linux:支持 Ubuntu 20.04 及更新版本,PowerShell 版本要求与 Windows/macOS 一致(PowerShell 7.4.6 及以上)。Linux 终端模拟器无特殊限制,但不支持 AI Shell 的「模块」功能,仅可使用基本功能。
在 Windows 10/11 上,需特别注意 PowerShell 版本的要求。尽管 Windows 10/11 已内置 PowerShell,但该版本实际上是 「Windows PowerShell」,其版本为 2.0,并不符合 AI Shell 的最低要求。
这里我贴出来每个系统安装 PowerShell 的方法,方便大家快速进入后续的安装流程:
# Windows 10、11 安装新版 PowerShell 7winget install --id Microsoft.PowerShell --source winget# macOS 安装 PowerShell 7brew install powershell/tap/powershell# Linux 安装 PowerShell 7# 检查更新sudo apt-get update# 安装必要依赖sudo apt-get install -y wget apt-transport-https software-properties-common# 确定系统版本source /etc/os-release# 下载安装地址,$SYSTEM 和 $VERSION_ID 都要替换为系统实际的值wget -q https://packages.microsoft.com/config/$SYSTEM/$VERSION_ID/packages-microsoft-prod.deb# 安装 PowerShell 安装地址sudo dpkg -i packages-microsoft-prod.deb# 删除 PowerShell 安装地址rm packages-microsoft-prod.deb# 检查更新sudo apt-get update# 安装 PowerShellsudo apt-get install -y powershell# 启动 PowerShellpwsh当然你也可以直接通过安装包安装,需要访问 Github 手动下载,这里就不过多赘述了。
后续在 Windows 和 macOS 中安装 AI Shell 的方法也很简单,输入下面这条命令即可:
Invoke-Expression "& { $(Invoke-RestMethod 'https://aka.ms/install-aishell.ps1') }"
安装完成后,在 Powershell 中输入 aish,如果看到如下显示着表示安装已经完成。

Linux 则需要手动下载、安装对应的 AI Shell 文件,例如: AIShell-1.0.0-preview.1-linux-x64.tar.gz到环境变量中。
使用方法和基本命令选择模型代理完成安装以后,我们还需要一点简单配置才能使用 aish 命令。主要就是选择 AI 模型代理,截止本文发布时,可选的模型代理包括:
openai-gpt:可调用 Azure OpenAI API 或直接使用 OpenAI 官方 API;azure:调用 Azure Copilot,无需 API 密钥,但需要有效的 Azure 订阅。此外,为了与 Azure 交互,还需安装 Azure CLI。举例来说,如果选择 azure 这个模型代理,首先需要有一个 Azure 账户并包含有效订阅,同时在本地安装 Azure Cli:
# 在 Windows 上安装 Azure CLIwinget install -e --id Microsoft.AzureCLI# 确认 Azure CLI 安装成功az version# 登录 Azureaz login根据提示选择一个你的 Azure 的有效订阅,如下图所示。

完成上述操作后,返回 AI Shell,选择代理时选中 azure,等待完成后出现以下信息,即表示可以使用 AI Shell 的 azure 模型代理。

如果选择模型代理为 openai-gpt,则需填写密钥、位置、终结点等信息。可通过命令 /agent config openai-gpt 打开配置文件进行编辑。需要注意,openai-gpt 包含两种 OpenAI 服务:一种是 OpenAI 提供的公共 API,另一种是 Azure OpenAI 的专用部署。可根据自身需求选择,具体的配置方法可参考微软官方的文档。

正常情况下使用终端我们都会在一个终端里不断输入指令来完成一系列的操作。但在同一个终端窗口中同时运行 AI Shell,输入和输出与普通的命令会混在一起:
在同一窗口下,AI Shell 与普通的命令会争夺输入框,需要频繁切换或输入退出AI Shell 或其他指令,影响操作的流畅性;AI Shell 的输出内容与 Shell 命令的执行结果会混杂在同一终端中,日志、提示及错误信息可能交错显示,增加阅读和区分的难度;所以,更正确的方法是拆分窗格运行 AI Shell。输入:Start-AIShell,这时候 PowerShell 就会直接拆分出一个窗口,并将 AI Shell 运行在右侧这个「辅助窗口」中:

和其他终端命令一样,可以输入 /help 来查看帮助。

比如说你需要切换模型代理,那么就输入 /agent list 先列出当前可以使用的模型代理,如果要切换成 OpenAI,那么就使用 /agent use openai-gpt 进行切换。

前面提到过 Windows 许多「高级」但实用的操作并未通过图形界面提供给普通用户,只能查阅大量网页才能找到适用于真的、能用的指令。而如今,AI Shell 又是如何解决这一问题的呢?
在这里,我选择了 openai-gpt 作为代理。我们先简单问问它能做点什么,例如直接输入:who are you?,它的回答如下:

从输出中,我们可以简单地把 AI Shell 本质上是通过命令行与 OpenAI 模型交互的入口。
接下来,我们可以尝试一些具体的问题。例如,我想编写一个 PowerShell 指令,用于查找本地计算机中大小超过 1000MB 的文件及其对应的路径:

可以看到,AI Shell 不仅提供了可执行的 PowerShell 指令,还详细解释了每个变量和参数的作用。用户只需复制指令并粘贴到左侧命令行,即可直接运行。
那么,除了 PowerShell 指令,AI Shell 是否还能提供其他技术操作的建议呢?比如,如何使用 Ollama 在本地部署 DeepSeek 模型?

从输出来看,AI Shell 不仅能生成 PowerShell 指令,还能解答更具体的场景问题。例如,它可以指导如何使用 pip 安装 Ollama 并导入特定模型,同时提供详细的操作建议。
对于更广泛的问题,例如询问 AI Shell 如何学习和上手 AI,它的回答是:

回答的倒没啥问题,就是仅仅是输出了与 PowerShell 相关的参考指令,显得有些偏离主题。由此可见,AI Shell(openai-gpt)更擅长解决具体的技术实现问题,过于宽泛的提问可能无法得到理想的答案。
上面我们使用的是 AI Shell 中的 openai-gpt 代理,还可以选择 Azure 作为模型代理,也就是 Azure 内置的 Azure Copilot。我们也先简单问问它能做点什么what you can do?,它的回答如下:

选择使用 Azure Copilot 主要是因为它构建了一个基于 Azure 开发和运维的在线知识库,涵盖了 Azure、PowerShell 等相关技术支持,类似于早期的 MSDN 在线知识库。接下来,我询问了一个关于 Azure 的问题:如何在 Azure 上创建一个云计算资源?

通过 AI Shell,用户可以用自然语言描述需求,然后等待模型输出,按照步骤操作即可。而且由于输出的都是命令,用户还需根据自己的场景替换占位符即可。
此外,用户还可以询问与 Azure 资源相关的问题,例如:Azure OpenAI 可以调用哪些模型?模型列表是什么?

并且可以接下去问如何创建模型资源,命令方法是什么:

AI Shell 返回的结果会告诉你如何在对应的资源门户进行部署操作。然而,由于 Azure Copilot 的局限性(只能围绕 Azure 内容提供解答),对于一些与 Azure 无关的问题,它基本上「一问三不知」。

这时,你可以切换模型代理到 openai-gpt,让 OpenAI 的各种模型提供更为详细的方案。这样,AI Shell 就能帮助你解决更多与 Azure 无关的技术问题。
结语整体体验来看,对于我这种习惯在 Windows 上使用终端工具的「运维人」来说,AI Shell 最直观的优势是能够通过更简便的方式,让 AI 协助我编写终端指令。
以往,编写或执行 PowerShell 指令时,由于 PowerShell 的语法与 Unix 下的终端语法有所不同,我通常依赖微软官方的在线文档或教程,花费额外的时间重新熟悉语法。
AI Shell 的出现让这一过程变得简单,我只需告诉 AI 我的目标,让它帮我生成 PowerShell 指令,然后将生成的命令粘贴到终端中执行。即使你没有学习过 PowerShell 语法,也能通过 AI Shell 编写出 IT 专家级的指令。
总体而言,AI Shell 是将人工智能融入日常工作的良好契机。同时,AI Shell 提供了自定义第三方模型代理的功能,开发者可以轻松构建自己的「运维知识库」。还在苦恼怎么用终端命令的朋友,快来试试这款微软基于 PowerShell 推出的这款 AI 助手吧。