Kimi CLI:Moonshot AI开源的命令行AI代理工具,集成Shell交互与多工具链支持
一、Kimi CLI是什么?
Kimi CLI是一个基于Python开发的开源命令行工具,定位为“交互式命令行AI代理”,由Moonshot AI(月之暗面)团队主导开发,目前处于技术预览阶段。其核心目标是打破自然语言与终端命令的壁垒,让用户通过日常语言即可完成复杂的Shell操作、文件处理、网络查询等任务,同时支持与编辑器、IDE等工具集成,扩展AI辅助的应用场景。
简单来说,Kimi CLI就像一个“终端里的AI助手”:当你需要执行“查找当前目录下3天前修改的.log文件并压缩”这类操作时,无需手动编写find和tar命令,只需用自然语言描述需求,它就能自动生成并执行命令;若你对某个命令的作用不理解,也可以直接提问,它会结合上下文给出解释。
目前,Kimi CLI主要支持macOS和Linux系统,Windows版本的适配正在推进中,用户可通过源码编译、二进制文件或包管理器快速部署。
二、功能特色
Kimi CLI的核心优势在于“自然语言交互”与“终端工具深度融合”,其功能特色可归纳为以下几点:
1. 类Shell交互式体验,支持上下文理解
Kimi CLI提供与原生Shell(如bash、zsh)相似的交互界面,用户可直接输入自然语言或命令行指令,工具会自动判断需求并响应。例如:
输入“列出当前目录下所有大小超过100MB的文件”,它会生成并执行
find . -type f -size +100M;若后续输入“把它们移动到./large_files文件夹”,它能识别“它们”指代前一步找到的文件,自动执行
mkdir -p ./large_files && find . -type f -size +100M -exec mv {} ./large_files \;。
这种上下文关联能力避免了重复描述,让交互更贴近日常对话。
2. 深度集成Shell生态,支持Zsh插件增强
为提升终端用户的使用体验,Kimi CLI提供Zsh插件(可通过kimi plugin install zsh安装),实现以下增强功能:
命令补全:输入部分命令或自然语言时,自动提示可能的操作;
历史关联:调用Shell历史记录,结合AI分析过往操作习惯,优化指令生成;
快捷键支持:通过
Ctrl+K快速唤起Kimi CLI交互模式,无需退出当前Shell。
3. 兼容ACP协议,无缝对接编辑器/IDE
Kimi CLI支持Agent Client Protocol(ACP协议),这是一种用于AI代理与开发工具通信的标准化协议。通过ACP模式,它可与支持该协议的编辑器(如VS Code、Neovim)或IDE集成,实现“在代码编辑器内调用终端AI能力”:
在VS Code中安装ACP插件后,可直接在编辑器面板输入“帮我生成一个Python函数,实现列表去重并保持顺序”,Kimi CLI会生成代码并返回至编辑器;
若代码运行出错,可继续提问“为什么这段代码在Python 3.8中报错?”,工具会结合错误日志给出修改建议。
4. 模块化工具系统,覆盖多场景需求
Kimi CLI内置一套可扩展的工具系统,每个工具对应一类具体能力,用户可根据需求灵活调用。核心工具如下表所示:
| 工具类别 | 核心功能 | 典型使用场景 |
|---|---|---|
| bash工具 | 执行Shell命令、解析命令输出、生成复杂指令 | “统计近7天/var/log下所有日志文件的行数总和” |
| 文件工具 | 读写文件、搜索内容、批量修改文件名 | “查找./src中所有包含‘deprecated’的Python文件,并替换为‘obsolete’” |
| 网络工具 | 网页内容爬取、URL解析、搜索结果获取 | “帮我查下Python 3.13新特性,并总结成列表” |
| 任务工具 | 子代理任务委托(拆分复杂任务) | “先分析当前项目的依赖冲突,再生成requirements.txt的修复方案” |
| dmail工具 | 时间旅行消息系统(记录/回溯任务节点) | “回溯30分钟前执行的‘清理缓存’操作具体命令” |
5. 多UI模式,适配不同使用场景
Kimi CLI提供3种UI模式,可通过--mode参数切换,满足脚本自动化、服务部署等多样化需求:
交互模式(默认):类似Shell的交互式对话界面,适合手动操作;
非交互模式:通过
kimi --mode print "你的指令"直接输出结果,适合嵌入Shell脚本;ACP服务模式:通过
kimi --mode acp启动ACP服务,供编辑器/IDE连接,支持长时会话。
三、技术细节
Kimi CLI的技术架构以“模块化”和“异步处理”为核心,确保工具的灵活性与响应速度,以下从技术栈、架构设计两方面展开说明。
1. 核心技术栈
Kimi CLI的技术选型聚焦于现代Python开发工具链,具体如下:
| 技术组件 | 作用 | 优势 |
|---|---|---|
| Python 3.13+ | 核心开发语言 |
支持最新异步特性(如trio兼容、性能优化),满足高并发需求 |
| uv | 包管理器 | 比pip快10-100倍,支持依赖缓存、并行安装,提升开发与部署效率 |
| Click | CLI框架 | 简化命令行参数解析、子命令设计,支持自动生成帮助文档 |
| kosong | 自定义LLM框架 | 封装Moonshot AI大模型调用逻辑,支持流式输出、上下文管理 |
| asyncio | 异步运行时 | 处理多工具并发调用(如同时执行Shell命令和网络请求),减少等待时间 |
| PyInstaller | 打包工具 | 将Python代码转换为独立二进制文件,无需依赖系统Python环境 |
| ruff | 代码检查/格式化 | 替代flake8、black等工具,支持快速 linting 和自动格式化 |
| pyright | 类型检查 | 静态类型分析,减少运行时错误,提升代码可维护性 |
2. 架构设计
Kimi CLI的代码结构清晰,核心逻辑集中在src/kimi_cli/目录,可分为“代理系统”“执行引擎”“工具集”“UI层”四大模块,具体如下:
(1)目录结构
src/kimi_cli/ ├── agents/ # 代理配置(系统提示、工具权限等,基于YAML) ├── soul/ # 核心执行引擎(KimiSoul、Context、DenwaRenji) ├── tools/ # 工具实现(按类别划分) ├── ui/ # UI模式实现(交互/非交互/ACP) ├── config/ # 配置管理(用户设置、路径定义等) └── utils/ # 通用工具函数(日志、错误处理等)
(2)核心组件
代理系统(agents/):通过YAML配置文件定义代理的“行为模式”,包括系统提示(如“你是一个精通Shell的AI助手”)、允许调用的工具(如限制仅使用bash和文件工具)、输出格式等。用户可通过
kimi agent create自定义代理,适配特定场景(如“仅处理Python代码生成”)。执行引擎(soul/):
KimiSoul:核心调度器,负责解析用户输入、选择工具、生成指令并执行;Context:会话历史管理器,存储用户输入、工具输出、中间结果,支持上下文窗口控制(避免历史过长导致性能下降);DenwaRenji:工具通信枢纽,标准化工具调用接口(输入参数、输出格式),实现“引擎与工具解耦”(新增工具无需修改核心逻辑)。工具集(tools/):每个工具通过统一接口实现
call方法(接收参数并返回结果),例如bash工具的call方法会调用subprocess执行命令,并捕获stdout/stderr;web工具则通过aiohttp异步爬取网页内容。UI层(ui/):针对不同模式实现用户交互逻辑,例如交互模式通过
prompt_toolkit提供输入补全、颜色高亮;ACP模式通过FastAPI启动HTTP服务,接收编辑器的JSON-RPC请求。

