一个将自然语言转换为Shell命令的CLI

作者:Sec-Labs | 发布时间:

项目地址

https://github.com/BuilderIO/ai-shell

GitHub Copilot X CLI启发,但面向所有人的开源项目

250e512bfa160917

AI Shell

安装

Node.js 的最低支持版本是v14

  1. 安装 ai shell:

   shellCopy code
   npm install -g @builder.io/ai-shell

  1. OpenAI获取你的API密钥

注意:如果你还没有账户,需要先创建账户并设置计费。

  1. 设置API密钥以便 ai-shell 可以使用:

   shellCopy code
   ai config set OPENAI_KEY=<your token>

这会在你的主目录下创建一个 .ai-shell 文件。

使用

shellCopy code
ai <prompt>

例如:

shellCopy code
ai list all log files

然后你会得到如下输出,你可以选择运行建议的命令、通过提示修改命令或者取消:

shellCopy code◇  Your script:
│
│  find . -name "*.log"
│
◇  Explanation:
│
│  1. 在当前目录和任何子目录中搜索所有扩展名为 ".log" 的文件。
│
◆  Run this script?
│  ● ✅ Yes (Lets go!)
│  ○ 📝 Revise
│  ○ ❌ Cancel
└

特殊字符

注意,某些Shell会特别处理某些字符,如 ?* 或类似文件路径的内容。如果你遇到奇怪的行为,可以将提示用引号括起来以避免问题,如下所示:

shellCopy code
ai 'what is my ip address'

聊天模式

d9f7ddb8b6161248

 

shellCopy code
ai chat

使用这种模式,你可以在CLI中直接与AI进行对话,并以自然、对话式的方式获得有用的回复:

shellCopy code┌  Starting new conversation
│
◇  You:
│  how do I serve a redirect in express
│
◇  AI Shell:

在 Express 中,你可以使用 `redirect()` 方法来服务重定向。`redirect()` 方法接受一个参数,即你想要重定向到的URL。

下面是一个例子:

\`\`\`js
app.get('/oldurl', (req, res) => {
  res.redirect('/newurl');
});
\`\`\`

静默模式(跳过解释)

你可以使用标志 -s--silent 来禁用并跳过解释部分:

shellCopy code
ai -s list all log files

或使用以下命令将该选项保存为首选项:

shellCopy code
ai config set SILENT_MODE=true

自定义API端点

你可以自定义 OpenAI API 端点,以设置 OPENAI_API_ENDPOINT(默认为 https://api.openai.com/v1

shellCopy code
ai config set OPENAI_API_ENDPOINT=<your proxy endpoint>

配置UI

如果你想使用更直观的界面来查看和设置配置选项,可以键入:

shellCopy code
ai config

以获得如下交互式UI:

shellCopy code◆  Set config:
│  ○ OpenAI Key
│  ○ OpenAI API Endpoint
│  ○ Silent Mode
│  ● Model (gpt-3.5-turbo)
│  ○ Cancel
└

升级

使用以下命令检查已安装的版本:

shellCopy code
ai --version

如果它不是最新版本,运行以下命令:

shellCopy code
npm update -g @builder.io/ai-shell

或者只需使用 AI shell:

shellCopy code
ai update

常见问题

429错误

一些用户报告收到了来自 OpenAI 的 429 错误。这是由于错误的计费设置或超额的配额使用。请按照此指南进行修复。

你可以在此链接激活计费。如果没有处于 OpenAI 的活动补助计划下,请确保添加一个付款方式。

动机

我不是一个 bash 魔术师,也很渴望使用 copilot CLI,而且很不耐烦。

贡献

如果你想在 Issues 中修复错误或实现功能(提示:查看 help wanted 标签),请查看 贡献指南 以了解如何设置项目。

鸣谢

  • 感谢 GitHub Copilot 提供了这个惊人的工具和这个想法。
  • 感谢 Hassan 及其在 aicommits 上的工作,它启发了工作流程和代码和流程的某些部分。

社区

来加入 Builder.io 的 Discord 并在 #ai-shell 房间与我们聊天吧。

39427b1836161304

 

标签:工具分享, shellcode生成工具, ChatGPT