找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

1928

积分

0

好友

252

主题
发表于 前天 22:49 | 查看: 3| 回复: 0

Crush终端AI编程工具界面展示

如果你一天大部分时间都在终端里:那最顺手的 AI,不该把你拖进新 UI,而是直接住进你的命令行。

Crush 是什么?

Crush 是 Charmbracelet 出品的终端 AI 编程代理(CLI/TUI)。核心思路是: 把 你的工具、代码、工作流 直接“接”到你选择的 LLM 上,让它在终端里跟你一起干活。

它的几个关键卖点:

多模型 + 可中途切换:同一会话里换模型,不丢上下文。

会话制(Session-Based):一个项目可以维护多个工作会话/上下文。

LSP 加持:像你在编辑器里那样,用 LSP 给它“更懂代码”的上下文(诊断/符号等)。

MCP 扩展:用 Model Context Protocol 把外部能力接进来(stdio/http/sse)。

跨平台终端一等公民:macOS / Linux / Windows(PowerShell & WSL)/ 多种 BSD 都支持。

Crush命令面板与代码交互界面

Crush执行代码格式化与检查任务

Crush代码编辑与状态面板

适合谁?

  • 终端重度用户:SSH、Docker、Git、脚本、CI 都在命令行完成
  • 不想被绑定在某个 IDE/插件生态里的人
  • 独立开发者:想要“轻量但能扩展”的 AI 助手(尤其 MCP + 自定义 Provider 这块)

3 分钟上手

1)安装

官方 README 给了很多包管理器方式,常用的就这俩:

# macOS / Linux
brew install charmbracelet/tap/crush

# 全平台(有 Node 的环境)
npm install -g @charmland/crush

Windows 也可以用 winget / scoop。

2)准备一个模型 Key,然后启动

最快方式:拿到你常用提供商的 API Key(比如 OpenAI / Anthropic / Groq / OpenRouter 等),直接运行 crush ,它会提示你输入。

或者提前用环境变量(部分示例):

  • OPENAI_API_KEY (OpenAI)
  • ANTHROPIC_API_KEY (Anthropic)
  • OPENROUTER_API_KEY (OpenRouter)
  • GEMINI_API_KEY (Gemini)

进阶玩法

1)让它“像 IDE 一样懂你的项目”:接入 LSP

Crush 可以配置多个语言的 LSP,用来补充上下文。示例里就有 Go / TS / Nix 的配置方式。

你可以这样理解其价值:

LSP = 把“代码智能”(诊断、符号、跳转信息)喂给 Agent ,它更容易给出靠谱修改。

2)把外部能力接进来:MCP(重点推荐给开发者)

Crush 支持 MCP Server,三种传输:stdio (本地命令行服务)、httpsse ,并支持环境变量展开。

这在实际开发中如何应用?可以设想以下场景:

  • 接一个“文件系统/知识库/内部 API”的 MCP
  • 接 GitHub / 工单系统 / 文档检索
  • 让它不只是聊天,而是能调用你团队的工具链

3)权限与安全:默认会问你“要不要执行”

Crush 默认在运行工具调用前会征求许可;你也可以配置允许的工具白名单。 另外有一个需要谨慎使用的选项:--yolo 可以跳过所有权限提示(务必强调风险)。

再加两条对用户友好的安全措施:

  • 默认尊重 .gitignore
  • 还能额外写 .crushignore 排除你不想被它读取/作为上下文的文件。

4)多模型生态:自定义 Provider + 本地模型

Crush 支持自定义 Provider,兼容 OpenAI-compatibleAnthropic-compatible API,并明确区分 openai vs openai-compat 两种类型。

例如,接入 DeepSeek 这类 OpenAI-compatible 模型,思路就是更换 base_url 和 key 即可。

更实用的是支持本地模型:

  • Ollama、LM Studio 都可以通过 OpenAI-compatible 方式接入。

5)可观测性:日志 & 调试

日志默认在项目相对路径:./.crush/logs/crush.log ,并提供 crush logs--tail--follow 等命令方便查看;还可以开启 --debug 模式或进行相应配置。

6)团队协作细节:提交信息署名(Attribution)

Crush 默认会在它创建的 Git commit / PR 里加 attribution 信息;你可以配置 trailer 风格(assisted-by / co-authored-by / none)以及是否添加 “Generated with Crush”。

“我该怎么用?”

开新需求:让它先把改动拆成任务清单,再按步骤执行(会话制 + 上下文保留)

重构/排错:LSP + 工具调用(grep/edit 等),减少“只会建议不会改”的尴尬

把你的工作流变成能力:用 MCP 接内部系统/脚手架/文档库,让它变成真正的“工具人”

总结

对于终端党、Vim/Neovim 用户,或者不希望被特定 IDE 生态捆绑的开发者,Crush 这款命令行工具值得尝试:

  • 先装起来跑一跑
  • 再加 LSP(让它更懂你的代码)
  • 最后接 MCP(让它真正融入你的工具链)

项目地址

https://github.com/charmbracelet/crush

欢迎在 云栈社区 分享你的使用体验或发现更多开发者工具。




上一篇:Linux运维效率提升:优化sudo密码缓存时间的3种配置技巧
下一篇:MySQL半同步复制与GTID:主库宕机时如何确保数据零丢失与快速切换
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-1-12 01:10 , Processed in 0.259742 second(s), 39 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2025 云栈社区.

快速回复 返回顶部 返回列表