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

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

目录
  1. 《Crush 从入门到精通》第二章:基础配置详解
  2. 配置文件结构
  3. 配置文件位置
  4. 完整配置结构
  5. LLM 提供商配置
  6. 支持的提供商类型
  7. OpenAI 配置示例
  8. Anthropic 配置示例
  9. OpenRouter 配置示例
  10. 环境变量支持
  11. 配置中的环境变量
  12. 支持的环境变量
  13. 模型选择与切换
  14. Large/Small 模型分离
  15. 模型参数配置

《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 配置示例

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} 形式的变量引用:

providers:
  openai:
    api_key: "${OPENAI_API_KEY}"
    # 支持默认值
    # api_key: "${OPENAI_API_KEY:-sk-default-key}"

支持的环境变量

变量名用途
OPENAI_API_KEYOpenAI API 密钥
ANTHROPIC_API_KEYAnthropic API 密钥
GOOGLE_API_KEYGoogle AI API 密钥
VERTEXAI_PROJECTGCP 项目 ID
VERTEXAI_LOCATIONGCP 区域
AWS_ACCESS_KEY_IDAWS 访问密钥
AWS_REGIONAWS 区域

模型选择与切换

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