01. 概述对比:Crush vs Kimi Code CLI
1.1 项目定位
| 维度 | Crush | Kimi Code CLI |
|---|
| 开发者 | Charmbracelet | Moonshot AI (月之暗面) |
| 核心定位 | 通用AI编程助手CLI | Kimi生态专属编程助手 |
| 目标用户 | Go开发者、追求性能的用户 | Python开发者、Kimi用户 |
| 许可证 | MIT | MIT |
1.2 技术栈对比
Crush 技术栈
语言: Go 1.26
CLI框架: Cobra
TUI框架: Bubble Tea v2 + Bubbles v2
样式: Lip Gloss v2 + Glamour v2
LLM抽象: Fantasy (自研)
数据库: SQLite (modernc.org/sqlite + sqlc)
MCP: go-sdk (官方)
构建: GoReleaser + Taskfile
Kimi Code CLI 技术栈
语言: Python 3.12+ (目标3.14)
CLI框架: Typer
TUI框架: prompt-toolkit + Rich
样式: Rich
LLM抽象: Kosong (自研) + Pydantic
数据库: 无内置,文件持久化
MCP: fastmcp
构建: uv + PyInstaller
Web: FastAPI + Uvicorn
1.3 核心特性对比
| 特性 | Crush | Kimi Code CLI |
|---|
| 交互模式 | TUI (Bubble Tea) | Shell + TUI + Web |
| 多模型支持 | OpenAI/Anthropic/Google/Bedrock/Azure等 | Kimi/OpenAI/Anthropic/Google等 |
| MCP支持 | stdio/HTTP/SSE | stdio/HTTP |
| IDE集成 | 无原生支持 | ACP 0.7.0 + VSCode扩展 |
| 会话持久化 | SQLite | 文件JSON |
| 上下文压缩 | 自动摘要 | 手动/自动compact |
| 子Agent | agent_tool | Task工具 + LaborMarket |
| Skills | YAML文件 | YAML + Flow技能 |
| 权限控制 | Permission服务 + 自动批准 | Approval交互确认 |
| OAuth | 支持 | 支持 (Kimi专属) |
| Web界面 | 无 | FastAPI + React |
1.4 代码规模对比
| 指标 | Crush | Kimi Code CLI |
|---|
| 核心代码行数 | ~15,000行 Go | ~12,000行 Python |
| 文件数量 | ~240个 | ~200个 |
| 依赖数量 | ~25个 Go模块 | ~40+ PyPI包 |
1.5 启动性能对比
| 指标 | Crush | Kimi Code CLI |
|---|
| 冷启动时间 | <100ms (原生二进制) | ~500ms (Python解释器) |
| 内存占用 | 较低 (Go GC) | 较高 (Python + 依赖) |
| 分发方式 | 单二进制 | Python包 + 可选打包 |
1.6 选型建议
选择 Crush 的场景
- 追求极致性能和启动速度
- 偏好 Go 生态和编译型语言
- 需要跨平台单二进制分发
- 重视类型安全和编译期检查
选择 Kimi Code CLI 的场景
- 需要 IDE 集成 (VSCode)
- 偏好 Python 生态
- 需要灵活的扩展机制
- 使用 Kimi 模型服务
- 需要 Web 界面支持