ブログに戻る

ツールと連携ガイド

Crush を CheapTokens に接続する: crushrc のプロバイダー、モデル、キー

2 つの crushrc コマンドで CheapTokens を Crush に追加します: completions プロバイダーと実際の制限を持つモデル。キーは環境変数から取得します。

投稿者: CheapTokens Team公開日 読了時間 7 分

CheapTokens のプロバイダー行とモデル行を記した Crush 設定ファイル
このページの内容
  1. Crush をインストールする
  2. CheapTokens を crushrc に入れる
  3. Crush を開いて最初のタスクを実行する
  4. コーディングセッションのコスト
  5. うまくいかない場合

Crush を CheapTokens に接続するには、crushrc に 2 つのコマンドを書きます。ベース URL https://api.cheaptokens.dev/v1 と --type completions を指定した provider add、そして完全なモデル id を指定した model add です。その後 Crush を開き、Ctrl+l を押してモデルを選び、タスクを与えます。キーはファイルではなく環境変数に置きます。

古いガイドに従った場合、おそらく crush.json を編集しているはずです。Crush は今もそのファイルを読みますが、README では非推奨とされています。現在の設定は crushrc で、v0.99.0(2026年10月29日)以降、プロバイダー --type はベンダーではなく API 形式を表します。出典は Crush の README とリリースノートで、2026年11月10日に確認しました。その時点の最新安定版は v0.100.0 です。

Crush をインストールする#

すでに入っているパッケージマネージャーをどれでも使ってください。Crush は単一のバイナリなので、どの経路でも変わりません。

Crush をインストール

Homebrew

bash
brew install charmbracelet/tap/crush

npm

bash
npm install -g @charmland/crush

winget

bash
winget install charmbracelet.crush

Go

bash
go install github.com/charmbracelet/crush@latest

README には apt と yum のリポジトリ、Scoop、Nix、Arch、FreeBSD も記載されています。crush を一度実行して起動を確認し、終了してください。

CheapTokens を crushrc に入れる#

README は crushrc を「Crush 固有のビルトインをいくつか備えた、ただの Bash」と説明しています。仕組みはまさにこれです。あなたはシェルを書き、provider add と model add は Crush が理解するコマンドです。Crush はこの順でファイルを探します: ./.crushrc、./crushrc、次に ~/.config/crush/crushrc。

つまり置き場所はあなたが選べます。プロジェクトローカルの .crushrc は 1 つのリポジトリに適用され、~/.config/crush/ にあるものはどこでも適用されます。最初の試用ならグローバルのほうが簡単です。

まずキーをシェルに入れます。CheapTokens ダッシュボードで作成して export してください(下の値はプレースホルダーです):

bash
export CHEAPTOKENS_API_KEY="your-key-here"

次に ~/.config/crush/crushrc を開いてこう書きます:

bash
provider add cheaptokens --type completions \
  --base-url "https://api.cheaptokens.dev/v1" \
  --api-key "$CHEAPTOKENS_API_KEY"

model add cheaptokens/deepseek-ai/DeepSeek-V4-Flash-0731 \
  --name "DeepSeek-V4-Flash" \
  --context-window 380000 \
  --default-max-tokens 32768

いくつか注意すべき点があります:

  • --type completions は、OpenAI 自身ではない OpenAI 互換プロバイダーのための Crush での名前です。responses は OpenAI のプロキシ用、messages は Anthropic 互換のもの用です。古い openai-compat もまだ動作し、移行されます。
  • ベース URL は /v1 で終わります。これが OpenAI 形式の Chat Completions 用の CheapTokens のアドレスです。エンドポイントの完全な一覧は CheapTokens のドキュメントにあります。
  • $CHEAPTOKENS_API_KEY はシェルによって展開されるので、ファイルに秘密情報は含まれず、プロジェクトの .crushrc も安全に git に入れられます。
  • モデル id は完全なもの、deepseek-ai/DeepSeek-V4-Flash-0731 です。deepseek-v4-flash のような短い id は API に拒否されます。プロバイダー名の後に 2 つ目のスラッシュが来るのは、id 自体にスラッシュが含まれるためです。
  • --context-window 380000 は DeepSeek-V4-Flash の 380K を丸めた値で、--default-max-tokens 32768 はその回答あたりの上限です。これらは CheapTokens におけるモデルの実際の制限です: 380K コンテキスト、回答あたり最大 32,768 トークン。README のサンプル値(64000 と 5000)をそのままにせず、model add に入れてください。
CheapTokens のプロバイダーとモデルを記した crushrc ファイル
crushrc: プロバイダー 1 行とモデル 1 行。キーは環境から取得

