aio - Streamlined AI Terminal Interactions
Welcome to the README for the aio command line tool – your gateway to seamless communication with AI engines via the terminal. This tool streamlines interactions with AI APIs, including the OpenAI API, and conveniently formats the results using integrated Markdown formatting. Whether you're seeking information, generating content, or experimenting with AI, aio has you covered.
0.9 BREAKING CHANGES
aio command line argument changed to be more ergonomic. See the Argument manifest for more information about the new interface.
0.8 BREAKING CHANGES
The default credentials path has changed from ~/.config/aio/creds.yml to ~/.cache/aio/creds.yml.
Table of Contents
NEW : Run code from code blocks
You can now run code from code blocks using the flag -r|--run
Introduction
The aio command line tool is designed to simplify your interactions with AI engines by providing an intuitive interface directly within your terminal. Harness the power of large language models such as the OpenAI API without leaving your command line environment.
Installation
Install from crates.io
You can now install aio from crates.io using the following command:
cargo install aio-cli
The program will be installed to your ~/.cargo/bin directory.
Install from GitHub releases
To install aio, follow these steps:
-
Download the latest release based on your operating system and architecture.
-
Extract the downloaded archive.
-
(optional) Add the path of the directory where the binary was extracted to your
PATH. Write this in your~/.bashrcor~/.zshrc(or~/.zshenv):PATH=/path/to/aio/bin:or you can copy the
aioexecutable into your/usr/local/bin.# sudo may be required
Install from source
To install aio, follow these steps:
-
Prerequisites: Make sure you have Rust installed on your system. If not, you can install Rust.
-
Clone Repository: Clone the
aiorepository to your local machine: -
Build and Install: Navigate to the
aiodirectory and build the tool:
Usage
Using aio is straightforward. In your terminal, simply invoke the tool with appropriate arguments to communicate with AI engines and receive formatted responses.
Arguments
The aio command line tool supports the following arguments:
-
--config_path: Path to the configuration file. Default is~/.config/aio/config.yaml. -
--creds_path: Path to the credentials file. Default is~/.config/aio/creds.yaml. -
-e|--engine <ENGINE>: Name of the AI engine to use. You can optionally append a custom prompt name from the configuration file (e.g.,openai:command). List of ENGINEs:openai: OpenAI APIfrom-file: Read prompts from a file. Useful to debug or test a file.
-
-f|--formatter <FORMATTER>: Formatter to use. Possible FORMATTERs:markdown: Parse the text response as Markdown and format it in the console.raw: Doesn't parse the response text. Just displays the raw text response.
By default, the formatter is set to
markdownif in terminal/tty, otherwiseraw. -
-r|--run <METHOD>: Run code block if the language is supported. Possible METHODs:no: Doesn't run anything.ask: Ask to run code.force: Run code without asking.
By default,
runis set tono. -
input: User text prompt that will be used for interaction with the AI engine. -
-h|--help: Display the help message. -
-V|--version: Display the version.
Note : aio can now read input from stdin instead of from parameters.
Configuration
To fine-tune your AI interactions, you can create and modify a configuration file in YAML format. This file allows you to define prompts, messages, and parameters for different AI engines. Refer to the Configuration Details file for more information.
Credentials
Secure your API credentials by storing them in a credentials file. This ensures a safe and convenient way to authenticate with AI engines. Credentials can be set up using the creds.yaml file. Refer to the Credentials Details file for more information.
Examples
Here are a few examples to get you started:
-
Generate a creative story using the OpenAI engine:
-
Ask for a command to extract a compressed archive:
Aliases
The whole command can be long to type in. You can use aliases in your shell to shorten the command.
Contributing
We welcome contributions from the community to enhance the aio project. If you're interested in making improvements, fixing issues, or adding new features, feel free to contribute.
By contributing to aio, you become part of an open-source community working to improve AI interactions in the terminal.
For more detailed guidelines, please refer to our Contribution Guide.
We appreciate your contributions and look forward to collaborating with you!