mrkeyoor.com_
Thu 17 Sept 23:19 UTC
AI Toolsevaluationupdated 26 Aug 2026

aichat review

AIChat is a Rust command-line client for talking to hosted and local language models from a shell, an interactive REPL, or a small HTTP server. It also handles files, saved roles and sessions, document retrieval, function calls, MCP tools, and agent definitions so one executable can replace several model-specific clients.

+11stars / 7d
Verdict

Our AIChat run installed 425 packages and passed all 21 tests after a 152-second build, so the checked-out Rust client is easy to trust for a personal trial. Use it if you want one terminal interface across many model providers and are comfortable owning keys, local config, and tool permissions. Its July 2025 release and February 2026 last push make provider drift the main reason to test your exact model and tool path before adopting it for team workflows.

We ran it

Lab card: what happened when we ran aichatScreenshot of aichat (github.com/sigoden/aichat)
Install✓ · 38s425 packages
Build✓ · 152s
Tests✓ · 63s21 passed · 0 failed of 21 (cargo test)
Repo83 files~17,287 lines of source · 1.8 MB · 2 CI workflows

Answers from our run

Does aichat build from source?

Dependencies installed in 38 seconds (425 packages), and the build succeeded in 152 seconds. We cloned commit 82976d3 into a clean Debian container with 3 CPUs and no project-specific setup.

Do aichat's tests pass?

Yes: 21 of 21 passed when we ran the project's own test command (cargo test). Some failures need services or credentials a bare container does not have.

Who should not use aichat?

Users who want a frequently tagged release cadence: the latest release is from July 2025, the last push was February 2026, and issue 1517 asks whether the project is being sunset.

What are the alternatives to aichat?

LLM, Mods, Ollama. Our AIChat run installed 425 packages and passed all 21 tests after a 152-second build, so the checked-out Rust client is easy to trust for a personal trial.

Setup5/5All 21 tests passed; prebuilt binaries avoid the 152-second build
Docs4/5Core modes are clear, with deeper setup split across the wiki
Community3/510,393 stars and active reports, but pushes have slowed
Maturity3/5Broad provider support, with an older release and current adapter bugs

Discussed on

  1. hnAIChat: All-in-One LLM CLI Tool4 points
  2. hnAichat: Use GPT-4(V), Gemini, LocalAI, Ollama and Other LLMs in the Terminal3 points

Who it’s for

Terminal users who switch among OpenAI, Claude, Gemini, Ollama, Bedrock, and OpenAI-compatible endpoints.
Developers who want prompts to accept stdin, files, directories, URLs, or command output.
People building local roles, sessions, RAG collections, functions, and MCP-backed agents.
Teams that want a small local compatibility server for chat, embeddings, or reranking.

Who it’s NOT for

Users who want a frequently tagged release cadence: the latest release is from July 2025, the last push was February 2026, and issue 1517 asks whether the project is being sunset.
Bedrock users whose tools return arrays or scalar JSON: issue 1542 reports that those tool results are rejected in the follow-up request.
Anyone who will execute generated shell commands without inspection: the shell assistant turns natural-language requests into commands, and issue 1489 shows that model output may include prose instead of one runnable command.
Teams that need session behavior to be obvious from defaults: issue 1523 reports lost conversational memory with save set to false, while the README gives only a short session overview.
Buyers seeking a hosted team product with central policies, shared audit logs, and managed accounts: AIChat is a local CLI and server.

Setup reality

Our sandbox installed 425 Rust packages in 38 seconds. The build succeeded in 152 seconds, and cargo test finished in 63 seconds with all 21 tests passing. The checkout was 1.8 MB with 83 files and about 17,287 lines of source.

A prebuilt binary avoids compiling Rust. Actual use still needs at least one model endpoint: usually a provider API key, cloud credentials for Bedrock or Vertex AI, or a reachable local server such as Ollama. RAG and tools need their own model and function configuration.

The repository had 2 CI workflow files, no Dockerfile, and no tests directory in our scan. The built-in server listens on 127.0.0.1:8000 in the README example; exposing it beyond localhost calls for an authentication and network policy that the quick example does not supply.

One binary fronts more than 20 model providers

AIChat gives a terminal user one command for hosted APIs, cloud model services, local engines, and OpenAI-compatible endpoints. The README names more than 20 providers, including OpenAI, Claude, Gemini, Ollama, Groq, Bedrock, Vertex AI, Mistral, and OpenRouter. That breadth is its clearest advantage. Scripts can keep one invocation style while the selected client and model live in configuration.

Input handling fits normal shell work. A prompt can receive stdin, local files, directories, remote URLs, or the output of an external command. Interactive use adds multiline input, history search, configurable keys, themes, roles, and saved sessions. Those pieces make AIChat more capable than a thin curl wrapper, yet the basic path stays simple: install a binary, configure one model, and run aichat with a prompt.

