AIChat CLI
A Rust CLI for over 20 LLM providers: command mode, REPL chat, RAG and tool calling from the terminal
- 10,567 ★ on the repository
- Last commit
- Apache-2.0
Extended access
Why this level
- The shell assistant generates and can run commands on the user's system
- It talks over the network to the configured LLM providers
Install
Manual install
cargo install aichatFor those who already have Rust installed.
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- The shell assistant generates and can run commands on the user's system
- It talks over the network to the configured LLM providers
This is third-party code. Review the repository files before installing.
What it does
AIChat is a single command-line interface over many providers: OpenAI, Claude, Gemini, Ollama, Groq, Bedrock, OpenRouter and others through one config. It works in three modes: a one-off command, a REPL chat with autocomplete and history, and a shell-assistant mode that turns a natural-language task description into a command for the current OS. It can call external tools and functions, attach documents and web pages for RAG, and run a local web server with a playground and an OpenAI-compatible API.
Who it is for. For developers who want to work with different LLMs from the terminal through one tool instead of a separate client for each provider.
Good fit when
- You need quick access to several LLM providers from one terminal client
- You need a shell assistant that turns a description into a command
- You need a local OpenAI-compatible server on top of other providers
Not a fit when
- You need a full coding agent that edits a project, not a terminal chat
- A specific provider's web interface is already enough
Example request
Set up aichat to work with Ollama and show how to ask a question in REPL modeLimitations
Each provider needs its own API key configured separately. Cloud providers like OpenAI and Claude are not reachable from Russia without a VPN, but local models via Ollama and some other providers remain available.
How to disable. Remove the aichat binary from PATH or uninstall the package with whichever manager installed it (cargo uninstall aichat, brew uninstall aichat, and so on).
FAQ
Can it work without cloud API keys?
Yes, aichat supports Ollama and other local models that need no external key.
Is there a server mode?
Yes, aichat can run a local server with a playground and an OpenAI-compatible API on top of the configured providers.
Discussion
No questions or reviews yet.
Related
CLI toolsA Rust CLI for language models from a terminal: an answer, an image, a video, OCR, commit messages and shell commands
A small terminal coding agent in Rust: bring your own API key or local model, per-turn cost, real undo and session branches
A Rust coding agent with a native GUI, a terminal mode, an ACP mode for Zed and an MCP server
Two Rust commands for the terminal: qq answers a quick command-line question, and qa performs a single step with files and commands
A CLI that sets a project up for an agent in one command: skills, MCP and plan-driven development via /aif.
An Emacs package that gives Codex, Claude Code, Gemini CLI and other agents one shared menu and the same commands
Comparison with similar tools
Cards that share the main search query, and how they differ.
| Tool | Official | Repository stars | Main difference |
|---|---|---|---|
| AIChat (this card) | no | 10,567 | |
| Magic CLI | no | 746 | rust command-line tool that suggests shell commands from a description |
| gpt-cli | no | 721 | a console chat with ChatGPT |
| ChatGPT CLI | no | 966 | a Go command-line client for working with OpenAI |
README in short
The README describes aichat as an all-in-one CLI supporting over 20 providers through a single interface. It lists three key modes: CMD for one-off commands, REPL with autocomplete and configurable keybindings, and Shell Assistant for turning natural-language tasks into commands for the current OS. It also mentions function calling, RAG over your own documents, and a local server with a playground. Installed via cargo, brew, pacman, scoop, or prebuilt binaries from GitHub Releases.