项目概览
Kimi Code CLI(kimi-cli)是 Moonshot AI 开源的终端 AI Agent,支持代码编辑、Shell 命令执行、网页搜索和自主任务规划。特色是内置 Shell 模式(无需退出即可运行原生命令)和 VS Code 扩展集成。
- 仓库: https://github.com/MoonshotAI/kimi-cli
- Stars: 8,585 | Forks: 1,033 | Open Issues: 661
- License: 需查看 LICENSE 文件
- 版本:
1.44.0(PyPIkimi-cli) - Python 要求: >= 3.12
技术栈
| 维度 | 技术 |
|---|---|
| 语言 | Python 3.12+ |
| 包管理 | uv (pyproject.toml) |
| CLI 框架 | Typer |
| TUI | prompt-toolkit + Rich |
| 网络 | aiohttp, httpx[socks] |
| 协议 | MCP (fastmcp), Agent Client Protocol (agent-client-protocol) |
| 数据 | Pydantic, PyYAML, tomlkit |
| Web 抓取 | trafilatura (文章提取), streamingjson |
| 代码搜索 | ripgrepy (ripgrep Python 封装) |
目录结构
kimi-cli/
├── src/
│ └── kimi_cli/ # CLI 主程序源码
├── packages/
│ ├── kaos/ # KaOS 框架(可能是内部 Agent 框架)
│ ├── kimi-code/ # Kimi Code 核心包
│ └── kosong/ # Kosong 工具包(依赖中标记为 contrib)
├── sdks/ # SDK 实现
├── klips/ # Klips(可能是提示词片段或技能定义)
├── vis/ # 可视化组件
├── web/ # Web UI 相关
├── tests/ # 单元测试
├── tests_ai/ # AI 行为测试
├── tests_e2e/ # 端到端测试
├── examples/ # 示例
└── docs/ # 文档
核心入口与公共 API
| 模块 | 入口 | 职责 |
|---|---|---|
| CLI | src/kimi_cli/ | Typer 命令定义、主事件循环 |
| KaOS | packages/kaos/ | Agent 运行时框架 |
| Kimi Code | packages/kimi-code/ | 代码编辑、文件操作核心 |
| SDK | sdks/ | 对外开发接口 |
亮点设计
1. Shell 模式 (Ctrl-X)
Kimi CLI 的独特设计:按 Ctrl-X 可在 Agent 模式和原生 Shell 模式间切换。这意味着用户无需频繁退出 CLI 即可运行任意终端命令,体验更接近一个”增强版 Shell”而非独立的 Agent 应用。
2. Agent Client Protocol
依赖中包含 agent-client-protocol==0.8.0,说明 Kimi CLI 参与了某种标准化的 Agent 通信协议。这可能是 Moonshot 推动的行业标准或内部规范。
3. 多包架构 (kaos + kimi-code + kosong)
- kaos: 可能是 Agent 操作系统级抽象(调度、上下文、记忆)
- kimi-code: 编码专用能力(代码编辑、Repo 理解)
- kosong: 通用工具集(
kosong[contrib]在依赖中)
4. 完整的工具链集成
- ripgrepy: 代码搜索
- trafilatura: 网页内容提取(用于抓取文档)
- streamingjson: 流式 JSON 解析(处理 SSE/流式响应)
- fastmcp: MCP 协议支持
5. VS Code 扩展联动
通过 vis/ 和 VS Code Extension (moonshot-ai.kimi-code) 实现 IDE 与终端的无缝协作。
待深入研究
-
packages/kaos/的 Agent 调度架构(是否有类似 LangGraph 的状态机) -
packages/kimi-code/的代码编辑策略(使用何种 diff/patch 格式) -
src/kimi_cli/的 Shell 模式实现细节(如何复用底层 shell 进程) -
klips/的技能/提示词管理系统 - Agent Client Protocol 的具体规范
与知识库的关联
- 终端 Agent 架构对比 — Shell 模式是 Kimi CLI 的独特设计
- MCP 核心概念 — fastmcp 集成
- Shell 与 Agent 融合 — Shell 模式的设计哲学