aichat
App Featured
All-in-one LLM CLI tool featuring Shell Assistant, Chat-REPL, RAG, AI Tools & Agents, with access to OpenAI, Claude, Gemini, Ollama, Groq, and more.
- Downloads
- 28,422
- Dependents
- Not applicable
- Stars
- 10,556
- Forks
- 752
- Contributors
- 33
- Commits
- 989
- Latest release
- 0.30.0 ·
About
AIChat: All-in-one LLM CLI Tool
AIChat is an all-in-one LLM CLI tool featuring Shell Assistant, CMD & REPL Mode, RAG, AI Tools & Agents, and More.
Install
Package Managers
- Rust Developers:
cargo install aichat - Homebrew/Linuxbrew Users:
brew install aichat - Pacman Users:
pacman -S aichat - Windows Scoop Users:
scoop install aichat - Android Termux Users:
pkg install aichat
Pre-built Binaries
Download pre-built binaries for macOS, Linux, and Windows from GitHub Releases, extract them, and add the aichat binary to your $PATH.
Features
Multi-Providers
Integrate seamlessly with over 20 leading LLM providers through a unified interface. Supported providers include OpenAI, Claude, Gemini (Google AI Studio), Ollama, Groq, Azure-OpenAI, VertexAI, Bedrock, Github Models, Mistral, Deepseek, AI21, XAI Grok, Cohere, Perplexity, Cloudflare, OpenRouter, Ernie, Qianwen, Moonshot, ZhipuAI, MiniMax, Deepinfra, VoyageAI, any OpenAI-Compatible API provider.
CMD Mode
Explore powerful command-line functionalities with AIChat's CMD mode.
REPL Mode
Experience an interactive Chat-REPL with features like tab autocompletion, multi-line input support, history search, configurable keybindings, and custom REPL prompts.
Read the full README
Shell Assistant
Elevate your command-line efficiency. Describe your tasks in natural language, and let AIChat transform them into precise shell commands. AIChat intelligently adjusts to your OS and shell environment.
Multi-Form Input
Accept diverse input forms such as stdin, local files and directories, and remote URLs, allowing flexibility in data handling.
| Input | CMD | REPL |
|---|---|---|
| CMD | aichat hello | |
| STDIN | cat data.txt | aichat | |
| Last Reply | .file %% | |
| Local files | aichat -f image.png -f data.txt | .file image.png data.txt |
| Local directories | aichat -f dir/ | .file dir/ |
| Remote URLs | aichat -f https://example.com | .file https://example.com |
| External commands | aichat -f '`git diff`' | .file `git diff` |
| Combine Inputs | aichat -f dir/ -f data.txt explain | .file dir/ data.txt -- explain |
Role
Customize roles to tailor LLM behavior, enhancing interaction efficiency and boosting productivity.
The role consists of a prompt and model configuration.
Session
Maintain context-aware conversations through sessions, ensuring continuity in interactions.
The left side uses a session, while the right side does not use a session.
Macro
Streamline repetitive tasks by combining a series of REPL commands into a custom macro.
RAG
Integrate external documents into your LLM conversations for more accurate and contextually relevant responses.
Function Calling
Function calling supercharges LLMs by connecting them to external tools and data sources. This unlocks a world of possibilities, enabling LLMs to go beyond their core capabilities and tackle a wider range of tasks.
We have created a new repository https://github.com/sigoden/llm-functions to help you make the most of this feature.
AI Tools & MCP
Integrate external tools to automate tasks, retrieve information, and perform actions directly within your workflow.
AI Agents (CLI version of OpenAI GPTs)
AI Agent = Instructions (Prompt) + Tools (Function Callings) + Documents (RAG).
Local Server Capabilities
AIChat includes a lightweight built-in HTTP server for easy deployment.
$ aichat --serve
Chat Completions API: http://127.0.0.1:8000/v1/chat/completions
Embeddings API: http://127.0.0.1:8000/v1/embeddings
Rerank API: http://127.0.0.1:8000/v1/rerank
LLM Playground: http://127.0.0.1:8000/playground
LLM Arena: http://127.0.0.1:8000/arena?num=2
Proxy LLM APIs
The LLM Arena is a web-based platform where you can compare different LLMs side-by-side.
Test with curl:
curl -X POST -H "Content-Type: application/json" -d '{
"model":"claude:claude-3-5-sonnet-20240620",
"messages":[{"role":"user","content":"hello"}],
"stream":true
}' http://127.0.0.1:8000/v1/chat/completions
LLM Playground
A web application to interact with supported LLMs directly from your browser.
LLM Arena
A web platform to compare different LLMs side-by-side.
Custom Themes
AIChat supports custom dark and light themes, which highlight response text and code blocks.
Documentation
- Chat-REPL Guide
- Command-Line Guide
- Role Guide
- Macro Guide
- RAG Guide
- Environment Variables
- Configuration Guide
- Custom Theme
- Custom REPL Prompt
- FAQ
License
Copyright (c) 2023-2025 aichat-developers.
AIChat is made available under the terms of either the MIT License or the Apache License 2.0, at your option.
See the LICENSE-APACHE and LICENSE-MIT files for license details.
Compatibility
- Runs on
- GPU support unknown
What shows it
- no dependency or feature matches a backend row
- Native code
- None found
- No native code found
- Python bindings
- No Python binding crate found
- License
- Apache-2.0 OR MIT
Compare with similar projects
Order: strongest tier first, then most downloads, then name, with unmeasured values last. A library counts downloads over 30 days. An app counts binary downloads per release. An app with none counts its crate downloads over 30 days. ML Rust runs this catalogue, so its closest project always gets a row.
| Project | Downloads | Dependents | Stars | Latest release | Runs on (GPU) | Native code | License |
|---|---|---|---|---|---|---|---|
|
All-in-one LLM CLI tool featuring Shell Assistant, Chat-REPL, RAG, AI Tools & Agents, with access to OpenAI, Claude, Gemini, Ollama, Groq, and more. |
28,422 binary downloads per release | Not applicable | 10,556 | 0.30.0 | GPU support unknown | No native code found | Apache-2.0 OR MIT |
|
rust-genai Featured
Multi-AI Providers Library for Rust. (OpenAI, Gemini, Anthropic, DeepSeek, Ollama, OMLX, AWS Bedrock, Vertex, Xai, Groq, Kimi, GLM and many more) |
118,643 downloads over 30 days | 81 | 938 | 0.7.3 | GPU support unknown | No native code found | Apache-2.0 OR MIT |
|
Terminal UI to chat with large language models (LLM) using different model backends, and integrations with your favourite editors! |
5,642 binary downloads per release | Not applicable | 772 | 0.13.0 | GPU support unknown | No native code found | MIT |
|
edgequake-llm Listed
Multi-provider LLM abstraction library with caching, rate limiting, and cost tracking |
5,446 downloads over 30 days | 15 | 44 | 0.10.10 | GPU support unknown | No native code found | Apache-2.0 |
|
rstructor Listed
Get structured, validated data out of LLMs as native Rust structs and enums. Derive a type and rstructor generates the JSON Schema, prompts the model, parses the reply, and retries on validation errors — across OpenAI, Anthropic Claude, Google Gemini, and xAI Grok. |
1,269 downloads over 30 days | 3 | 34 | 0.6.0 | GPU support unknown | No native code found | MIT |
|
Plano is an AI-native proxy server and data plane for agentic apps. Smart LLM routing, observability, agent orchestration, and guardrails so you stay focused on your agents core logic. |
211 binary downloads per release | Not applicable | 7,111 | Not measured | Not measured | Apache-2.0 | |
|
An open protocol that gives AI agents a secure, sandboxed place to run code and use tools — with lean context usage. AXP works alongside MCP |
Not measured | Not applicable | 3 | Not measured | Not measured | Not measured | Apache-2.0 |
Why FeaturedIt passes every Featured gate.
What it meets
- Its use signals read: binary downloads 85266, Homebrew 5157, Repology families 17, Docker growth unknown. Featured needs 2 of these to reach their limits.
- The last activity is on 23 Feb 2026, 259 days ago. The rules expect an update within 365 days. Dormancy rule
What else the check found
- The oldest outside issue waits 341 days for a reply, past the limit of 270. No maintainer replied in 365 days. Rot signals rule
Exact rules: Featured app. The check on applied thresholds version 9.
Every rule outcome, as the check records it
expected-interval: app: E = 365 daysdormancy: last activity 2026-02-23, 259 days ago, E = 365: activerot: oldest unanswered issue 341 days (limit 270), no maintainer reply in 365 daysfeatured: featured: binary downloads 85266, Homebrew 5157, Repology families 17, Docker growth unknown
Measurements and sources
Each signal row shows the raw value, its source and the fetch date. The Sources list gathers every distinct source on this page. Movement needs more history.
Sources8 sources
- Description: the GitHub repository description
- crates.io database dump, fetched
- GitHub releases, fetched
- GitHub repository, fetched
- crates.io package, fetched
- Homebrew formula, fetched
- Repology project, fetched
- GitHub contributors, fetched
Adoption28,422 binary downloads per release4 not measured
| Signal | Value | Source | Fetched | Counts |
|---|---|---|---|---|
| Active dependents | Not measured | Yes | ||
| New dependents (365 days) | Not measured | Yes | ||
| Peak active dependents | Not measured | Yes | ||
| Active dependents as a share of the peak | Not measured | Yes | ||
| Binary downloads per release | 28422 | GitHub releases | Yes |
MaintenanceLatest human commit: 8 months ago4 not measured
| Signal | Value | Source | Fetched | Counts |
|---|---|---|---|---|
| Latest human commit | 2026-02-23 | GitHub repository | Yes | |
| Latest release | 2025-07-06 | GitHub releases | Yes | |
| First release | 2023-03-03 | crates.io database dump | Yes | |
| Latest version | 0.30.0 | crates.io database dump | No | |
| Days the oldest outside issue waits for a reply | 341 | GitHub repository | Yes | |
| Maintainer replies over 365 days | 0 | GitHub repository | Yes | |
| Repository archived | false | GitHub repository | Yes | |
| Repository gone | false | GitHub repository | Yes | |
| Release commit or manifest in the repo | true | crates.io package | No | |
| Published docs | Not measured | Yes | ||
| Latest release fails cargo check | Not measured | Yes | ||
| Build check date | Not measured | Yes | ||
| Build check toolchain | Not measured | Yes |
SecurityNot measured
| Signal | Value | Source | Fetched | Counts |
|---|---|---|---|---|
| Unpatched vulnerabilities past the grace window | Not measured | Yes | ||
| RustSec unmaintained advisory | Not measured | Yes | ||
| Deprecation notice | Not measured | Yes | ||
| Deprecated requirement | Not measured | Yes |
Distribution31 releases, 665 downloads over 30 days4 not measured
| Signal | Value | Source | Fetched | Counts |
|---|---|---|---|---|
| Releases | 31 | crates.io database dump | No | |
| Downloads over 30 days | 665 | crates.io database dump | No | |
| Binary downloads over the last 3 releases | 85266 | GitHub releases | Yes | |
| Homebrew installs on request over 365 days | 5157 | Homebrew formula | Yes | |
| Repology repository families | 17 | Repology project | Yes | |
| Docker pull growth over 90 days | Not measured | Yes | ||
| Docker pulls at the growth baseline | Not measured | Yes | ||
| Every version a prerelease | false | crates.io database dump | Yes | |
| Every version 0.0.x | false | crates.io database dump | Yes | |
| Every version yanked | Not measured | Yes | ||
| Crate deleted from crates.io | Not measured | Yes |
Repository10,556 stars, 752 forks, 33 contributors, 989 commits. Stars alone never qualify a project.
| Signal | Value | Source | Fetched | Counts |
|---|---|---|---|---|
| GitHub stars | 10556 | GitHub repository | Yes — one part of the repository route | |
| GitHub forks | 752 | GitHub repository | Yes — one part of the repository route | |
| Contributors with a GitHub account | 33 | GitHub contributors | Yes — one part of the repository route | |
| Commits on the default branch | 989 | GitHub repository | No | |
| Repository's main crate left out of the entry | none | crates.io database dump | Yes |
Facts that never count
| Signal | Value | Source | Fetched | Counts |
|---|---|---|---|---|
| License | Apache-2.0 OR MIT | crates.io database dump | No | |
| Runs on, from listed crates and their direct dependencies | GPU support unknown | crates.io database dump | No | |
| What shows each backend | no dependency or feature matches a backend row | crates.io database dump | No | |
| Native code, from listed crates and their dependencies | No native code found | crates.io database dump | No | |
| Python bindings, from direct dependencies of listed crates | No Python binding crate found | crates.io database dump | No | |
| Crates that depend on a listed crate directly | Not measured | No |
Corrections and review history
No correction applies to this entry.
Judgments
A judgment enters only through an approved issue and a merged pull request.
No judgment applies to this entry.