04. 工具系统对比:Crush vs Kimi Code CLI
4.1 内置工具清单
Crush (19个)
| 工具 | 功能 |
|---|
| bash | Shell命令执行 |
| view | 读取文件 |
| edit/multiedit | 文件编辑 |
| write | 写入文件 |
| ls | 目录列表 |
| glob/grep | 文件搜索 |
| fetch/web_fetch/web_search | Web操作 |
| todos | 任务管理 |
| lsp_diagnostics/references | LSP工具 |
| agent | 子Agent调用 |
Kimi Code CLI (13个)
| 工具 | 功能 |
|---|
| Shell | Shell执行 |
| ReadFile/ReadMediaFile | 文件读取 |
| WriteFile | 文件写入 |
| StrReplaceFile | 字符串替换 |
| Glob/Grep | 文件搜索 |
| SearchWeb/FetchURL | Web工具 |
| Task | 子Agent任务 |
| Think | 扩展思考 |
| SendDMail | 时间旅行 |
4.2 Shell工具安全策略
Crush: 60+禁用命令
var bannedCommands = []string{
"curl", "wget", "sudo", "su", "npm", "pip", "ssh", "scp",
"docker", "kubectl", "chmod", "chown", "systemctl",
// ... 约60个命令
}
func isBanned(command string) bool {
for _, banned := range bannedCommands {
if cmd == banned { return true }
}
return false
}
Kimi Code CLI: Approval确认
async def __call__(self, params: Params):
approved = await self._approval.request(
tool=self.name,
action="run command",
details=f"Run `{params.command}`"
)
if not approved:
return ToolRejectedError()
4.3 文件操作对比
| 维度 | Crush | Kimi Code CLI |
|---|
| 默认行数 | 2000 | 1000 |
| 最大文件 | 5MB | 无限制 |
| 编辑前读检查 | 强制(fileTracker) | 无 |
| 修改检测 | 有 | 无 |
| LSP通知 | 有 | 无 |
4.4 MCP集成
| 维度 | Crush | Kimi Code CLI |
|---|
| 客户端库 | go-sdk (官方) | fastmcp |
| 传输类型 | stdio/HTTP/SSE | stdio/HTTP |
| 工具命名 | mcp_{server}_{tool} | mcp_{server}_{tool} |