在终端里跑一个能写代码的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/crushWindows 用户用 winget 也可以,一条winget install charmbracelet.crush搞定。Scoop、Arch、Nix 等其他途径,参考官方文档就行。
装完在项目目录输入crush,你会进入一个对话式界面。接下来要给它配一个模型:要么提前把ANTHROPIC_API_KEY、OPENAI_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 128000LSP 也照样一行搞定,比如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),仅供参考