Crush 接続

Charm Crush のカスタム provider に QCode.cc を設定:crush.json で type=anthropic と base_url を指定し、ターミナルで Claude を使う

Crush 接続

Crush は Charm 製のターミナル優先 AI コーディングエージェント(Go 製)です。カスタム provider に対応しており、QCode.cc を上流にできます。

名称に関する注意:Crush は当初 "Open Code" という名前で、OpenCode との混同を避けるため改名されました。両者は別のプロジェクトです。

どのプロトコルを使うか

Crush のカスタム provider は typeanthropicopenai-compat を受け付けます。Claude を使うなら anthropic です —— QCode の OpenAI エンドポイントは Claude モデルを受け付けません(エンドポイントと API パス)。

使いたいモデル type base_url
Claude anthropic https://api.qcode.cc/api
GPT 系 / 中国系 4 ファミリー openai-compat https://api.qcode.cc/openai/v1

インストール

# Homebrew
brew install charmbracelet/tap/crush

# または Releases からビルド済みバイナリを取得
# https://github.com/charmbracelet/crush/releases

確認(文書中のバージョン数字ではなく実際の出力を信頼してください):

crush --version

設定

プロジェクト直下に crush.json を作成します(ユーザー単位の設定ディレクトリも利用可。パスは公式文書に従ってください):

{
  "$schema": "https://charm.land/crush.json",
  "providers": {
    "qcode": {
      "type": "anthropic",
      "base_url": "https://api.qcode.cc/api",
      "api_key": "$QCODE_KEY",
      "extra_headers": { "anthropic-version": "2023-06-01" },
      "models": [
        {
          "id": "claude-sonnet-5",
          "name": "QCode Sonnet 5",
          "cost_per_1m_in": 2,
          "cost_per_1m_out": 10,
          "context_window": 1000000,
          "default_max_tokens": 8192
        },
        {
          "id": "claude-haiku-4-5",
          "name": "QCode Haiku 4.5",
          "cost_per_1m_in": 1,
          "cost_per_1m_out": 5,
          "context_window": 200000,
          "default_max_tokens": 4096
        }
      ]
    }
  }
}

キーは設定ファイルに書かず環境変数で注入します:

export QCODE_KEY="cr_あなたのQCodeキー"
フィールド 説明
type anthropic = Anthropic ネイティブ Messages プロトコル
base_url /api まで。Crush が /v1/messages を自分で連結します
api_key $変数名 形式の環境変数展開に対応
extra_headers Anthropic プロトコルには anthropic-version が必要
models[] 利用モデルを明示列挙。idqcode.cc/models と一字一句一致させる

中国本土からはホストを https://asia.qcode.cc/api(香港ノード)に変えるだけ。キーは共通です。 cost_per_1m_* は Crush 側の使用量表示にのみ影響し、実際の課金には影響しません。

検証

crush run "reply with exactly: OK"

OK が返れば接続できています。

本当に QCode へ流れているかの確認base_url をわざと存在しないパスに変えて再実行してください。完全な URL を含む明確な 404 が出るはずです:

404 Not Found {"error":"Not Found","message":"Route /api/xxx/v1/messages not found"}

このエラーが出れば、Crush が base_url + /v1/messages を組み立てており、設定が効いている証拠です。(これは陰性対照です。成功しただけでは設定が効いた証明にはなりません——別の provider にフォールバックしている可能性があります。)

よく使う操作

# 対話モード
crush

# 非対話
crush run "この関数を非同期にして"

# パイプ
cat README.md | crush run "もっと分かりやすく" > README.new.md

# 作業ディレクトリ指定 + デバッグログ
crush --debug --cwd /path/to/project

# すべての権限を自動承認(注意して使用)
crush --yolo

よくある質問

model_not_available_on_endpoint

typeopenai-compat なのにモデルが Claude です。type: "anthropic" に変更し、base_urlhttps://api.qcode.cc/api にしてください。

401 Invalid API key

環境変数が未注入か、キーに空白が混入しています。echo $QCODE_KEY の出力が cr_ で始まるか確認してください。

モデル選択に出てこない

Crush は models[] に明示列挙したモデルのみ表示します。エントリを追加して再起動してください。

関連ドキュメント

関連ドキュメント

SillyTavern を QCode に接続する
SillyTavern で QCode.cc の Claude / GPT モデルを使ってチャットする方法、gpt-image-2 の画像生成を接続できるかについての正直な説明と代替手段
Cursor エディタ接続設定
Cursor IDE でカスタム Anthropic / OpenAI Base URL + API Key を通じて QCode.cc に接続。モデル設定、カスタムエンドポイントの制限、トラブルシューティングを含む
Devin Desktop(旧 Windsurf)接続
Windsurf は Devin Desktop に改名し ACP 構成になりました:Claude Code を ACP agent として挿し、環境変数を QCode に向けます
🚀
QCode を始めよう — Claude Code & Codex
1つのプランで Claude Code と Codex の両方を加速、アジア太平洋低遅延
料金プランを見る → アカウント登録
3人以上のチーム?
企業版:専用ドメイン + サブKey管理 + 封禁保護、¥250/人/月〜
企業版を見る →