https://github.com/siliconlad/aish
A terminal shell built with AI at the core
https://github.com/siliconlad/aish
developer-tools llm local-llm productivity shell terminal
Last synced: 8 months ago
JSON representation
A terminal shell built with AI at the core
- Host: GitHub
- URL: https://github.com/siliconlad/aish
- Owner: siliconlad
- Created: 2024-04-21T16:38:52.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-11-24T15:17:34.000Z (over 1 year ago)
- Last Synced: 2024-11-24T16:24:31.674Z (over 1 year ago)
- Topics: developer-tools, llm, local-llm, productivity, shell, terminal
- Language: Rust
- Homepage:
- Size: 170 KB
- Stars: 6
- Watchers: 2
- Forks: 0
- Open Issues: 23
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
A shell built with AI at the core.
Checkout the blog post on how we built it [here](https://siliconlad.com/blog/aish).
> [!Warning]
> This shell is still in the early stages of development and is **not ready** for production use.
## Features
With `aish`, your LLM lives inside your shell.
**Prompt it directly**
```
> "Hello, how are you?"
Hello, how can I assist you today?
```
**Utilise LLMs within pipelines**
```
> echo "Hello" | "translate to French"
Bonjour
```
**Pipe files into LLMs**
```
> echo "What is 2 + 2?" > prompt.txt
> llm < prompt.txt
The answer is 4.
```
## Getting Started
Make sure you have the latest version of [Rust](https://www.rust-lang.org) installed.
Then, clone this repository and run `cargo run` to start the shell.
```
git clone https://github.com/siliconlad/aish && cd aish && cargo run
```
### OpenAI Key
To use the llm, you need to provide an OpenAI API key.
Then create a file at `~/.aishrc` with the following:
```
export OPENAI_API_KEY=
```
## Shell Features
`aish` syntax is inspired by Bash.
Currently, the following features are implemented:
- Aliases (`alias`)
- Environment variables (`export`)
- Environment variable expansion (`$VARIABLE`)
- Pipelining (`|`)
- Redirection (`>`, `<`, `>>`)
- Quoting (`"`, `'`)
- Command sequences (`;`, `&&`)
- Tilde expansion (`~`)
- Escape sequences (`\`)
- Builtin commands (`cd`, `echo`, `pwd`, `exit`, `export`, `unset`, `llm`)
- Run exectuables on `PATH`
Many more features are planned and possible.
To suggest a feature, create an issue or comment on an existing issue.