海外访问:www.kdjingpai.com
Ctrl + D 收藏本站

Crush 是一个运行在终端的 AI 编程助手,由 Charmbracelet 团队开发。它通过集成大语言模型(LLM),帮助开发者在终端中高效完成代码编写、调试和项目管理。Crush 支持多种模型,允许用户灵活切换,支持语言服务器协议(LSP)以获取代码上下文,还提供模型上下文协议(MCP)扩展功能。它兼容多种操作系统,包括 macOS、Linux 和 Windows,适合喜欢终端操作的开发者。Crush 设计简洁,注重实用性和性能,旨在提升编码效率。

 

功能列表

  • 支持多种大语言模型(LLM),如 OpenAI、Anthropic 或本地模型(如 Ollama),可中途切换模型。
  • 集成语言服务器协议(LSP),提供代码补全、语法检查等功能。
  • 支持模型上下文协议(MCP),通过 HTTP、stdio 或 SSE 扩展功能。
  • 提供多会话管理,允许在不同项目间切换并保留上下文。
  • 支持全平台运行,包括 macOS、Linux、Windows(PowerShell 和 WSL)、FreeBSD 等。
  • 提供灵活的配置文件,支持项目级或全局配置。
  • 社区支持的模型列表(Catwalk),便于用户添加或更新模型。
  • 提供代码生成和调试功能,优化终端工作流。

使用帮助

安装流程

Crush 支持多种安装方式,适用于不同操作系统和包管理器。以下是详细的安装步骤:

通过 Homebrew 安装(macOS/Linux)

  1. 打开终端,运行以下命令:
    brew install charmbracelet/tap/crush
    
  2. 等待安装完成,输入 crush --version 验证安装成功。

通过 NPM 安装(跨平台)

  1. 确保已安装 Node.js。
  2. 在终端运行:
    npm install -g @charmland/crush
    
  3. 检查版本:crush --version

通过 Arch Linux 安装

  1. 使用 Yay 包管理器:
    yay -S crush-bin
    
  2. 验证安装:crush --version

通过 Nix 安装

  1. 运行以下命令:
    nix run github:numtide/nix-ai-tools#crush
    
  2. 或通过 NUR 安装:
    nix-channel --add https://github.com/nix-community/NUR/archive/main.tar.gz nur
    nix-channel --update
    nix-shell -p '(import <nur> { pkgs = import <nixpkgs> {}; }).repos.charmbracelet.crush'
    

通过 Debian/Ubuntu 安装

  1. 添加 Charm 软件源:
    sudo mkdir -p /etc/apt/keyrings
    curl -fsSL https://repo.charm.sh/apt/gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/charm.gpg
    echo "deb [signed-by=/etc/apt/keyrings/charm.gpg] https://repo.charm.sh/apt/ * *" | sudo tee /etc/apt/sources.list.d/charm.list
    
  2. 更新并安装:
    sudo apt update && sudo apt install crush
    

通过 Fedora/RHEL 安装

  1. 添加 Yum 软件源:
    echo '[charm] name=Charm baseurl=https://repo.charm.sh/yum/ enabled=1 gpgcheck=1 gpgkey=https://repo.charm.sh/yum/gpg.key' | sudo tee /etc/yum.repos.d/charm.repo
    
  2. 安装 Crush:
    sudo yum install crush
    

验证安装

安装完成后,运行 crush --version 检查版本信息。如果显示版本号,说明安装成功。

配置 API 密钥

Crush 需要配置大语言模型的 API 密钥才能正常工作。以下是配置步骤:

  1. 获取 API 密钥:
    • 支持的模型提供商包括 OpenAI、Anthropic、Groq 或 OpenRouter。
    • 访问提供商官网,注册并获取 API 密钥。
  2. 配置密钥:
    • 在终端运行 crush config 进入配置模式。
    • 输入 API 密钥,按提示保存。
  3. 本地模型支持:
    • 如果使用本地模型(如 Ollama),需配置 OpenAPI 兼容接口。例如:
      {
      "$schema": "https://charm.land/crush.json",
      "providers": {
      "ollama": {
      "type": "openai",
      "base_url": "http://127.0.0.1:11434/v1",
      "api_key": "ollama",
      "models": [
      {
      "id": "devstral",
      "name": "devstral",
      "context_window": 131072
      }
      ]
      }
      }
      }
      
    • 将配置文件保存至项目目录或 ~/.crush/config.json

