AI Shell在命令行里“对话” AI ,微软推出将 AI 助手引入命令行的 CLI 工具,打造对话式交互命令行

Written by 30115776@qq.com

AI Shell在命令行里“对话” AI ,微软推出将 AI 助手引入命令行的 CLI 工具,打造对话式交互命令行。

🚀 快速阅读

  • 功能:AI Shell 是一款将 AI 集成到命令行中的 CLI 工具。
  • 模式:支持独立运行和与 PowerShell 7 集成两种模式。
  • 代理:内置多个 AI 代理,支持与不同 AI 模型互动。

正文(附运行示例)

AI Shell 是什么

AI Shell.jpeg

AI Shell 是一款命令行工具,将人工智能的强大能力直接带到了命令行环境中。它设计用于帮助用户在命令行中获取各种 AI 助手的命令建议,从而提高生产力。AI Shell 通过多代理框架提供了丰富的功能和灵活的使用模式。每个代理都是一个库,可以用来与不同的 AI 模型或辅助提供者进行对话式的交互。

AI Shell 的主要功能

  • 多代理支持:AI Shell 内置了多个代理,如 openai-gptazure 代理,支持与不同 AI 模型进行互动。
  • 灵活的使用模式:支持独立运行和与 PowerShell 7 集成两种模式,用户可以根据自己的需求选择合适的使用方式。
  • 丰富的命令:提供了多种聊天命令,如 /agent/code/help 等,方便用户与 AI 代理进行交互。

AI Shell 的技术原理

  • 代理框架:AI Shell 通过代理框架支持多种 AI 代理,每个代理都可以独立配置和使用。
  • 命令行集成:AI Shell 可以与 PowerShell 7 深度集成,提供无缝的命令行体验。
  • 用户配置:用户可以通过配置文件 config.json 自定义默认代理和其他设置。

如何运行 AI Shell

安装 AI Shell

AI Shell 支持 Windows、MacOS 和 Linux 平台。以下是安装步骤:

  1. Windows 平台
  • 系统要求:Windows 10 或更高版本,PowerShell 7.4.6 或更高版本,Windows Terminal。
  • 运行以下命令安装 AI Shell:
Invoke-Expression \"& {
    $(Invoke-RestMethod \'https://aka.ms/install-aishell.ps1\') }\"
  1. MacOS 平台
  • 系统要求:macOS v13 Ventura 或更高版本,PowerShell 7.4.6 或更高版本,iTerm2 终端应用。
  • 运行以下命令安装 AI Shell:
curl -s https://aka.ms/install-aishell.ps1 | pwsh
  1. Linux 平台

启动 AI Shell

  • 独立运行模式
    • 直接运行 aish 命令启动 AI Shell。
  • 与 PowerShell 7 集成模式
    • 在 PowerShell 7 中运行 Start-AIShell 命令启动 AI Shell。

示例代码

以下是一个简单的示例,展示如何使用 aishopenai-gpt 代理进行互动:


# 启动 AI Shell
Start-AIShell

# 选择 openai-gpt 代理
@openai-gpt

# 输入命令
How to create a text file named helloworld in PowerShell?

# 使用 /code post 命令将生成的代码插入到 PowerShell 会话中
/code post

使用 AI Shell 的额外技巧

快捷键

AI Shell 提供了一些快捷键,使用户能够更高效地使用工具。以下是一些常用的快捷键:

快捷键命令功能
Ctrl+d, Ctrl+c/code copy将所有生成的代码片段复制到剪贴板
Ctrl+/code copy <n>将第 n 个生成的代码片段复制到剪贴板
Ctrl+d, Ctrl+d/code post将所有生成的代码片段发布到已连接的应用程序
Ctrl+d,/code post <n>将第 n 个生成的代码片段发布到已连接的应用程序

代理配置

AI Shell 提供了一个框架,用于创建和注册多个 AI 代理。你可以使用它们与不同的 AI 模型进行交互。AI Shell 发布时内置了两个代理:openai-gptazure

如果你本地构建项目,还可以支持其他代理

  • openai-gpt:要配置代理,请运行 /agent config openai-gpt 以在默认编辑器中打开设置文件。
  • ollama:要配置Ollama代理的条件目前比较苛刻。若要更改模型,您需要修改 OllamaChatService 类中的查询代码。默认模型是 phi3。默认端点是 http://localhost:11434/api/generate ,默认端口是 11434。这可以在代码中更改,最终将被添加到配置文件中。
  • interpreter:要配置代理,运行 /agent config interpreter 以在默认编辑器中打开设置文件。
  • azure`

当你运行 aish 时,系统会提示你选择一个代理。

基本配置

可以在 ~/.aish 下创建一个名为 config.json 文件来配置 AI Shell,例如设置默认代理等。

{
   
  \"DefaultAgent\": \"openai-gpt\"
}

注意:目前,AI Shell 仅支持非常基本的配置,它只支持声明启动时使用的默认代理。这样,您每次运行 aish.exe 时就不需要选择代理了。

切换代理

可以使用聊天消息中的 @<agentName> 语法在代理之间切换。例如:

@openai-gpt

或者使用聊天命令切换代理:

/agent use openai-gpt

解决错误

如果在工作终端中遇到错误,可以使用 Resolve-Error cmdlet 将此错误发送到打开的 AI Shell 窗口以解决问题。此命令要求 AI 模型帮助你解决错误。

Resolve-Error

调用 AI Shell

可以使用 Invoke-AIShell cmdlet 将查询发送到打开的 AI Shell 窗口中的当前代理。此命令允许你从工作终端与 AI 模型进行交互。

Invoke-AIShell \"How to list all storage accounts in Azure PowerShell?\"

插入代码

与代理聊天时,可以使用 /code post 命令将响应中的代码自动插入到工作 shell 中。这是快速获取在 shell 中运行所需的代码的最简单方法。还可以使用热键 Ctrl+d, Ctrl+d 将代码插入工作 shell。

/code post

聊天明亮

以下是与 AI 模型交互的一些基本聊天命令。在聊天会话中使用/help 命令可以查看所有可用的命令及其说明。

NameDescriptionSource
/agentCommand for agent management.Core
/clsClear the screen.Core
/codeCommand to interact with the code generated.Core
/dislikeDislike the last response and send feedback.Core
/exitExit the interactive session.Core
/helpShow all available commands.Core
/likeLike the last response and send feedback.Core
/refreshRefresh the chat session.Core
/renderRender a markdown file, for diagnosis purpose.Core
/retryRegenerate a new response for the last query.Core

特别注意:

  • 由于将其用作独立可执行文件,因此 /code post 命令将不起作用。
  • 这些命令是专为 PowerShell 7 设计的 sidecar 体验而设计。

资源

❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日跟你分享最新的 AI 资讯和开源应用,也会不定期分享自己的想法和开源实例,欢迎关注我哦!

30115776@qq.com

Pretium lorem primis lectus donec tortor fusce morbi risus curae. Dignissim lacus massa mauris enim mattis magnis senectus montes mollis taciti accumsan semper nullam dapibus netus blandit nibh aliquam metus morbi cras magna vivamus per risus.

DeepSeek 推出新一代 AI 推理模型,实力比肩 OpenAI o1-preview!

Open InterpreterAI 赋能终端!在终端中对话AI模型进行编程,通过运行代码来完成各种计算机操作任务

发表评论