❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日跟你分享最新的 AI 资讯和开源应用,也会不定期分享自己的想法和开源实例,欢迎关注我哦!
🥦 微信公众号|搜一搜:蚝油菜花 🥦
🚀 快速阅读
- 功能:AI Shell 是一款将 AI 集成到命令行中的 CLI 工具。
- 模式:支持独立运行和与 PowerShell 7 集成两种模式。
- 代理:内置多个 AI 代理,支持与不同 AI 模型互动。
正文(附运行示例)
AI Shell 是什么
AI Shell 是一款命令行工具,将人工智能的强大能力直接带到了命令行环境中。它设计用于帮助用户在命令行中获取各种 AI 助手的命令建议,从而提高生产力。AI Shell 通过多代理框架提供了丰富的功能和灵活的使用模式。每个代理都是一个库,可以用来与不同的 AI 模型或辅助提供者进行对话式的交互。
AI Shell 的主要功能
- 多代理支持:AI Shell 内置了多个代理,如
openai-gpt
和azure
代理,支持与不同 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 平台。以下是安装步骤:
- Windows 平台
- 系统要求:Windows 10 或更高版本,PowerShell 7.4.6 或更高版本,Windows Terminal。
- 运行以下命令安装 AI Shell:
Invoke-Expression "& {
$(Invoke-RestMethod 'https://aka.ms/install-aishell.ps1') }"
- MacOS 平台
- 系统要求:macOS v13 Ventura 或更高版本,PowerShell 7.4.6 或更高版本,iTerm2 终端应用。
- 运行以下命令安装 AI Shell:
curl -s https://aka.ms/install-aishell.ps1 | pwsh
- Linux 平台
- 手动安装,请参考官方文档 手动安装 AI Shell。
启动 AI Shell
- 独立运行模式
- 直接运行
aish
命令启动 AI Shell。
- 直接运行
- 与 PowerShell 7 集成模式
- 在 PowerShell 7 中运行
Start-AIShell
命令启动 AI Shell。
- 在 PowerShell 7 中运行
示例代码
以下是一个简单的示例,展示如何使用 aish
与 openai-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-gpt
和 azure
。
如果你本地构建项目,还可以支持其他代理:
- 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 体验而设计。
资源
- 项目官网:https://github.com/PowerShell/AIShell
- GitHub 仓库:https://github.com/PowerShell/AIShell
- 安装指南:https://learn.microsoft.com/powershell/utility-modules/aishell/install-aishell?view=ps-modules&tabs=windows
- API 文档:https://learn.microsoft.com/powershell/utility-modules/aishell/overview
- 贡献指南:https://github.com/PowerShell/AIShell/blob/main/docs/CONTRIBUTING.md
- 隐私声明:https://www.microsoft.com/en-us/privacy/privacystatement?msockid=1fe60b30e66967f13fb91f29e73f661a
❤️ 如果你也关注 AI 的发展现状,且对 AI 应用开发非常感兴趣,我会每日跟你分享最新的 AI 资讯和开源应用,也会不定期分享自己的想法和开源实例,欢迎关注我哦!
🥦 微信公众号|搜一搜:蚝油菜花 🥦