AIChat
A terminal workspace for multi-provider LLM chat, shell assistance, document context, and local APIs.
Per-dimension scores and reasoning
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.
- Shell Assistant may execute arbitrary commands, use with caution.
- Many dependencies, recommend security audit.
- No rollback mechanism, proceed with caution.
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.
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 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.