项目概览
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 模式的设计哲�?