sigoden/aichat
效率与系统工具在终端统一接入 20 多家 LLM 服务,支持 Shell 命令生成、对话 REPL、RAG、工具与 Agent。
项目介绍
AIChat 是一个命令行 LLM 客户端,用一个入口连接二十多家模型服务,包括 OpenAI、Claude、Gemini、Ollama、Groq、Azure-OpenAI、Bedrock、OpenRouter、Deepseek,以及任意 OpenAI 兼容接口。它既能以单次命令方式使用(aichat hello),也能进入交互式 Chat-REPL。
除对话外,它能把自然语言任务转换成 shell 命令,并根据当前操作系统和 shell 环境调整写法。输入形式也较灵活:stdin、本地文件或目录、远程 URL、外部命令输出都能作为上下文传给模型,且可以组合使用。Role 把提示词和模型配置打包在一起,Session 保持多轮上下文,Macro 则把一串 REPL 命令固化为可复用操作。
面向更复杂的用法,AIChat 提供基于外部文档的 RAG、函数调用工具,以及由「指令 + 工具 + 文档」组成的 Agent。内置 HTTP 服务还暴露 Chat Completions、Embeddings、Rerank 接口,并提供浏览器 Playground 和用于并排比较模型的 Arena。
快速使用
按平台选择安装方式:cargo install aichat、brew install aichat、pacman -S aichat、Windows 上的 scoop install aichat,或 Android Termux 的 pkg install aichat。也可以从 GitHub Releases 下载 macOS、Linux、Windows 预编译二进制,解压后把 aichat 加入 $PATH。
安装后先配置至少一个模型服务的凭据,然后发起一次请求:
aichat hello
不带参数直接运行 aichat 可进入交互式 REPL。
启动本地服务及其网页工具:
aichat --serve
这会提供 http://127.0.0.1:8000/v1/chat/completions、/v1/embeddings、/v1/rerank,以及 /playground 和 /arena?num=2(source:38)。例如可以用 curl 向 chat 接口发送 JSON,模型名写成 claude:claude-3-5-sonnet-20240620 这类带提供方前缀的形式。
使用约束
使用托管模型服务需要对应平台的账号和凭据;使用本地模型则需要 Ollama 之类的运行时。Shell Assistant 会根据描述生成命令,执行前应先自行核对。内置服务默认监听本机,适合本地使用或放在自己的访问控制之后部署。项目用 Rust 编写,许可证为 MIT 或 Apache-2.0,可任选其一。
文档入口
wiki 中有独立指南,分别介绍 Chat-REPL、命令行用法、Role、Macro 和 RAG,另有环境变量、配置、主题和 FAQ 文档。
HotRepo 点评
HotRepo 没有该仓库的日榜名次或 Star 采样记录,无法给出趋势判断。HN 上的讨论量也较小:最显眼的是 2024-12-26 发的 4 分帖和 2023-12-26 发的 3 分帖,其余帖子只有 1 到 3 分且几乎无评论。2024 年那条帖子下唯一的回复只是复述了项目的功能简介,没有提供与其他工具的第一手对比。从仓库本身能确认的是覆盖较广的提供方列表、自带服务端与 Playground/Arena,以及稳定的发布渠道,这些足以支撑基于功能本身的评估,而不必依赖社区热度。
本文由 AI 根据项目 README 生成,更新于 ,以项目官方文档为准。