AIChat
在终端中统一调用多家模型、处理文件与运行 AI 工作流。
- Star 数
- ★ 11k
- 最近更新
- 8 个月前
- License
- Apache-2.0
- 主语言
- Rust
- FA 评分
- 46/100 · 缺口较多
30 秒速览
- 运行形态
- 可在哪里用
- 通用 · 跨平台OpenAI API · Claude API
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 低 · 几分钟可跑通
- 开始前需要
- 典型场景
- 需要在终端快速询问代码、文本或管道数据的开发者,可使用 CMD 模式和标准输入。
- 不适合
- 需要图形界面、不愿使用终端的用户
- 需要官方托管云服务而非自行部署的团队
这个 Agent 能做什么,适合哪些场景?
AIChat 是一个面向命令行的 LLM 工具,提供 CMD 模式、交互式 Chat-REPL 和 Shell Assistant。它通过统一接口连接 OpenAI、Claude、Gemini、Ollama、Groq 等二十多家模型提供方,也支持 OpenAI-compatible API。用户可把标准输入、本地文件、目录、远程 URL 或外部命令输出作为上下文输入。它提供角色、会话、宏、RAG、函数调用、AI Tools、MCP 和由提示词、工具调用与 RAG 文档组成的 AI Agents。运行 aichat --serve 后,它在本机提供 Chat Completions、Embeddings 和 Rerank API,以及 Playground 和 Arena 网页界面。
在 CMD 模式中,aichat hello 将提示发送给已配置的模型;cat data.txt | aichat 可读取标准输入。通过 -f,命令可读取 image.png、data.txt、目录、https://example.com 等远程 URL,或如 git diff 这样的外部命令输出,再把它们与问题一起交给模型;REPL 中对应使用 .file。Shell Assistant 把自然语言任务转换为适应当前操作系统和 shell 环境的命令。会话保存对话上下文,角色把提示词与模型配置组合,宏可串联 REPL 命令;RAG 将外部文档纳入对话,AI Tools 与 MCP 可接入外部工具。使用 aichat --serve 时,服务监听 127.0.0.1:8000,并暴露 /v1/chat/completions、/v1/embeddings、/v1/rerank、/playground 和 /arena?num=2。
- 需要在终端快速询问代码、文本或管道数据的开发者,可使用 CMD 模式和标准输入。
- 经常把自然语言操作转成 shell 命令的终端用户,可使用 Shell Assistant 并让它适配当前 OS 和 shell。
- 需要在同一终端会话中持续追问、检索历史或输入多行内容的用户,可使用 Chat-REPL 与会话。
- 需要让模型结合本地文档、目录、远程页面或命令输出回答问题的研究者或工程师,可通过 -f 或 .file 提供上下文。
- 需要比较多个已支持模型回答效果的团队,可在本机 LLM Arena 中并排比较模型。
- 需要在工作流中连接外部工具、函数调用、MCP 与 RAG 文档的用户,可配置 AI Tools 或 AI Agents。
如何安装或部署这个 Agent?
可通过 cargo install aichat、brew install aichat、pacman -S aichat、scoop install aichat、pkg install aichat 安装,也可下载 macOS、Linux 或 Windows 的预编译二进制并将 aichat 加入 PATH。首次调用示例:aichat hello。该资料确认支持多个模型提供方,但未给出配置任一提供方凭据或 API 密钥的具体步骤;在实际请求前需要完成相应模型提供方的配置。
如何使用这个 Agent?
执行 aichat hello 发起一次 CMD 请求;使用 cat data.txt | aichat 传入标准输入;使用 aichat -f dir/ -f data.txt explain 组合目录和文件上下文。启动本地服务:aichat --serve。随后可向 http://127.0.0.1:8000/v1/chat/completions 发送包含 model、messages 和 stream 的 POST 请求;浏览器界面位于 http://127.0.0.1:8000/playground,模型对比位于 http://127.0.0.1:8000/arena?num=2。
这个 Agent 有哪些优点和局限?
- 一个 CLI 同时提供 CMD、Chat-REPL、Shell Assistant、RAG、工具调用和本地 HTTP 服务。
- 输入范围具体且广泛:支持标准输入、本地文件与目录、远程 URL 和外部命令输出。
- 支持二十多家模型提供方及 OpenAI-compatible API,可降低单一模型提供方绑定。
- 内置 localhost 的 Chat Completions、Embeddings、Rerank API,以及 Playground 和 Arena。
- 资料没有给出模型凭据、API 密钥或提供方配置的具体步骤,首次接入仍需补充配置信息。
- 核心交互面是 shell/CLI;不使用终端的用户需要依赖 --serve 后的本地网页或 API。
- 远程 URL 输入、云端模型调用和外部工具接入可能带来网络、数据处理与访问权限方面的治理要求。
- AI Tools、MCP、RAG 和 AI Agents 的详细配置、权限范围及失败处理机制未在所给资料中说明。
这个 Agent 与同类方案有什么区别?
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| AIChat 当前 | 46 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 11k | 8 个月前 | Rust | OpenAI API · Claude API |
| Sidekick | 39 · 缺口较多 | 桌面应用免费 + 模型费 | ★ 3.3k | 1 个月前 | Swift | OpenAI API |
| PyGPT 桌面智能助手 | 49 · 缺口较多 | 桌面应用免费 + 模型费 | ★ 2k | 1 个月前 | Python | OpenAI API · Claude API |
| Skales | 36 · 缺口较多 | 桌面应用免费版 + 付费版 | ★ 2.2k | 3 天前 | — | ChatGPT · OpenAI API · Claude API |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
证据显示:工具支持Shell Assistant,可执行shell命令,但未明确要求用户确认;有RAG和文件读取功能,但未说明数据流向;依赖众多,但未提供安全审计;有外部效果(如执行命令、启动服务器),但未明确限制;无回滚机制;来源归属仅通过作者邮箱和仓库链接。扣分原因:缺少用户确认机制、数据流透明性不足、依赖安全未验证、外部效果未限制、无回滚、来源归属不明确。
证据显示:README和Cargo.toml一致,版本号一致;依赖列表完整,但未验证可用性;错误处理未在文档中说明。扣分原因:错误消息未在文档中体现,依赖可用性未验证。
证据显示:面向开发者,支持多种输入和场景;能力边界在README中有描述;触发精度未明确;支持多平台。扣分原因:触发精度未明确,能力边界描述不够详细。
证据显示:README结构清晰,有安装说明;命名稳定;有示例和FAQ;许可证明确;版本号存在但无changelog;维护责任通过作者和仓库体现。扣分原因:无changelog,已知限制未明确。
证据显示:输出为CLI工具,可用性高;提供多种功能,边际价值高;成本效益未明确。扣分原因:成本效益未说明。
证据显示:README中的功能描述与代码部分对应,但未提供测试证据;无外部来源佐证;事实与推断未明确区分。扣分原因:缺乏测试证据和外部佐证。
- 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
- Shell Assistant可能执行任意命令,需谨慎使用。
- 依赖众多,建议进行安全审计。
- 无回滚机制,操作需谨慎。
最近版本
来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。
-
发布说明摘录
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)) …在 GitHub 查看 ↗ -
发布说明摘录
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)) …在 GitHub 查看 ↗ -
发布说明摘录
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)) …在 GitHub 查看 ↗