Note: If you haven't already, you'll have to create an account and set up billing.
Set the key so ai-shell can use it:
ai config set OPENAI_KEY=<your token>
This will create a .ai-shell file in your home directory.
Usage
ai <prompt>
For example:
ai list all log files
Then you will get an output like this, where you can choose to run the suggested command, revise the command via a prompt, or cancel:
◇ Your script:
│
│ find . -name "*.log"
│
◇ Explanation:
│
│ 1. Searches for all files with the extension ".log"in the current directory and any subdirectories.
│
◆ Run this script?
│ ● ✅ Yes (Lets go!)
│ ○ 📝 Revise
│ ○ ❌ Cancel
└
Special characters
Note that some shells handle certain characters like the ? or * or things that look like file paths specially. If you are getting strange behaviors, you can wrap the prompt in quotes to avoid issues, like below:
ai 'what is my ip address'
Chat mode
ai chat
With this mode, you can engage in a conversation with the AI and receive helpful responses in a natural, conversational manner directly through the CLI:
┌ Starting new conversation
│
◇ You:
│ how do I serve a redirect in express
│
◇ AI Shell:
In Express, you can use the `redirect()` method to serve a redirect. The `redirect()` method takes one argument, which is the URL that you want to redirect to.
Here's an example:
\`\`\`js
app.get('/oldurl', (req, res) => {
res.redirect('/newurl');
});
\`\`\`
Silent mode (skip explanations)
You can disable and skip the explanation section by using the flag -s or --silent
ai -s list all log files
or save the option as a preference using this command:
ai config set SILENT_MODE=true
Custom API endpoint
You can custom OpenAI API endpoint to set OPENAI_API_ENDPOINT(default: https://api.openai.com/v1)
ai config set OPENAI_API_ENDPOINT=<your proxy endpoint>
Set Language
The AI Shell's default language is English, but you can easily switch to your preferred language by using the corresponding language keys, as shown below:
Language
Key
English
en
Simplified Chinese
zh-Hans
Traditional Chinese
zh-Hant
Spanish
es
Japanese
jp
Korean
ko
French
fr
German
de
Russian
ru
Ukrainian
uk
Vietnamese
vi
Arabic
ar
Portuguese
pt
Turkish
tr
For instance, if you want to switch to Simplified Chinese, you can do so by setting the LANGUAGE value to zh-Hans:
ai config set LANGUAGE=zh-Hans
This will set your language to Simplified Chinese.
Config UI
To use a more visual interface to view and set config options you can type:
ai config
To get an interactive UI like below:
◆ Set config:
│ ○ OpenAI Key
│ ○ OpenAI API Endpoint
│ ○ Silent Mode
│ ● Model (gpt-4o-mini)
│ ○ Language
│ ○ Cancel
└
Some users are reporting a 429 from OpenAI. This is due to incorrect billing setup or excessive quota usage. Please follow this guide to fix it.
You can activate billing at this link. Make sure to add a payment method if not under an active grant from OpenAI.
Motivation
I am not a bash wizard, and am dying for access to the copilot CLI, and got impatient.
Contributing
If you want to help fix a bug or implement a feature in Issues (tip: look out for the help wanted label), checkout the Contribution Guide to learn how to setup the project.
Credit
Thanks to GitHub Copilot for their amazing tools and the idea for this
Thanks to Hassan and his work on aicommits which inspired the workflow and some parts of the code and flows
A CLI that converts natural language to shell commands.
The npm package @builder.io/ai-shell receives a total of 40 weekly downloads. As such, @builder.io/ai-shell popularity was classified as not popular.
We found that @builder.io/ai-shell demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago.It has 0 open source maintainers collaborating on the project.
Package last updated on 01 Oct 2024
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
A malicious npm package disguised as a WhatsApp client is exploiting authentication flows with a remote kill switch to exfiltrate data and destroy files.
GitHub removed 27 malicious pull requests attempting to inject harmful code across multiple open source repositories, in another round of low-effort attacks.