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
- FA score
- 46/100 · Major gaps
At a glance
- How it runs
- 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
- 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
- Source review
- 46/100 · Major gaps 1 safety controls not found
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.
- A developer asking about code, text, or piped command output from a terminal can use CMD mode with stdin.
- 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.
- Someone conducting an extended investigation in a terminal can use Chat-REPL for multiline input, history search, and session context.
- 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.
- A team evaluating supported models side by side can use the locally served LLM Arena.
- 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?
- 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.
- 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?
Why each dimension lost points
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.
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.
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.
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.
Evidence shows: output is CLI tool, high usability; multiple features, high marginal value; cost-benefit not stated. Deductions: cost-benefit not stated.
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.
- 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.
Recent releases
Latest entries from the project's GitHub Releases. Notes are quoted from upstream as written, not rewritten or tested by FollowAgents.
-
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 ↗ -
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 ↗ -
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 ↗