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

本文涉及的产品
NLP 自学习平台,3个模型定制额度 1个月
NLP自然语言处理_高级版,每接口累计50万次
NLP自然语言处理_基础版,每接口每天50万次
简介: AI Shell 是一款强大的 CLI 工具,将人工智能直接集成到命令行中,帮助用户提高生产力。AI Shell 支持多种 AI 模型和助手,通过多代理框架提供丰富的功能和灵活的使用模式。

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

🥦 微信公众号|搜一搜:蚝油菜花 🥦


🚀 快速阅读

  • 功能: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 命令可以查看所有可用的命令及其说明。

Name Description Source
/agent Command for agent management. Core
/cls Clear the screen. Core
/code Command to interact with the code generated. Core
/dislike Dislike the last response and send feedback. Core
/exit Exit the interactive session. Core
/help Show all available commands. Core
/like Like the last response and send feedback. Core
/refresh Refresh the chat session. Core
/render Render a markdown file, for diagnosis purpose. Core
/retry Regenerate a new response for the last query. Core

特别注意:

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

资源


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

🥦 微信公众号|搜一搜:蚝油菜花 🥦

相关文章
|
16天前
|
Java Shell Windows
java Runtime.exec()执行shell/cmd命令:常见的几种陷阱与一种完善实现
java Runtime.exec()执行shell/cmd命令:常见的几种陷阱与一种完善实现
31 1
|
2月前
|
Web App开发 网络协议 Linux
linux命令总结(centos):shell常用命令汇总,平时用不到,用到就懵逼忘了,于是专门写了这篇论文,【便持续更新】
这篇文章是关于Linux命令的总结,涵盖了从基础操作到网络配置等多个方面的命令及其使用方法。
70 1
linux命令总结(centos):shell常用命令汇总,平时用不到,用到就懵逼忘了,于是专门写了这篇论文,【便持续更新】
|
2月前
|
Shell 知识图谱
Shell printf 命令
10月更文挑战第3天
21 1
|
2月前
|
Unix Shell Linux
常见的shell命令
shell常用命令
44 11
|
3月前
|
Shell Linux
Linux shell编程学习笔记82:w命令——一览无余
Linux shell编程学习笔记82:w命令——一览无余
|
3月前
|
Java Shell Windows
java Runtime.exec()执行shell/cmd命令:常见的几种陷阱与一种完善实现
java Runtime.exec()执行shell/cmd命令:常见的几种陷阱与一种完善实现
81 5
|
2月前
|
Shell PHP
Shell echo命令
10月更文挑战第3天
23 0
|
2月前
|
JSON Java Shell
Dockerfile中RUN、CMD、ENTRYPOINT、SHELL命令的区别
理解这些指令的差异和应用场景,有助于构建高效、灵活且易于管理的Docker镜像。在实际应用中,根据需要选择合适的指令,可以有效地控制镜像构建和容器运行的行为。
183 0
|
2月前
|
SQL Shell 数据库
在TDengine容器中创建初始化数据库的Shell命令实例
以上就是在Docker容器环境中部署并初始化TDengine数据库的全过程,希望对你有所帮助。
71 0
|
4月前
|
分布式计算 资源调度 Hadoop
Hadoop入门基础(五):Hadoop 常用 Shell 命令一网打尽,提升你的大数据技能!
Hadoop入门基础(五):Hadoop 常用 Shell 命令一网打尽,提升你的大数据技能!

热门文章

最新文章