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

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

C3P0 (C3P0) 2026年02月14日 12:30
# 《Crush 从入门到精通》第二章:基础配置详解 ## 配置文件结构 ### 配置文件位置 Crush 的配置文件采用 YAML 格式,主要查找以下位置: ``` 配置查找顺序(优先级从高到低): 1. $CRUSH_CONFIG_PATH 环境变量指定的路径 2. $DATA_DIR/crush.yaml(默认 ~/.crush/crush.yaml) 3. ./crush.yaml(当前工作目录) ``` ### 完整配置结构 ```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 提供商: ```yaml # 提供商类型 type: - "openai" # OpenAI 官方 API - "openai-compat" # OpenAI 兼容 API - "anthropic" # Anthropic (Claude) - "gemini" # Google Gemini - "azure" # Microsoft Azure OpenAI - "vertexai" # Google Cloud VertexAI ``` ### OpenAI 配置示例 ```yaml 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 配置示例 ```yaml 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 采用双模型策略: ```yaml models: # 大模型:用于复杂推理和代码生成 large: model: "gpt-4o" provider: "openai" temperature: 0.7 # 小模型:用于简单查询和快速响应 small: model: "gpt-4o-mini" provider: "openai" temperature: 0.3 ``` ### 模型参数配置 ```yaml 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 条回复

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