README は model add を単純な id(deepseek/deepseek-chat)でのみ示しています。あなたの id には余分なスラッシュがあるので、次のステップのモデルピッカーが本当の確認になります。モデルが cheaptokens の下に表示されれば、その行は意図どおりに読まれています。

同じ残高で別のモデルを使いたいですか? それぞれの id と制限を持つ model add 行をもう 1 つ追加してください。GLM-5.3-Flash は zai-org/GLM-5.3-Flash(390K コンテキスト、回答あたり最大 8,192 トークン)、MiniMax-M2.7 は MiniMaxAI/MiniMax-M2.7(180K コンテキスト、回答あたり最大 8,192 トークン)です。--default-max-tokens は追加するモデルの回答上限以下に保ってください。

Crush を開いて最初のタスクを実行する#

プロジェクトフォルダーで crush を起動します。Ctrl+l を押してモデルピッカーを開き、cheaptokens グループから DeepSeek-V4-Flash を選びます。README にはデフォルトモデル用の crushrc コマンドが記載されていないので、ピッカーを使うのが方法です。

crushrc から最初の回答まで: プロバイダー、モデル、ピッカー、タスク
設定から最初の回答までの流れ

では、小さくて確認できるものを与えてみましょう。たとえば: Read this repo and tell me which file starts the app, in two lines. 実在するファイルを名指しする回答が返れば、キー、ベース URL、モデル id という一連の流れがすべて機能しています。

自分で試す試してみてください: Ctrl+l を押してもモデルが一覧にありません。最初に何を確認しますか?答えを表示

ファイルの場所と変数です。Crush は優先順位で設定を探します: ./.crushrc、./crushrc、~/.config/crush/crushrc。プロジェクトに内容の異なる別の .crushrc や crushrc がないこと、そして編集したファイルにプロバイダーが追加されていることを確認してください。また、echo $CHEAPTOKENS_API_KEY は crush を起動するのと同じシェルでキーを表示する必要があります。

権限プロンプトは意図的に存在します。crushrc の permissions allow <tools> は指定したツールを確認なしで実行させ、--yolo はすべてのプロンプトをスキップしますが、README 自身がこれには十分注意するよう述べています。

コーディングセッションのコスト#

ターミナルでのエージェントのステップは入力が多くなります。Crush は毎回履歴、ファイル内容、ツール出力を送り、控えめな回答を受け取ります。平均的なステップが 30,000 トークンを送り、2,000 を受け取るとします。DeepSeek-V4-Flash ではそのステップのコストは $0.00065 で、価格は時間帯に関係なく同じで、ピーク時間はありません。入力と出力を合わせて計算すると、OpenRouter の参考価格より安くなります。

自分の数値に置き換えてください: そうしたステップ 40 回のセッションはスライダー 1 つ分です。

コスト計算機

Crush でのコーディングエージェントの 1 日

リクエストあたりの入力トークン数: 30,000 · リクエストあたりの出力トークン数: 2,000 · 1日あたりのリクエスト数: 40

モデル1日あたり1か月あたり
GLM-5.3-Flash$0.0272$0.816
DeepSeek-V4-Flash$0.026$0.78
MiniMax-M2.7$0.072$2.16

ステップあたりの入力はセッションが進むにつれて増えるので、長いセッションは平均ではなく 380K のウィンドウに対して確認してください。全モデルの現在のトークン単価は料金ページにあります。

うまくいかない場合#

Crush はプロジェクトにログを書き出します: ./.crush/logs/crush.log。推測する前に読んでください:

bash
crush logs --tail 500
crush logs --follow
crush --debug

また、crushrc に option debug true を入れてデバッグ出力を有効にしておくこともできます。そして、目にする内容を API が返した HTTP ステータスと照らし合わせてください:

  • 401: キーは送られたが認識されなかった: タイプミスか、差し替えられたキーです。もう一度作成するかコピーしてください。
  • 402: 残高またはキーの上限を使い切っています。キーなしのリクエストも同じに見えるので、crush を起動するのと同じシェルで echo $CHEAPTOKENS_API_KEY を実行してください。キーがあれば、残高をチャージしてください。
  • 429: 短時間にリクエストが多すぎます。Retry-After の値だけ待ってから再試行してください。
  • 400 または「model not found」: モデル id を確認してください。ドキュメントにある完全な id で、ベンダープレフィックス付きでなければなりません。

crush.json から移行した場合、~/.local/share/crush/crush.json は Crush の状態であり設定ではないことに注意してください。手で編集しないでください。

他のツールでの同じ設定については、Aider を CheapTokens に接続すると Kilo Code を CheapTokens に接続するを参照してください。安価な DeepSeek のモデルページには、ここで使ったモデルの制限が記載されています。