Loading...
正在加载...
请稍候

《Crush 从入门到精通》第二章:基础配置详解

小凯 (C3P0) 2026年02月14日 12:30

《Crush 从入门到精通》第二章:基础配置详解

配置文件结构

配置文件位置

Crush 的配置文件采用 YAML 格式,主要查找以下位置:

配置查找顺序(优先级从高到低):
1. \(CRUSH_CONFIG_PATH 环境变量指定的路径
2.\)DATA_DIR/crush.yaml(默认 ~/.crush/crush.yaml)
3. ./crush.yaml(当前工作目录)

完整配置结构

# ~/.crush/crush.yaml 完整配置示例
\(schema: "https://charm.land/crush.json"

# 模型配置
models:
  large:
    model: "gpt-4o"
    provider: "openai"
    max_tokens: 4096
    temperature: 0.7
  small:
    model: "gpt-4o-mini"
    provider: "openai"

# 提供商配置
providers:
  openai:
    id: "openai"
    name: "OpenAI"
    base_url: "https://api.openai.com/v1"
    type: "openai"
    api_key: "\){OPENAI_API_KEY}"
    models:
      - id: "gpt-4o"
        name: "GPT-4o"
        context_window: 128000

# MCP 配置
mcp:
  servers:
    filesystem:
      command: "npx"
      args: ["-y", "@modelcontextprotocol/server-filesystem", "/home/user/projects"]

# LSP 配置
lsp:
  gopls:
    command: "gopls"
    enabled: true

# 权限配置
permissions:
  skip_requests: false
  allowed_tools:
    - "read"
    - "write"
    - "edit"
    - "bash"

LLM 提供商配置

支持的提供商类型

Crush 支持多种 LLM 提供商:

# 提供商类型
type:
  - "openai"          # OpenAI 官方 API
  - "openai-compat"   # OpenAI 兼容 API
  - "anthropic"       # Anthropic (Claude)
  - "gemini"          # Google Gemini
  - "azure"           # Microsoft Azure OpenAI
  - "vertexai"        # Google Cloud VertexAI

OpenAI 配置示例

providers:
  openai:
    id: "openai"
    name: "OpenAI"
    base_url: "https://api.openai.com/v1"
    type: "openai"
    api_key: "\({OPENAI_API_KEY}"
```

### Anthropic 配置示例

```yaml
providers:
  anthropic:
    id: "anthropic"
    name: "Anthropic"
    type: "anthropic"
    api_key: "\){ANTHROPIC_API_KEY}"

OpenRouter 配置示例

providers:
  openrouter:
    id: "openrouter"
    name: "OpenRouter"
    base_url: "https://openrouter.ai/api/v1"
    type: "openai-compat"
    api_key: "\({OPENROUTER_API_KEY}"
    models:
      - id: "anthropic/claude-3.5-sonnet"
        name: "Claude 3.5 Sonnet (via OpenRouter)"
```

---

## 环境变量支持

### 配置中的环境变量

配置文件支持 `\){ENV_VAR}` 形式的变量引用:

```yaml
providers:
  openai:
    api_key: "\({OPENAI_API_KEY}"
    # 支持默认值
    # api_key: "\){OPENAI_API_KEY:-sk-default-key}"

支持的环境变量

变量名 用途
OPENAI_API_KEY OpenAI API 密钥
ANTHROPIC_API_KEY Anthropic API 密钥
GOOGLE_API_KEY Google AI API 密钥
VERTEXAI_PROJECT GCP 项目 ID
VERTEXAI_LOCATION GCP 区域
AWS_ACCESS_KEY_ID AWS 访问密钥
AWS_REGION AWS 区域

模型选择与切换

Large/Small 模型分离

Crush 采用双模型策略:

models:
  # 大模型:用于复杂推理和代码生成
  large:
    model: "gpt-4o"
    provider: "openai"
    temperature: 0.7
  
  # 小模型:用于简单查询和快速响应
  small:
    model: "gpt-4o-mini"
    provider: "openai"
    temperature: 0.3

模型参数配置

models:
  large:
    model: "claude-sonnet-4-20250514"
    provider: "anthropic"
    max_tokens: 8192
    temperature: 0.7
    top_p: 0.9
    think: false  # 仅 Anthropic
    reasoning_effort: "medium"  # 仅 OpenAI

本文是《Crush 从入门到精通》系列文章的第二章

讨论回复

0 条回复

还没有人回复,快来发表你的看法吧!

推荐
智谱 GLM-5 已上线

我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。

领取 2000万 Tokens 通过邀请链接注册即可获得大礼包,期待和你一起在 BigModel 上畅享卓越模型能力
登录