Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/BuilderIO/ai-shell
A CLI that converts natural language to shell commands.
https://github.com/BuilderIO/ai-shell
Last synced: 2 months ago
JSON representation
A CLI that converts natural language to shell commands.
- Host: GitHub
- URL: https://github.com/BuilderIO/ai-shell
- Owner: BuilderIO
- License: mit
- Created: 2023-04-05T18:17:07.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-02-19T19:23:54.000Z (11 months ago)
- Last Synced: 2024-04-24T19:01:07.281Z (9 months ago)
- Language: TypeScript
- Size: 284 KB
- Stars: 3,621
- Watchers: 26
- Forks: 206
- Open Issues: 28
-
Metadata Files:
- Readme: README-zh-Hans.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
- stars - BuilderIO/ai-shell - A CLI that converts natural language to shell commands. (TypeScript)
- awesome-chatgpt-api - AI Shell
- jimsghstars - BuilderIO/ai-shell - A CLI that converts natural language to shell commands. (TypeScript)
- AiTreasureBox - BuilderIO/ai-shell - 01-07_4349_1](https://img.shields.io/github/stars/BuilderIO/ai-shell.svg) |A CLI that converts natural language to shell commands.| (Repos)
README
一个将自然语言转换为 Shell 命令的 CLI。
受 GitHub Copilot X CLI 启发, 但是面向所有人开源.
# AI Shell
## 安装
> 最低支持的 Node.js 版本是 v14
1. 安装 _ai shell_:
```sh
npm install -g @builder.io/ai-shell
```2. 从 [OpenAI](https://platform.openai.com/account/api-keys) 获取您的 API 密钥
> 注意:如果您还没有创建帐户并设置计费方式,您需要先进行这些步骤。
3. 设置密钥以便 ai-shell 可以使用它:
```sh
ai config set OPENAI_KEY=
```这将在您的主目录中创建一个名为 `.ai-shell` 的文件。
## 使用
```bash
ai
```例如:
```bash
ai 查找所有.log文件
```然后您将会得到如下输出,您可以选择运行建议的命令、通过提示修改命令或者取消:
```bash
◇ 您的脚本:
│
│ find . -name "*.log"
│
◇ 解释:
│
│ 这个脚本的步骤如下:
│ 1. 在当前目录下搜索所有后缀为".log"的文件。
│ 2. 输出所有找到的文件的路径。
│
◆ 运行这个脚本?
│ ● ✅ 是 (开始运行吧!)
│ ○ 📝 修改
│ ○ ❌ 取消
└
```### 特殊字符
请注意,某些 shell 会处理某些特殊字符,如 `?` 或 `*` 或看起来像是文件路径的字符。如果您遇到奇怪的行为,可以将提示符用引号括起来以避免问题,例如下面的示例:
```bash
ai '我的 IP 地址是什么?'
```### 聊天模式
![Chat demo](https://user-images.githubusercontent.com/844291/232889699-e13fb3fe-1659-4583-80ee-6c58d1bcbd06.gif)
```bash
ai chat
```通过此模式,您可以直接通过 CLI 与 AI 进行对话,并以自然、对话式的方式获得有用的响应:
```sh
┌ 开始新的对话
│
◇ 您:
│ 在 Express 中如何进行重定向服务?
│
◇ AI Shell:在 Express 中,您可以使用 `redirect()` 方法来进行重定向服务。`redirect()` 方法接受一个参数,即您要重定向到的 URL。
以下是一个示例:
\`\`\`js
app.get('/oldurl', (req, res) => {
res.redirect('/newurl');
});
\`\`\`
```### 静默模式(跳过解释)
您可以使用 `-s` 或 `--silent` 标志来禁用和跳过解释部分。
```bash
ai -s 列出所有日志文件
```或者使用以下命令将选项保存为首选项:
```bash
ai config set SILENT_MODE=true
```### 自定义 API 端点
您可以自定义 OpenAI API 端点以设置 OPENAI_API_ENDPOINT(默认值为 `https://api.openai.com/v1`)。
```sh
ai config set OPENAI_API_ENDPOINT=
```### 设置语言
![Language UI](https://user-images.githubusercontent.com/1784873/235330029-0a3b394c-d797-41d6-8717-9a6b487f1ae8.gif)
AI Shell 的默认语言是英文,但您也可以参考下列语言对应的键,来设置您需要的语言界面:
| 语言 | 键值 |
| ---------- | ------- |
| 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 |例如,您要将语言设置为简体中文,可以在设置 LANGUAGE 的值为 zh-Hans:
```sh
ai config set LANGUAGE=zh-Hans
```这样您的语言就设置为了简体中文
### 配置界面
如果要使用更可视化的界面查看和设置配置选项,可以键入:
```bash
ai config
```要获取如下所示的交互式 UI:
```bash
◆ Set config:
│ ○ OpenAI Key
│ ○ OpenAI API Endpoint
│ ○ Silent Mode
│ ● Model (gpt-4o-mini)
│ ○ Language
│ ○ Cancel
└
```### 升级
使用以下命令检查已安装的版本:
```bash
ai --version
```如果它不是[最新版本](https://github.com/BuilderIO/ai-shell/tags),请运行:
```bash
npm update -g @builder.io/ai-shell
```或者只需使用 AI shell:
```bash
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` 标签),请查看 [Contribution Guide](CONTRIBUTING.md) 以了解如何设置项目。
## 致谢
- 感谢 GitHub Copilot 提供的惊人工具和这个想法
- 感谢 Hassan 和他在 [aicommits](https://github.com/Nutlope/aicommits) 上的工作,这启发了工作流程和部分代码和流程。## 社区
欢迎加入 [Builder.io Discord](https://discord.gg/EMx6e58xnw) 并在 #ai-shell 房间与我们聊天。