Crush:AI赋能终端CLI评测(原OpenCode AI)

Thenewstack

Crush,一个基于Go的开源命令行界面(CLI)应用程序,最近已成为AI辅助开发工具领域的重要参与者。它原名OpenCode AI,于2025年7月29日迅速完成了品牌重塑和仓库迁移,标志着这个创新项目进入了一个新阶段。Crush将人工智能直接集成到终端中,提供了一个强大的终端用户界面(TUI),旨在简化编码任务、调试和各种其他开发工作流程。

Crush基于Charm的BubbleTea框架构建,提供了一种复杂、多模型和基于会话的体验。用户可以从各种大型语言模型(LLMs)中选择,甚至可以集成自己的自定义模型。一个关键特性是能够在会话中途切换不同的LLM,同时保持会话上下文,确保复杂任务的连续性。此外,Crush支持集成语言服务器协议(LSPs),类似于它们在代码编辑器中的配置方式,从而增强了其代码感知操作的实用性。

安装过程非常简单,特别是对于macOS用户,Homebrew提供了一种便捷的方法。首次启动时,Crush会提示用户输入API密钥,尽管LLM配置也可以通过环境变量进行管理。该应用程序支持广泛的模型,包括GPT-5(现已可用)和Opus 4等预期的行业标准,以及Groq和Grok等鲜为人知的选项。启动时,Crush会引导用户完成初始化过程,创建配置文件并设置初始上下文。尽管此设置旨在方便用户,但使用“yep”和“nope”等非正式提示可能会对非英语母语者构成轻微挑战。

Crush的一个独特之处在于其权限处理方法。系统会主动对在Crush环境中执行的操作系统命令应用额外的检查。例如,尝试更改目录(例如,cd ..)会触发权限切换,需要用户确认。此行为由crush.json配置文件控制,其中包含一个“allowed_tools”列表,指定了允许的操作,例如viewlsgrepedit。对于喜欢绕过这些提示的用户,可以使用--yolo标志,这反映了项目某种程度上随性的精神。

在处理开发项目时,Crush会生成一个CRUSH.md文件,提供代码库的简明摘要。它还会智能地整合来自Cursor和Copilot等其他流行开发工具的指令。代理的初步处理侧重于识别配置、测试和核心项目文件。然而,用户可能会根据其终端模拟器遇到一些小的界面挑战;例如,在Warp终端中,某些命令可能会被拦截,并且像基于鼠标的光标放置或文本复制等标准功能可能不可用。作者注意到一个实例,任务因Anthropic代币耗尽而停止,需要充值并重新运行该过程才能成功生成CRUSH.md文件。

在实际测试中,Crush的任务是在一系列策略中生成一个新类,这是游戏开发项目中的实际需求。LLM成功地从现有项目中获取了上下文,将“farmer”等术语解释为角色名称和类型,并根据与编码特定内容交织的英语语言上下文智能地将“PollutionBad”改写为“FreezingBad”。Crush随后请求权限添加生成的类并将其集成到项目的策略列表中。尽管它尝试添加新叙述的实例,但缺乏足够的信息来完全完成,这表明虽然它能逻辑地组织工作,但对于更复杂的、多步骤的任务,仍可能需要用户指导。该界面允许用户使用Tab键轻松在请求和响应块之间切换。

总之,Crush尽管处于早期阶段,并且缺乏一些常见的用户界面便利性,但引入了一些有趣且新颖的功能。虽然它可能尚未与Warp等更成熟的终端解决方案的集成代理式CLI功能相媲美,但其一致的基于TUI的方法和开源性质使其具有巨大的潜力。随着贡献的增加和核心功能的加强,Crush很可能成为一个强大的工具,在AI辅助开发领域发挥超出其目前体量的作用。