AI News HubLIVE
站内改写2 分钟阅读

Show HN: AI-CLI – 基于本地LLM的微型C语言终端助手

AI-CLI是一个用单一C文件实现的命令行助手,可将用户请求直接转换为shell命令并执行。它支持多种本地LLM引擎,如llama.cpp、Ollama等,并允许用户在执行前编辑或拒绝生成的命令。该项目提供了丰富的示例和广泛的平台兼容性。

来源Hacker News AI作者: novaRom

AI-CLI是一个极简的命令行辅助工具,仅由单个C文件(ai.c)实现,无需任何外部依赖,只需一个本地运行的LLM服务器即可工作。它的核心功能是将用户的自然语言请求转化为对应的shell命令,并直接在终端中执行。例如,你可以询问“谁在slurm节点39上运行了作业”,AI-CLI会返回并执行一个复杂的sacct命令,列出所有相关用户。其他示例包括替换文件中的文本、修改文件夹权限、查找单词出现次数、计算数学表达式、查看IP地址等。

该工具的设计理念是让用户摆脱繁琐的命令行记忆,通过自然语言直接与系统交互。用户对LLM返回的命令有三种选择:直接按Enter接受并执行、按Ctrl+C拒绝、或者像在普通编辑器中一样编辑命令后再执行。这种设计在提升效率的同时也保证了安全性,但开发者明确指出,对于不熟悉shell命令的用户,应避免使用此工具,因为LLM生成的命令会直接运行在shell中。

AI-CLI的构建和安装非常简单,只需要运行gcc ai.c -o ai进行编译,然后通过sh run.install_ai.sh将二进制文件和手册页复制到用户的本地目录中。更令人印象深刻的是它的跨平台能力,支持Linux、macOS、Windows(通过MSYS2或Cygwin)、Android、iOS、FreeBSD、OpenBSD、NetBSD、QNX Neutrino、Haiku、SerenityOS,甚至包括AIX、HP-UX等老旧系统。

在LLM引擎支持方面,AI-CLI几乎兼容所有主流引擎,包括llama.cpp、vLLM、Ollama、LM Studio、SGLang、Text Generation Inference、LocalAI、Xinference等,只需设置AI_URL环境变量指向引擎的API端点即可。例如,使用llama.cpp运行Gemma-4模型时,需要禁用思维链模式以确保模型直接输出shell命令而非思考过程。

此外,AI-CLI还提供了一个记忆模式(--memory标志),它会将交互历史保存到AI_MEMORY.md文件中,使得助手能够记住之前的上下文,从而处理更复杂的多步骤任务。例如,用户可以先询问操作系统类型,然后追问关于MINGW环境的含义,助手能根据历史记录给出准确解释。

总体而言,AI-CLI是一个轻量级但功能强大的工具,它将大型语言模型的能力无缝集成到日常命令行操作中,为开发者和系统管理员提供了一种全新的交互方式。尽管需要谨慎使用,但它无疑展示了LLM在终端自动化领域的巨大潜力。