ai-shell

command module
v0.3.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 11, 2024 License: GPL-3.0 Imports: 9 Imported by: 0

README

for ai-shell

Welcome to ai-shell! It's a command-line tool that uses OpenAI's GPT-3.5-turbo to generate precise console commands based on your instructions. It takes in your commands, gathers some context, and lets an AI model figure out the best course of action.

What You'll Need

  1. An OpenAI API key: This is non-negotiable. You'll need this to connect to OpenAI's API and make magic happen. Make sure to set it as an environment variable OPENAI_API_KEY.

Getting ai-shell on Your Machine

Option 1: Use Go

If you have Go set up on your machine, it's a breeze. Just use the following command:

go install github.com/sett17/ai-shell@latest
Option 2: Grab the Binary

I've also got pre-compiled binaries for you. Just head over to the Releases page, download the version you need, and you're good to go.

Use ai instead of ai-shell

If you are in a unix system you can easily create an ai symlink for ai-shell.

ln -s ~/go/bin/ai-shell ~/go/bin/ai

Or whatever your GOPATH is when looking up go env :)

Configuration

ai-shell uses a configuration file (config.toml) to customize its behavior. By default, this file is located in the local configuration directory for your system:

  • On Linux and Unix systems: ~/.config/ai-shell/config.toml
  • On Windows: %APPDATA%/ai-shell/config.toml or C:\Users\%USER%\AppData\Roaming\ai-shell\config.toml

Don't worry if you don't find the config file there, ai-shell will create one with default values for you on its first run.

Configuration Structure

Each context item has two common settings:

  • Enabled: A Boolean that controls whether this context is enabled.
  • Priority: An integer that determines the order in which this context is considered by the AI. Higher numbers mean higher priority.

Moreover, some contexts may have additional configuration settings.

Context-Specific Configurations
Context Description Additional Settings
FileListing Provides file listing context to the AI. /
Shell Provides shell context to the AI. /

This structure will be maintained as more context types are added in the future. Each new context will come with its own Enabled and Priority settings and may include additional context-specific configurations.

How to Use ai-shell

It's quite simple to use ai-shell. You input an instruction, and the AI spits out a command. You can revise this command, and then either execute it or exit. That's all there is to it.

A neat feature is that you can tweak how the AI understands your instructions using context. You can enable or disable different contexts and prioritize them in accordance with your needs.

Contributing

Feel free to contribute to ai-shell. I don't have a formal contribution guide yet, but just submit a PR, and I'll take a look.

License

For details on the license, please check the LICENSE file.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL