灵感来源于 GitHub Copilot X CLI,但对所有人开源。
ai <prompt>
例如:
ai list all log files
然后你将看到类似如下的输出,可以选择执行建议的命令、通过提示修改命令或取消:
◇ 你的脚本:
│
│ find . -name "*.log"
│
◇ 说明:
│
│ 1. 在当前目录及所有子目录中搜索扩展名为 ".log" 的文件。
│
◆ 是否运行此脚本?
│ ● ✅ 是(开始吧!)
│ ○ 📝 修改
│ ○ ❌ 取消
└
### 特殊字符
需要注意的是,某些 shell 会特殊处理像 `?`、`*` 或看起来像文件路径的字符。如果遇到奇怪的行为,可以用引号包裹提示词来避免问题,示例如下:
ai 'what is my ip address'
### 聊天模式

ai chat
在此模式下,你可以与 AI 进行对话,并直接在 CLI 中获得自然、对话式的回复:
┌ 开始新对话
│
◇ 你:
│ 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` 标志来禁用并跳过解释部分:
ai -s list all log files
或者通过以下命令将其保存为首选项:
ai config set SILENT_MODE=true
### 自定义 API 端点
你可以自定义 OpenAI API 端点,设置 OPENAI_API_ENDPOINT(默认值:`https://api.openai.com/v1`):
ai config set OPENAI_API_ENDPOINT=<your proxy 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
### 配置界面
要使用更可视化的界面来查看和设置配置选项,可以输入:
ai config
会得到如下交互式界面:
◆ 设置配置:
│ ○ OpenAI 密钥
│ ○ OpenAI API 端点
│ ○ 静默模式
│ ● 模型 (gpt-4o-mini)
│ ○ 语言
│ ○ 取消
└
### 升级
查看已安装的版本:
ai --version
如果不是[最新版本](https://github.com/BuilderIO/ai-shell/tags),运行:
npm update -g @builder.io/ai-shell
或者直接使用 AI Shell:
ai update
## 常见问题
### 429 错误
部分用户报告来自 OpenAI 的 429 错误。这是由于计费设置不正确或配额使用过多造成的。请按照[本指南](https://help.openai.com/en/articles/6891831-error-code-429-you-exceeded-your-current-quota-please-check-your-plan-and-billing-details)进行修复。
你可以通过[此链接](https://platform.openai.com/account/billing/overview)激活计费。如果不在 OpenAI 的活跃授权范围内,请确保添加付款方式。
## 动机
我不是 bash 高手,而且迫不及待想要使用 Copilot CLI,于是等不及了。
## 贡献
如果你想帮助修复 [Issues](https://github.com/BuilderIO/ai-shell/issues) 中的错误或实现功能(提示:留意 `help wanted` 标签),请查看[贡献指南](CONTRIBUTING.md)了解如何设置项目。
## 致谢
- 感谢 GitHub Copilot 提供了出色的工具以及这个创意。
- 感谢 Hassan 以及他在 [aicommits](https://github.com/Nutlope/aicommits) 上的工作,该项目启发了工作流程以及部分代码和流程。