目录
简介
安装
使用
特殊字符
静默模式(跳过解释)
自定义 API 端点
聊天模式
设置语言
配置界面
版本升级
Github 之前发布了 GitHub Copilot CLI,有了它你可以在你的命令行控制台中通过自然语言让它帮你写出 shell 命令,完成你所描述的目的。也就不用再费脑细胞记住那么多命令和参数了。
感兴趣的可以到 https://githubnext.com/projects/copilot-cli/
去申请加入到 「waitlist」 ,然后看你是否可以不用等待太漫长的官方审批吧。反正,我是已经等了好久还都没拿到试用通知。
那我们是否可以通过其他方式来体验这个能力呢?答案当然是可以的,它就是今天我要给大家推荐的:ai-shell
简介
ai-shell 是一个将自然语言转换为 Shell 命令的 CLI,灵感就来自于前面提到的 GitHub Copilot CLI。它是由国外 Headless CMS 厂商 builder.io 的创始人 Steve Sewell 发起的一个 MIT 协议的开源项目。是基于 Node.js 用 typescript 开发的,截至本文发稿时它在 GitHub 上已经有 2.7k 的 Star 了。
安装
ai-shell 是基于 Node.js 开发的所以,需要依赖 Node.js 环境才能运行。目前支持的 Node.js 最低版本是 v14。
有了 Node.js 环境后,就可以使用下面的命令安装 ai-shell
了:
npm install -g @builder.io/ai-shell
而 ai-shell 的 AI 能力来自于 OpenAI 的 API 接口,所以你需要有 OpenAI 的 API 密钥。(注意:如果您还没有创建 OpenAI 账号并设置计费方式,您需要先进行这些步骤)
你可以通过下面的命令为你的 ai-shell 设置密钥
ai config set OPENAI_KEY=<你的密钥>
【注】ai-shell 的所有配置均存储在当前用户根目录下的 .ai-shell
文件中,碰到极端情况你可以直接修改这里面的配置内容。
使用
ai <提示语>
例如:
ai 查找所有.log文件
特殊字符
某些 shell 会处理某些特殊字符,如 ? 或 * 或看起来像是文件路径的字符。如果您遇到一些奇怪的行为,可以将提示语用引号括起来以避免类似问题,例如下面的示例:
ai '我的 IP 地址是什么?'
静默模式(跳过解释)
您可以使用 -s
或 --silent
标志来禁用和跳过解释部分。
ai -s 列出所有日志文件
或者使用以下命令将静默模式保存为首选项:
ai config set SILENT_MODE=true
自定义 API 端点
ai-shell 默认使用的是 OpenAI 官方的 API 端点(默认值为 https://api.openai.com/v1
)
如果您有自己的 OpenAI API 代理端点,那么您可以通过设置 OPENAI_API_ENDPOINT 来修改这个设置
ai config set OPENAI_API_ENDPOINT=<您的代理端点>
聊天模式
通过下面的命令,可以进入聊天模式(相当于命令行版的 ChatGPT):
ai chat
设置语言
今年的五一假期第一天,我就给 ai-shell 提交了一个支持多语言的 PR,其中我连带提交了除了英文外的12种语言的语言包。现在这个 PR 已经合并进了主分支,所以自 0.1.20 版开始,ai-shell 默认语言为英文,但是你可以自己修改为简体中文或者其他语言.
例如你可以通过以下命令将 ai-shell 默认语言设置为简体中文:
ai config set LANGUAGE=zh-Hans
您可以参考下列语言对应的键,来设置您需要的语言界面:
语言 | 键值 |
---|---|
English(英语) | en |
简体中文 | zh-Hans |
繁体中文 | zh-Hant |
Español(西班牙语) | es |
日本語(日语) | jp |
한국어 (韩国语) | ko |
Français(法语) | fr |
Deutsch(德语) | de |
Русский(俄语) | ru |
Українська(乌克兰语) | uk |
Tiếng Việt(越南语) | vi |
العربية(阿拉伯语) | ar |
Português(葡萄牙语) | pt |
配置界面
如果要使用更可视化的界面查看和设置配置选项,可以键入:
ai config
您将看到如下所示的交互式 UI:
版本升级
使用以下命令检查已安装的版本:
ai --version
如果它不是最新版本,请运行:
npm update -g @builder.io/ai-shell
或者直接使用 AI shell 的子命令:
ai update
引用地址