AIChat

A terminal workspace for multi-provider LLM chat, shell assistance, document context, and local APIs.

Source repo
sigoden/aichat
Stars
★ 11k
Last updated
8mo ago
License
Apache-2.0
Primary language
Rust

At a glance

How it runs
CLISelf-hosted service
Works with
Universal · cross-platformOpenAI API · Claude API
Cost
Free software; you pay for model usage
Setup effort
Low · running in minutes
You'll need
Shell / CLINetwork accessLocal filesystemMCP Server
Typical use
A developer asking about code, text, or piped command output from a terminal can use CMD mode with stdin.
Not a fit if
  • Users who need a GUI and avoid the terminal
  • Teams wanting a vendor-hosted cloud service instead of self-hosting

What does this agent do, and when should you use it?

AIChat is a command-line LLM application with CMD mode, an interactive Chat-REPL, and a Shell Assistant. It presents a unified interface for more than 20 providers, including OpenAI, Claude, Gemini, Ollama, and Groq, plus OpenAI-compatible APIs. Prompts can include stdin, local files and directories, remote URLs, or output from external commands. The product includes roles, sessions, macros, RAG, function calling, AI Tools, MCP, and AI Agents composed of instructions, tools, and RAG documents. With aichat --serve, it runs a lightweight local HTTP server exposing chat, embeddings, rerank, Playground, and Arena endpoints. The README states that AIChat is available under either the MIT License or Apache License 2.0, at the user's option.

In CMD mode, aichat hello sends a prompt to the configured model, while cat data.txt | aichat reads piped standard input. The -f option accepts inputs such as image.png, data.txt, a directory, https://example.com, or external-command output such as git diff, and combines them with the prompt; the REPL counterpart is .file. Shell Assistant turns natural-language tasks into shell commands adjusted to the current OS and shell environment. Sessions retain conversational context, roles combine a prompt with model configuration, macros chain REPL commands, and RAG brings external documents into conversations; AI Tools and MCP connect external tools. aichat --serve listens locally at 127.0.0.1:8000 and exposes /v1/chat/completions, /v1/embeddings, /v1/rerank, /playground, and /arena?num=2.

  1. A developer asking about code, text, or piped command output from a terminal can use CMD mode with stdin.
  2. A terminal user who describes an operation in plain language can use Shell Assistant to generate a command suited to the current OS and shell.
  3. Someone conducting an extended investigation in a terminal can use Chat-REPL for multiline input, history search, and session context.
  4. An engineer who needs answers grounded in local documents, a directory, a remote URL, or command output can attach that context with -f or .file.
  5. A team evaluating supported models side by side can use the locally served LLM Arena.
  6. A workflow builder combining instructions with external tools, function calling, MCP, and RAG documents can use AI Tools or AI Agents.

How do you install or deploy this agent?

Install with cargo install aichat, brew install aichat, pacman -S aichat, scoop install aichat, or pkg install aichat. Alternatively, download a pre-built macOS, Linux, or Windows binary and add aichat to PATH. A first invocation is: aichat hello. The supplied material confirms multi-provider support but does not document the steps for configuring provider credentials or API keys; that provider configuration is required before making a real model request.

How do you use this agent?

Run aichat hello for a CMD request. Pipe input with cat data.txt | aichat, or combine context with aichat -f dir/ -f data.txt explain. Start the local server with aichat --serve. You can then POST a payload containing model, messages, and stream to http://127.0.0.1:8000/v1/chat/completions; use http://127.0.0.1:8000/playground for the browser UI and http://127.0.0.1:8000/arena?num=2 for side-by-side model comparison.

What are this agent's strengths and limitations?

Pros
  • One CLI brings together CMD mode, Chat-REPL, Shell Assistant, RAG, tool calling, and a local HTTP server.
  • It accepts concrete, varied context sources: stdin, local files and directories, remote URLs, and external-command output.
  • Support for more than 20 providers and OpenAI-compatible APIs reduces dependence on a single model provider.
  • The built-in localhost service includes Chat Completions, Embeddings, and Rerank APIs alongside Playground and Arena interfaces.
Limitations
  • The supplied material does not provide the actual provider credential, API-key, or provider-configuration procedure, leaving first-time setup incomplete.
  • The primary interface is a shell CLI; users who do not work in a terminal must rely on the locally served web UI or API.
  • Remote URL inputs, cloud-model requests, and external-tool connections can introduce network, data-handling, and access-control considerations.
  • Detailed setup, permission scope, and failure behavior for AI Tools, MCP, RAG, and AI Agents are not established in the supplied material.

How does this agent compare with similar options?

Key facts side by side with the most closely related agents.

Agent Source review Form / cost Stars Updated Language Full support on
AIChat This agent 46 · Major gaps CLIFree + model costs ★ 11k 8mo ago Rust OpenAI API · Claude API
Sidekick 39 · Major gaps Desktop appFree + model costs ★ 3.3k 1mo ago Swift OpenAI API
PyGPT Desktop Assistant 49 · Major gaps Desktop appFree + model costs ★ 2k 1mo ago Python OpenAI API · Claude API
Skales 36 · Major gaps Desktop appFreemium ★ 2.2k 3d ago — ChatGPT · OpenAI API · Claude API