Roles, RAG, and MCP turn the CLI into an agent host

A role combines a prompt with model settings. Sessions preserve conversation context, macros group REPL commands, and RAG collections add local documents to a conversation. Function calling can connect a model to external code, while MCP support brings in tools published by compatible servers. An agent combines instructions, functions, and documents in one definition. This is enough to build a personal research or operations assistant without maintaining a separate web application.

Every added capability also adds trust decisions. A model that reads command output or whole directories may receive secrets that were never meant for a provider. A function or MCP tool can take actions beyond text generation. The shell assistant produces commands for the current operating system and shell, but model output still needs review. Open issue 1489 reports that the execute flag returned explanatory prose instead of one executable command with a Claude model.

What happened when we ran it

Our sandbox installed 425 Rust packages in 38 seconds. Building commit 82976d3 took 152 seconds, then cargo test completed in 63 seconds with 21 passed and 0 failed. The repository itself was compact at 83 files, about 17,287 lines of source, and 1.8 MB checked out. These results came from an unprivileged Debian container with 3 CPUs, 12 GB of RAM, and no secrets.

The scan found 2 CI workflow files, no Dockerfile, and no tests directory. A missing tests directory is unsurprising for Rust because unit tests can live beside the code, and the 21 passing tests confirm that a test target exists. We did not call a model provider, build a RAG collection, or execute an MCP tool. The lab result covers installation, compilation, and the repository's test command, not answer quality or provider compatibility.

For end users, release binaries for macOS, Linux, and Windows remove the 152-second compilation step. Package-manager paths also cover Homebrew, Pacman, Scoop, and Termux. cargo install aichat remains useful for Rust users who want to build locally. The operational setup begins after installation, when API keys, local endpoints, model names, session storage, and function permissions have to be chosen.

The local server is a personal proxy, not a finished gateway

Running aichat --serve starts chat-completions, embeddings, and rerank endpoints on 127.0.0.1:8000. It also exposes a browser playground and an arena for side-by-side model comparisons. This can give local applications one API while AIChat handles provider differences. Binding to localhost keeps the README example narrow and sensible for one machine.

The documentation does not present that server as a multi-user gateway with accounts, rate limits, tenant isolation, or central audit records. If another host needs access, put authentication and transport controls in front of it and decide which provider keys the process may use. Teams that mainly need a production model proxy should compare a dedicated gateway. AIChat's server is most convincing as an extension of the local CLI.

Bedrock tool results expose the cost of provider breadth

Open issue 1542 reports a concrete adapter mismatch in version 0.30.0 built from commit 82976d34. A Bedrock tool call succeeds, but the follow-up fails when the tool returns a top-level array, string, number, or null. Bedrock requires an object in that JSON field, while the reported code forwards any JSON value. The same tool reportedly works through the Anthropic-native client.

This is the maintenance tax of a client spanning more than 20 providers. A common interface cannot erase different message schemas, tool-result rules, authentication methods, or model quirks. Before adopting AIChat around a provider, test streaming, tool calls, errors, files, and session behavior on the exact service. The 21 local tests are clean, but they cannot cover every remote contract.

Current issue traffic continues after the release cadence slowed

GitHub recorded 10,393 stars and 98 combined issues and pull requests when fetched. The last repository push was February 23, 2026. The latest tagged release, v0.30.0, arrived July 6, 2025, with clipboard, theme, REPL, tool-use, and error-handling changes. Issue activity continued through August 2026, including the Bedrock report, while issue 1517 openly asks about the project's state after the long release gap.

That record does not prove abandonment. It does mean a buyer should separate popularity from current adapter maintenance. AIChat remains a strong personal terminal client because the binary is small, the interface is broad, and our full local test command passed. For a shared internal dependency, pin the version, test the chosen providers, and keep an exit path to direct SDKs or another CLI if a remote API changes before the next release.

Alternatives

ProjectWhat it isPick it when
LLM gh↗A Python CLI and plugin system for prompts, models, embeddings, and logs.pick this instead when a searchable SQLite history and Python plugin ecosystem matter more than a Rust binary.
ModsA focused terminal tool for piping text through language models.pick this instead when shell pipelines are the main job and RAG, agents, and a local API server would be excess scope.
Ollama gh↗A local model runner with a CLI and HTTP API.pick this instead when running local model weights is the requirement, rather than routing many remote providers through one client.

Sources

  1. AIChat README
  2. AIChat repository activity
  3. AIChat v0.30.0 release
  4. Issue 1542: Bedrock tool-result JSON report
  5. Issue 1517: project status question
  6. Issue 1489: execute output report

More ai tools reviews

rowboat · skills · superpowers-zh · yolov5 · eve · MemOS · the whole board →