使用 Crush 的主要功能

代码生成

  1. 在终端输入 crush code,然后描述需求,如:
    crush code "编写一个 Python 函数,计算斐波那契数列"
    
  2. Crush 会调用配置的 LLM,生成代码并显示。
  3. 如果代码未正确包裹代码块,可在 CRUSH.md 文件中添加规则:
    ```python
    # 代码示例
    
    
    

代码调试

  1. 输入 crush debug,粘贴有问题的代码。
  2. Crush 会分析代码,建议修复方案。
  3. 使用 LSP 增强调试:
    • 配置 LSP 服务器,例如 Go 的 gopls
      {
      "$schema": "https://charm.land/crush.json",
      "lsp": {
      "go": { "command": "gopls" },
      "typescript": { "command": "typescript-language-server", "args": ["--stdio"] }
      }
      }
      
    • Crush 会利用 LSP 提供语法检查和补全建议。

会话管理

  1. 创建新会话:crush session new <项目名>
  2. 切换会话:crush session switch <项目名>
  3. 查看会话列表:crush session list
  4. 会话保留上下文,确保不同项目的工作流不冲突。

扩展功能(MCP)

  1. 配置 MCP 服务器:
    {
    "mcp": {
    "transport": "http",
    "endpoint": "http://example.com/mcp"
    }
    }
    
  2. Crush 通过 MCP 访问外部工具或服务,扩展功能。

验证发布文件

Crush 提供签名验证,确保下载文件安全:

  1. 下载发布文件和签名文件(如 checksums.txtchecksums.txt.sig)。
  2. 运行验证命令:
    cosign verify-blob \
    --certificate-identity 'https://github.com/charmbracelet/meta/.github/workflows/goreleaser.yml@refs/heads/main' \
    --certificate-oidc-issuer 'https://token.actions.githubusercontent.com' \
    --cert 'https://github.com/charmbracelet/crush/releases/download/v0.1.11/checksums.txt.pem' \
    --signature 'https://github.com/charmbracelet/crush/releases/download/v0.1.11/checksums.txt.sig' \
    ./checksums.txt
    
  3. 输出显示 “Verified OK” 表示文件安全。

应用场景

  1. 终端高效编码
    • 开发者在终端中编写代码时,Crush 可快速生成代码片段、提供调试建议,减少切换至浏览器或 IDE 的时间。
  2. 跨项目管理
    • 对于管理多个项目的开发者,Crush 的会话管理功能可保存不同项目的上下文,快速切换工作环境。
  3. 本地模型开发
    • 使用本地模型(如 Ollama)的开发者可通过 Crush 在无网络环境下完成代码生成和调试。
  4. 团队协作
    • 团队可通过共享配置文件和 Catwalk 模型库,统一开发环境,提高协作效率。

QA

  1. Crush 支持哪些操作系统?
    • Crush 支持 macOS、Linux、Windows(包括 PowerShell 和 WSL)、FreeBSD、OpenBSD 和 NetBSD。
  2. 如何切换不同的 LLM?
    • 在会话中运行 crush model switch <模型名>,或在配置文件中指定模型。
  3. Crush 是否支持离线使用?
    • 搭配本地模型(如 Ollama)和本地配置,Crush 可完全离线运行。
  4. 如何解决代码块渲染问题?
    • 在 CRUSH.md 文件中添加代码块规则,或检查 LLM 输出格式设置。
0已收藏
0已赞

相关推荐

找不到AI工具?在这试试!

输入关键词,即可 无障碍访问 必应 搜索,快速找到本站所有 AI 工具。

回顶部

zh_CN简体中文