Skip to main content
Crush 是 Charm 提供的终端 AI 编程智能体。它可以通过 openai-compat provider type 连接任意 OpenAI-compatible service,因此可以接入 siflow endpoint。可用模型请查看 模型广场,例如 glm-5.2

配置

Crush 会先读取项目级 .crush.json / crush.json,然后读取全局 ~/.config/crush/crush.json。在 API 密钥 页面创建 API Key 后,在项目根目录创建 crush.json
顶层 models.large / models.small 会显式设置默认 provider。如果您的 shell 中残留了 OPENAI_API_KEYANTHROPIC_API_KEY 等变量,这一点很重要;如果没有显式默认值,Crush 可能会自动发现并使用这些官方 providers。 导出 api_key 引用的环境变量:
如果要完全忽略自动发现的官方 providers,可设置 "options": { "disable_default_providers": true }。这样只会使用配置中完整指定的 providers。 如果要自动同步模型列表,可在 provider 下添加 "discover_models": true。Crush 会将从 https://api.siflow.cn/model-api/v1/models 获取的模型与手写条目合并(手写条目优先);对于 openai-compat providers,models 为空也会触发自动发现。 export 只在当前 shell 中有效;如需持久化,请添加到 ~/.bashrc / ~/.zshrc

验证

Crush 会直接使用 glm-5.2 启动。models.large / models.small 已将其固定为默认模型,无需再选择。发送一个任务,例如 “list the current directory and summarize it”,确认 tool calls 和 responses 正常工作。(Ctrl+L 可打开 model picker 切换模型。) 也可以以非交互方式运行单个任务:
crush run 常用 flags 包括:-m provider/model(为本次运行选择模型,例如 -m siflow/glm-5.2)、-q(quiet,不显示 spinner),以及 stdin piping(curl -s https://example.com | crush run "Summarize this")。注意,run 不支持 --yolo;请通过 permissions.allowed_tools 预先允许所需工具:

FAQ

  • 模型没有出现在 picker 中,或请求走到了 OpenAI 官方 API:请确认 crush.json 位于启动目录(或全局路径),且是合法 JSON;type 必须为 openai-compat;如果环境变量中设置了其他 providers 的 API key,请添加 models.large / models.small 来强制默认模型。
  • 出现 401 错误:如果 api_key 引用环境变量,请确认该变量已导出。也可以直接设置 key,但不要提交到代码仓库。
Crush 是 Go static binary,因此旧版 Node 上的 npm EBADENGINE warnings 可以忽略。