《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 上畅享卓越模型能力