news 2026/8/24 6:30:09

在终端里跑一个能写代码的AI

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
在终端里跑一个能写代码的AI

在终端里跑一个能写代码的AI

【免费下载链接】crushGlamourous agentic coding for all 💘项目地址: https://gitcode.com/gh_mirrors/crush3/crush

你是否在找一个能待在终端里陪你写代码的 AI 助手?Crush 就是干这个的:它直接运行在你的命令行里,自己读文件、跑命令、改代码,全程不用你切到浏览器或者 IDE。

🚀 三分钟跑起来

安装这件事没什么花样,挑一种装法就行。macOS 和 Linux 上:

brew install charmbracelet/tap/crush # 或者 npm install -g @charmland/crush

Windows 用户用 winget 也可以,一条winget install charmbracelet.crush搞定。Scoop、Arch、Nix 等其他途径,参考官方文档就行。

装完在项目目录输入crush,你会进入一个对话式界面。接下来要给它配一个模型:要么提前把ANTHROPIC_API_KEYOPENAI_API_KEY之类的环境变量设好,要么在界面里按ctrl+l打开模型选择器,选供应商、粘贴 API key 即可。不想折腾的话,直接选 Charm 官方的 Hyper 模型,跟着认证流程走就能开工。

第一次用,建议先让它初始化一下当前项目。Crush 会扫一遍代码库,生成一份AGENTS.md上下文文件,把构建命令、代码风格、项目约定记下来。以后每次开会话,它都带着这份"小抄",不用你反复解释项目背景。

🛠️ 它到底能帮你做什么

让它读懂你的项目。你问"这个模块是干嘛的",它会自己去看相关文件、顺藤摸瓜找到调用处,再给你讲清楚来龙去脉。它还能接上 LSP(比如 gopls、typescript-language-server),拿到类型和诊断信息,理解代码的方式跟你用 IDE 时差不多。

跨文件搜索和改代码。这类活最费人,也最适合它:全局把某个参数名改一遍、把一批函数的错误处理补上、顺着报错定位到具体行。它自己 grep、自己改、改完再跑测试验证。内置的文件查看、目录浏览、搜索、编辑工具,基本覆盖你日常翻代码的所有动作。

接入你自己的模型和服务。本地跑 Ollama 的模型可以直接接进来,不用把代码发出去。它支持 MCP 协议,GitHub、Linear、文件系统之类的 MCP 服务器都能挂上,相当于给这个 AI 助手再装一套外部工具。

⚙️ 两行配置,让它听话

Crush 零配置就能跑,想调教它的话,靠的是一份叫crushrc的文件。说白了它就是一段 Bash,里面加了几个 Crush 专属命令,写法跟.bashrc很像,在 Windows 上也能正常用。

配置有三个层级,项目根目录的.crushrc优先级最高,其次是你家目录下~/.config/crush/crushrc的全局配置。项目专属的写项目里,个人习惯放全局,互不干扰。

下面这个例子是接入本地 Ollama 模型,最实用也最常被问到:

# 项目里新建 crushrc,写入: provider add ollama --type ollama --base-url "http://localhost:11434/v1" model add ollama/llama3.3 --name "Llama 3.3" --context-window 128000

LSP 也照样一行搞定,比如lsp add go --command gopls。接上之后它写 Go 代码前能看到实时的类型报错和诊断,低级错误明显变少。MCP 服务器用mcp add配置,支持 stdio、http、sse 三种传输方式,写法类似。另外,Crush 内置了一个"给自己做配置"的技能,很多时候你直接用嘴描述想要什么,它自己就把 crushrc 写好了。

⚠️ 上手后容易踩的坑

如果你嫌权限提示太频繁——默认情况下它每执行一次工具调用都会先问你,这是刻意设计的保险。觉得烦的话,把只读类工具加进白名单:

permissions allow view ls grep edit

还有个--yolo参数能跳过所有提示,但说真的,没看清它要干什么之前别开这个。

如果你发现它读了不该读的文件,比如生成产物或者内部密钥文件。默认它会尊重.gitignore,想额外排除就在项目里放一个.crushignore,语法跟.gitignore一模一样,写进去的东西它就不碰了。

如果它行为不对劲,想查个清楚,日志在数据目录的logs/crush.log里,直接:

crush logs --tail 500 # 看最近 500 行 crush logs --follow # 实时跟踪

还有一条要记牢:crushrc 本质上是会被执行的代码,别在没检查过配置文件的目录里直接启动它,也别随手把网上的配置 source 进来。


下一步很简单:进你的项目目录,输入crush,问它一个具体的问题,比如"解释一下 main.go 里这个函数为什么这么写"。看它怎么自己翻文件、搜引用、给出带文件名的回答。答得不靠谱,回头看看配置和忽略规则;答得靠谱,就可以把它当成每天都在用的工具了。

【免费下载链接】crushGlamourous agentic coding for all 💘项目地址: https://gitcode.com/gh_mirrors/crush3/crush

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/24 6:28:02

SAP ABAP批量修改凭证文本:BAPI方案与性能优化实战

1. 项目概述:为什么我们需要批量修改凭证文本?在SAP ERP的日常运维和项目实施中,财务、物流等模块的凭证数据量庞大,业务场景复杂。你可能会遇到这样的需求:因为一次性的业务规则调整,需要将过去一年内所有…

作者头像 李华
网站建设 2026/8/24 6:26:51

SAR ADC工作原理深度解析:从二进制搜索算法到电路设计实践

1. 项目概述:为什么从SAR ADC开始?如果你刚开始接触模数转换器,或者想深入理解一种兼具精度、速度和能效的ADC架构,逐次逼近型ADC绝对是一个完美的起点。我当年在学校实验室第一次用示波器抓取SAR ADC的转换过程时,那种…

作者头像 李华
网站建设 2026/8/24 6:26:40

FreeRTOS中断管理:STM32上NVIC优先级与安全API的硬核契约

1. 中断管理不是“插个函数就完事”:FreeRTOS在STM32上最常被忽略的底层契约你是不是也这样干过?在STM32项目里,把HAL库的HAL_UART_RxCpltCallback()一写,再往FreeRTOS队列里xQueueSendFromISR()一丢,编译通过、串口能…

作者头像 李华
网站建设 2026/8/24 6:23:07

Java调用Windows API实战:JNA零编译接入系统级能力

1. 项目概述:为什么 Java 程序员需要亲手“推开 Windows 的门”Java 的跨平台承诺深入人心——写一次,跑 everywhere。但现实很骨感:当你需要获取当前窗口标题、模拟真实鼠标点击、读取 USB 设备序列号、监听全局键盘钩子,或者调用…

作者头像 李华
网站建设 2026/8/24 6:21:12

CentOS 7服务器安全加固:ClamAV安装配置与恶意文件扫描实战

1. 项目概述:为什么在CentOS 7上需要ClamAV?在很多人印象里,Linux服务器,尤其是像CentOS 7这样的企业级发行版,似乎天生就“百毒不侵”,不需要杀毒软件。这种想法在十年前或许还说得过去,但随着…

作者头像 李华
网站建设 2026/8/24 6:13:09

计算机专业实习求职全攻略:从简历到面试的实战技巧

1. 实习求职的底层逻辑拆解找实习本质上是一场信息战能力匹配游戏。我总结出三条黄金法则:公司需要的是"能立即上手干活"的实习生HR筛简历时平均只花6秒内推成功率比海投高5倍以上去年我通过这套方法论拿到3家互联网大厂offer,最终选择了一家A…

作者头像 李华