将自然语言转换为 shell 命令的命令行工具。
灵感来自 GitHub Copilot X CLI,但面向所有人开源。
AI Shell
设置
支持的最低 Node.js 版本为 v14
-
安装 ai shell:
npm install -g @builder.io/ai-shell
-
从 OpenAI 获取你的 API 密钥
注意:如果你还没有账户,你需要创建一个账户并设置账单。
-
设置密钥以便 ai-shell 使用:
ai config set OPENAI_KEY=<你的密钥>
这将在你的主目录中创建一个
.ai-shell
文件。
使用方法
ai <提示>
例如:
ai 列出所有日志文件
然后你会得到这样的输出,你可以选择运行建议的命令、通过提示修改命令或取消:
◇ 你的脚本:
│
│ find . -name "*.log"
│
◇ 解释:
│
│ 1. 在当前目录及其所有子目录中搜索扩展名为".log"的所有文件。
│
◆ 运行这个脚本?
│ ● ✅ 是(开始!)
│ ○ 📝 修改
│ ○ ❌ 取消
└
特殊字符
请注意,某些 shell 会特殊处理某些字符,如 ?
或 *
或看起来像文件路径的内容。如果你遇到奇怪的行为,可以用引号将提示包裹起来以避免问题,如下所示:
ai '我的 IP 地址是什么'
聊天模式
ai chat
使用这个模式,你可以直接通过命令行与 AI 进行对话,并以自然、对话的方式获得有用的回应:
┌ 开始新对话
│
◇ 你:
│ 如何在 express 中提供重定向
│
◇ AI Shell:
在 Express 中,你可以使用 `redirect()` 方法来提供重定向。`redirect()` 方法接受一个参数,即你想要重定向到的 URL。
这里有一个例子:
\`\`\`js
app.get('/oldurl', (req, res) => {
res.redirect('/newurl');
});
\`\`\`
静默模式(跳过解释)
你可以使用 -s
或 --silent
标志来禁用和跳过解释部分
ai -s 列出所有日志文件
或者使用这个命令将选项保存为偏好设置:
ai config set SILENT_MODE=true
自定义 API 端点
你可以自定义 OpenAI API 端点,设置 OPENAI_API_ENDPOINT(默认:https://api.openai.com/v1
)
ai config set OPENAI_API_ENDPOINT=<你的代理端点>
设置语言
AI Shell 的默认语言是英语,但你可以使用相应的语言键轻松切换到你喜欢的语言,如下所示:
语言 | 键 |
---|---|
英语 | en |
简体中文 | zh-Hans |
繁体中文 | zh-Hant |
西班牙语 | es |
日语 | jp |
韩语 | ko |
法语 | fr |
德语 | de |
俄语 | ru |
乌克兰语 | uk |
越南语 | vi |
阿拉伯语 | ar |
葡萄牙语 | pt |
土耳其语 | tr |
例如,如果你想切换到简体中文,你可以通过将 LANGUAGE 值设置为 zh-Hans 来实现:
ai config set LANGUAGE=zh-Hans
这将把你的语言设置为简体中文。
配置 UI
要使用更直观的界面查看和设置配置选项,你可以输入:
ai config
以获得如下的交互式 UI:
◆ 设置配置:
│ ○ OpenAI 密钥
│ ○ OpenAI API 端点
│ ○ 静默模式
│ ● 模型 (gpt-3.5-turbo)
│ ○ 语言
│ ○ 取消
└
升级
使用以下命令检查已安装的版本:
ai --version
如果不是最新版本,运行:
npm update -g @builder.io/ai-shell
或者直接使用 AI shell:
ai update
常见问题
429 错误
一些用户报告从 OpenAI 收到 429 错误。这是由于账单设置不正确或超额使用配额导致的。请按照这个指南来修复它。
你可以在这个链接激活账单。如果不是在 OpenAI 的活跃赠款下,确保添加一个支付方式。
动机
我不是 bash 高手,非常渴望获得 copilot CLI 的访问权限,但等不及了。
贡献
如果你想帮助修复 Issues 中的 bug 或实现功能(提示:留意 help wanted
标签),请查看贡献指南了解如何设置项目。
致谢
- 感谢 GitHub Copilot 提供的出色工具和这个想法
- 感谢 Hassan 和他在 aicommits 上的工作,这启发了工作流程和部分代码和流程
社区
加入 Builder.io discord 并在 #ai-shell 房间与我们聊天