四、应用场景
Kimi CLI的设计初衷是“让终端操作更高效”,其应用场景覆盖开发、运维、学习等多个领域,以下为典型场景说明:
1. 开发者日常开发辅助
对于程序员而言,终端是高频使用的工具,但复杂命令(如awk文本处理、sed批量替换)的记忆与编写成本较高。Kimi CLI可简化这一过程:
命令生成:输入“用grep查找./app中所有包含‘UserLogin’的日志,并统计出现次数”,工具自动生成
grep -r "UserLogin" ./app | wc -l;代码相关操作:结合文件工具和网络工具,实现“读取./main.py,找出其中的递归函数,再查下Python递归深度的默认值”;
环境配置:输入“帮我在Ubuntu上安装Python 3.13,并配置虚拟环境”,工具会生成
apt update && apt install ...等一系列命令,逐步引导执行。
2. 系统管理员自动化任务
系统管理员常需处理批量操作(如日志清理、用户管理),Kimi CLI的“任务委托”能力可拆分复杂需求:
需求:“检查所有服务器(192.168.1.10-20)的磁盘使用率,若超过80%,删除/var/cache下7天前的文件,并记录操作日志到./clean_logs”;
工具处理:先通过
bash工具批量执行ssh命令获取磁盘使用率,再筛选超阈值的服务器,调用find命令删除文件,最后用file工具写入日志,全程无需手动编写脚本。
3. 终端新手学习工具
对于刚接触Linux/macOS终端的用户,Kimi CLI可作为“实时教程”:
输入“
chmod 755是什么意思?”,工具会解释“7代表所有者可读可写可执行,5代表组用户和其他用户可读可执行”;输入“我想删除一个名为‘my file.txt’的文件(带空格),该怎么操作?”,工具会提示
rm "my file.txt"并解释引号的作用(避免空格被解析为分隔符)。
4. 编辑器/IDE集成增强
通过ACP协议,Kimi CLI可成为编辑器的“终端AI插件”:
在VS Code中编写Shell脚本时,选中一段代码并提问“这段脚本有什么优化空间?”,工具会返回“可将多个
cd命令合并为绝对路径”“建议添加错误判断set -e”等建议;在Neovim中开发时,输入“帮我用curl调用https://api.example.com,并将返回的JSON格式化后保存到data.json”,工具会生成命令并直接在编辑器中执行。
五、使用方法
Kimi CLI的使用可分为“环境准备”“安装部署”“基本操作”“高级配置”四步,以下为详细说明:
1. 环境准备
系统要求:macOS 10.15+ 或 Linux(Ubuntu 20.04+、CentOS 8+),Windows需等待官方更新;
依赖工具:若通过源码安装,需提前安装Python 3.13+、git、make;二进制安装无需依赖。
2. 安装部署
Kimi CLI提供三种安装方式,用户可根据需求选择:
(1)源码安装(适合开发者)
# 克隆仓库 git clone https://github.com/MoonshotAI/kimi-cli.git cd kimi-cli
# 准备开发环境(安装uv及依赖)
make prepare
# 验证安装
uv run kimi --version
# 输出:kimi-cli 0.1.0 (tech preview)
(2)二进制安装(适合普通用户)
从GitHub Releases页面下载对应系统的二进制文件(如kimi-macos-arm64),添加执行权限后即可使用:
# 下载文件(以macOS为例) curl -L https://github.com/MoonshotAI/kimi-cli/releases/latest/download/kimi-macos-arm64 -o /usr/local/bin/kimi
# 添加执行权限
chmod +x /usr/local/bin/kimi
# 验证
kimi --version
(3)PyPI安装(适合Python环境用户)
# 需先安装uv(推荐)或pip uv install kimi-cli
# 启动
kimi
3. 基本操作
(1)启动交互模式(默认)
直接输入kimi即可进入交互界面,提示符为kimi> ,支持自然语言和命令输入:
kimi # 输出:Welcome to Kimi CLI (tech preview). Type 'help' for commands. kimi> 列出当前目录下的所有Python文件 # 工具执行:ls *.py # 输出:main.py utils.py test.py kimi> 计算它们的总行数 # 工具执行:cat *.py | wc -l # 输出:1568
(2)非交互模式(适合脚本)
通过--mode print参数直接输出结果,例如在Shell脚本中嵌入:
# 脚本中获取当前目录大小并赋值给变量 dir_size=$(kimi --mode print "计算当前目录的总大小,单位为MB") echo "当前目录大小:$dir_size"
(3)启动ACP服务(供编辑器连接)
# 启动ACP服务,默认端口7777 kimi --mode acp
# 在VS Code中安装ACP插件,配置服务地址http://localhost:7777即可连接
4. 高级配置
(1)自定义代理
通过YAML文件定义代理行为,例如创建一个“仅处理文件操作”的代理:
# 保存为file_agent.yaml system_prompt: "你是一个文件操作专家,仅处理文件读写、搜索相关任务" allowed_tools: [file] # 仅允许调用file工具
使用该代理:
kimi --agent file_agent.yaml
(2)Zsh插件安装
# 安装插件 kimi plugin install zsh
# 启用(需添加到.zshrc)
echo 'source "$(kimi plugin path zsh)"' >> ~/.zshrc
source ~/.zshrc
六、常见问题解答(FAQ)
Kimi CLI支持Windows系统吗?
目前暂不支持,官方表示Windows版本正在开发中,预计下一版本发布。
工具调用失败时如何排查?
可通过--debug参数查看详细日志:
kimi --debug "你的指令"
日志会显示工具调用参数、返回结果及错误信息,便于定位问题(如权限不足、网络故障)。
是否需要联网使用?
基础的Shell命令执行、文件操作可离线使用,但网络工具(网页爬取、搜索)及LLM模型调用需要联网。
如何更新Kimi CLI?
源码安装:
git pull && make prepare;二进制安装:重新下载最新版本覆盖旧文件;
PyPI安装:
uv update kimi-cli。
与其他命令行AI工具(如ChatGPT CLI)的区别是什么?
Kimi CLI更聚焦“终端深度集成”,支持上下文关联的Shell命令执行、ACP协议对接开发工具,且工具系统模块化程度更高,可灵活扩展。
是否支持自定义工具?
支持。用户可按规范实现工具(继承BaseTool类并实现call方法),放入~/.kimi/tools/目录,Kimi CLI会自动加载。
七、相关链接
Moonshot AI官网:https://moonshot.cn/
八、总结
Kimi CLI是一款将AI能力与终端操作深度融合的开源工具,通过自然语言交互、模块化工具链、多场景适配(Shell、编辑器集成等),降低了终端使用门槛,提升了开发与运维效率。无论是开发者、系统管理员还是终端新手,都能借助其上下文理解、命令生成、工具调用等功能简化工作流程,是终端生态中一款极具实用价值的AI辅助工具。
版权及免责申明:本文由@AI铺子原创发布。该文章观点仅代表作者本人,不代表本站立场。本站不承担任何相关法律责任。
如若转载,请注明出处:https://www.aipuzi.cn/ai-news/kimi-cli.html