How does FollowAgents rate this agent?

FollowAgents source review · FARS-2.1
Major gaps
46/ 100 5-point scale 2.3 / 5
Trust 8/29
Reliability 8/14
Adaptability 10/18
Convention 10/18
Effectiveness 7/13
Verifiability 3/8
Why each dimension lost points
Trust8 / 29 · 1.4/5

Evidence shows: tool supports Shell Assistant, can execute shell commands, but no explicit user confirmation; has RAG and file reading, but data flow not explained; many dependencies, but no security audit; external effects (e.g., executing commands, starting server) but no restrictions; no rollback; source attribution only via author email and repo link. Deductions: lack of user confirmation, insufficient data flow transparency, unverified dependency security, unrestricted external effects, no rollback, unclear source attribution.

Reliability8 / 14 · 2.9/5

Evidence shows: README and Cargo.toml consistent, version consistent; dependency list complete, but availability not verified; error handling not documented. Deductions: error messages not in docs, dependency availability unverified.

Adaptability10 / 18 · 2.8/5

Evidence shows: targets developers, supports multiple inputs and scenarios; capability boundaries described in README; trigger precision not explicit; supports multiple platforms. Deductions: trigger precision not explicit, capability boundaries not detailed.

Convention10 / 18 · 2.8/5

Evidence shows: README structure clear, install notes present; naming stable; examples and FAQ present; license clear; version exists but no changelog; maintenance responsibility via author and repo. Deductions: no changelog, known limitations not explicit.

Effectiveness7 / 13 · 2.7/5

Evidence shows: output is CLI tool, high usability; multiple features, high marginal value; cost-benefit not stated. Deductions: cost-benefit not stated.

Verifiability3 / 8 · 1.9/5

Evidence shows: README features correspond to code, but no test evidence; no external corroboration; facts and inferences not clearly separated. Deductions: lack of test evidence and external corroboration.

Risks and how to mitigate them
  • Not found in source: rollback or recovery pathBack up first, or work on a git branch or snapshot, so its changes can be undone.
  • Shell Assistant may execute arbitrary commands, use with caution.
  • Many dependencies, recommend security audit.
  • No rollback mechanism, proceed with caution.
Evidence confidence: Low Reviewed Aug 09, 2026 Reviewed revision 82976d349ad9
See the full review method →

Recent releases

Latest entries from the project's GitHub Releases. Notes are quoted from upstream as written, not rewritten or tested by FollowAgents.

  1. v0.30.0
    Release notes excerpt
    New Features - add support for OSC52 clipboard codes ([#1280](https://github.com/sigoden/aichat/pull/1280)) - abandon support for lingyiwanwu client ([#1327](https://github.com/sigoden/aichat/pull/1327)) - support autodetecting dark/light theme ([#1335](https://github.com/sigoden/aichat/pull/1335)) - enhence .regenerate ([#1340](https://github.com/sigoden/aichat/pull/1340)) - ctrl+j for newline ([#1342](https://github.com/sigoden/aichat/pull/1342)) Bug Fixes - use_tools in agent mode ([#1252](https://github.com/sigoden/aichat/pull/1252)) …
    View on GitHub ↗
  2. v0.29.0
    Release notes excerpt
    New Features - add cmd_prelude and remove prelude ([#1197](https://github.com/sigoden/aichat/pull/1197)) - support claude-3-7-sonnet ([#1201](https://github.com/sigoden/aichat/pull/1201)) - bumping Azure OpenAI API Version to 2024-12-01-preview ([#1205](https://github.com/sigoden/aichat/pull/1205)) - --code (tty) strips <think> tag ([#1227](https://github.com/sigoden/aichat/pull/1227)) - enhence glob for --file and rag docs ([#1230](https://github.com/sigoden/aichat/pull/1230)) …
    View on GitHub ↗
  3. v0.28.0
    Release notes excerpt
    New Features - display reasoning tokens ([#1139](https://github.com/sigoden/aichat/pull/1139)) - webui support think tag ([#1140](https://github.com/sigoden/aichat/pull/1140)) - strip reasoning contents ([#1141](https://github.com/sigoden/aichat/pull/1141)) - support model alias ([#1150](https://github.com/sigoden/aichat/pull/1150)) - enhance .file for loading resources from diverse sources ([#1155](https://github.com/sigoden/aichat/pull/1155)) - supports selecting LLM during configuration initialization ([#1158](https://github.com/sigoden/aichat/pull/1158)) …
    View on GitHub ↗

FAQ

Is AIChat limited to OpenAI models?
No. The supplied material lists OpenAI, Claude, Gemini, Ollama, Groq, and more than 20 providers, as well as OpenAI-compatible APIs.
What local content can it read?
You can explicitly provide local files, directories, and external-command output with -f or the REPL .file command. The supplied material does not describe any other automatic reading behavior.
Can it serve an API locally?
Yes. aichat --serve exposes Chat Completions, Embeddings, and Rerank endpoints on 127.0.0.1:8000.
How can I compare models?
After starting the local server, open the LLM Arena at /arena?num=2 to compare models side by side.
View on GitHub ↗ Install ↓

Compare agents like this one

The same FARS review applied across the shortlist this agent qualifies for.

Related agents