
ClaudeでOpenClawを無制限に実行
OpenClawは、ハブアンドスポーク型アーキテクチャを通じてClaudeを50を超えるメッセージングチャネルに接続する、マルチチャネルAIゲートウェイです。各チャネルは独立した推論エンドポイントであり、Telegramボット、Discordサーバー、Slackワークスペース、Webウィジェット、カスタム連携はすべて、自社インフラ上で稼働する中央ゲートウェイを経由します。システムプロンプトにスキルが挿入され、チャネルが常に開かれているため、OpenClawではAPIが継続的かつ常時使用され、その使用量はアクティブなチャネル数とユーザー数に比例して増加します。
OpenClawの常時稼働アーキテクチャ
OpenClawはハブアンドスポーク型ゲートウェイとして動作します。ハブは、モデル設定、スキルの挿入、リクエストのルーティングを管理する中央プロセスです(通常はVPS上のポート18789で稼働します)。スポークはチャネルコネクターで、それぞれがメッセージングプラットフォームへの永続的な接続を維持し、受信メッセージを推論のためにハブへ転送します。
各チャネルは、常に開かれた推論の蛇口のようなものです。接続されたプラットフォームでユーザーがメッセージを送信すると、チャネルコネクターがそれをハブに転送します。ハブは完全なプロンプト(システムプロンプト+スキル+会話履歴+ユーザーメッセージ)を構築してClaudeに送信し、応答をチャネルへストリーミングで返します。キューイングやバッチ処理はなく、すべてのメッセージに対して即座に推論が実行されます。
ゲートウェイは休止しません。プロセスが稼働している限り、50以上のすべてのチャネルがアクティブで、受信したメッセージはすべてClaude API呼び出しを引き起こします。開発者の作業中にのみトークンを消費する対話型ツールとは異なり、OpenClawは、どのチャネルであってもユーザーがメッセージを送信するたびにトークンを消費します。活発に利用される環境では、これは日あたり数百から数千回の呼び出しを意味します。そのため、本格的な運用では、無制限アクセスは単に便利なだけでなく、経済的にも必要となります。
openclaw.jsonでのプロバイダー設定
OpenClawのモデル設定は、~/.openclaw/openclaw.jsonのmodels.providersブロックにあります。各プロバイダーエントリーには、名前、apiフィールド(Claudeでは明示的に'anthropic-messages'に設定するMUSTがあります。デフォルトでは設定されません)、ゲートウェイを指すbaseUrl、認証用のapiKeyが必要です。apiフィールドは、OpenClawが使用するリクエスト形式を制御します。
baseUrlをhttps://aiprimetech.ioに設定します(ルートホストを指定し、/v1は付けません。anthropic-messagesハンドラーが正しいパスを追加します)。apiKeyには、値を直接指定するか、${ENV_VAR}構文による環境変数の展開を使用できます。環境変数の展開は、設定ファイルにシークレットを含めないために役立ちます。apiKeyを'${UNLIMITED_API_KEY}'に設定し、シェルまたはsystemdユニットでその変数をエクスポートしてください。
プロバイダー設定では、カスタムヘッダーも指定できます。headersフィールドを使用して、anthropic-betaフラグやカスタムルーティングヘッダーを渡します。たとえば、headers: {'anthropic-beta': 'max-tokens-3-5-sonnet-2024-07-15'}は、対応モデルで拡張出力を有効にします。無制限ゲートウェイでは、標準ヘッダーを変更せずに使用できます。
モデルエントリーとapiフィールドの必須設定
OpenClawの設定で特に注意すべき点として、各モデルエントリーのapiフィールドは、明示的に'anthropic-messages'に設定するMUSTがあります。省略すると、OpenClawはClaudeと互換性のない汎用的な補完形式をデフォルトで使用します。その結果、接続障害のように見えて実際には形式の不一致が原因である、分かりにくいエラーが発生します。すべてのClaudeモデルエントリーに、必ずapi: 'anthropic-messages'を含めてください。
openclaw.jsonのmodels.models配下にモデルエントリーを定義します。各エントリーはプロバイダーを名前で参照し、モデルIDを指定します。Claudeの各バリアントのエントリーを作成してください。ほとんどのチャネルではclaude-sonnet-4-5をデフォルトとし、より深い推論が必要なチャネルにはclaude-opus-4-6を、深さより速度を重視する大量処理チャネルにはclaude-haiku-4-5を使用します。
チャネル設定でモデルをチャネルに割り当てます。各チャネルでは異なるモデルを使用できます。たとえば、カスタマーサポートチャネルではバランスの取れた応答のためにSonnetを、技術チャネルでは複雑な説明のためにOpusを、通知チャネルでは迅速な確認応答のためにHaikuを使用できます。無制限プランでは、コストを考慮せず、必要な品質に基づいて割り当ててください。
ポート18789のハブアンドスポーク型ゲートウェイ
OpenClawゲートウェイは通常、ポート18789で稼働します(openclaw.jsonのserver.portで設定可能)。ゲートウェイはREST APIを公開し、チャネルコネクターはこれを使用してメッセージを送信し、応答を受信します。ゲートウェイは内部で、プロンプトの構築、モデルの選択、会話履歴の管理、応答のストリーミングを処理します。
安定した稼働時間を確保できるVPSにゲートウェイをデプロイしてください。チャネルが応答可能な状態を維持するには、24/7稼働している必要があります。systemdまたはDockerを使用し、クラッシュ時に自動で再起動するようにしてください。このプロセスのCPUとメモリの使用量は少なく、ボトルネックは常にローカル処理ではなく、上流API呼び出しのレイテンシーです。小規模なVPS(CPU 1、RAM 1 GB)でも、数十の同時チャネルを問題なく処理できます。
ゲートウェイは会話履歴をメモリ内に保持します(ディスクまたはRedisへの永続化も設定可能)。すべてのチャネルにわたる各アクティブな会話には、それぞれ増え続けるコンテキストがあります。50のチャネルがあり、各チャネルに複数のアクティブユーザーがいる場合、ゲートウェイは数百の会話状態を同時に保持することがあります。このコンテキスト管理は自動で行われ、古い会話は設定可能なTTLに基づいて削除されます。
スキルの挿入とシステムプロンプトの管理
OpenClawのスキルシステムは、すべてのリクエストのシステムプロンプトに、機能ごとの指示を挿入します。スキルはskillsディレクトリ内のテキストファイルとして定義され、特定のチャネルに割り当てることも、全体に適用することもできます。各スキルは、カスタマーサポートの口調、技術ドキュメントの文体、特定分野の知識など、チャネルの目的に応じてClaudeが適切に応答するためのコンテキストを追加します。
各スキルは、割り当てられたすべてのチャネルのすべてのリクエストにトークンを追加します。有効なスキルが五つあるチャネルでは、会話履歴を含める前の段階で、各リクエストのシステムプロンプトに2,000-5,000トークンが追加される場合があります。さまざまなスキル設定を持つ五十のチャネル全体では、日あたりのスキルによる追加負荷は相当なものになります。無制限プランではこれは問題になりません。リクエストごとのコストを気にせず、包括的なスキルを作成できます。
スキルには、テンプレート変数を通じて動的なコンテンツを含めることができます。OpenClawは、ユーザー情報、チャネルのコンテキスト、時間帯、カスタム変数をスキルのテキストに挿入できます。この動的な挿入はリクエスト時に行われるため、スキルには常に最新の情報が含まれます。この柔軟性により、複雑なルーティングロジックなしで、チャネルごとに高度な動作を実現できます。
チャネル設定とスケーリング
OpenClawの各チャネルは、openclaw.jsonのchannelsセクション、または個別のチャネル設定ファイルで設定します。チャネルエントリーでは、プラットフォームの種類(telegram、discord、slack、web、custom)、そのプラットフォームの認証情報、使用するモデル、割り当てるスキル、会話管理設定(履歴の長さ、TTL、ペルソナ)を指定します。
規模の拡大は線形です。新しいチャネルを追加するたびに、稼働中の推論エンドポイントが増えます。Telegramボットを追加すると、チャネルが増えます。複数のチャネルを監視するDiscordサーバーを追加すると、チャネルが十個増えることもあります。監視対象の各Discordチャネルは、独立したコンテキストを持つ個別の会話ストリームです。Discord、Telegram、Slack、ウェブウィジェットを備えた大規模なOpenClaw環境では、アクティブな推論エンドポイントが容易に50-100に達することがあります。
トークン単位の課金では、チャネルの拡大がコストの増加に直結します。新しいチャネルを追加するたびに、そのメッセージ量に比例したAPI費用が発生します。無制限プランでは、フェアユースのレート制限内で自由にチャネルを増やせます。新しいプラットフォーム、ボット、ウィジェットを追加しても、すべて定額料金でカバーされます。唯一の制約は分単位のレート制限ですが、ほとんどのマルチチャネル環境に十分な余裕があります。
OpenClaw環境のトラブルシューティング
最もよくある設定ミスは、モデルエントリにapi: 'anthropic-messages'を指定し忘れることです。このフィールドがないと、OpenClawは誤った形式でリクエストを送信し、APIから理解しにくいエラーを受け取ります。レスポンスの解析失敗や予期しない400エラーが発生した場合は、まずapiフィールドを確認してください。明示的な設定が必須です。Claudeモデルに適したデフォルト値はありません。
一部のチャネルだけが失敗し、ほかのチャネルは動作する場合、通常はチャネル単位のモデル割り当てが、存在しないモデルエントリやタイプミスのあるエントリを参照しています。OpenClawは起動時にモデル参照を検証しません。チャネルが設定の誤ったモデルを使用しようとした時点で、リクエストが失敗します。すべてのチャネルのモデル参照が、既存のmodels.modelsエントリ名と完全に一致していることを確認してください。
マルチチャネルの高負荷時にレート制限エラーが発生する場合は、すべてのチャネルが同じAPIキーとレート制限を共有していることを念頭に置いてください。ピーク時間帯に五十のチャネルが同時にアクティブになると、合計リクエストレートがフェアユース制限を超える可能性があります。ゲートウェイは429レスポンスに対してキューイングと再試行を行うため、遅延は増加しますが、メッセージは失われません。非常に大量の処理を行う環境では、レート割り当ての増加についてAI Prime Techにお問い合わせください。
// ~/.openclaw/openclaw.json
{
"models": {
"providers": {
"unlimited": {
"api": "anthropic-messages",
"baseUrl": "https://aiprimetech.io",
"apiKey": "${UNLIMITED_API_KEY}"
}
},
"models": {
"sonnet": { "provider": "unlimited", "model": "claude-sonnet-4-5" },
"opus": { "provider": "unlimited", "model": "claude-opus-4-6" },
"haiku": { "provider": "unlimited", "model": "claude-haiku-4-5" }
}
},
"server": { "port": 18789 }
}
# IMPORTANT: api: "anthropic-messages" is REQUIRED
# Without it, OpenClaw uses wrong request formatよくある質問
apiをanthropic-messagesに明示的に設定する必要があるのはなぜですか?
無制限プランでは、OpenClawはどれだけのチャネルを処理できますか?
各チャネルの会話履歴は個別に保持されますか?
APIキーに環境変数の展開を使用できますか?
ゲートウェイプロセスがクラッシュするとどうなりますか?
APIキーを取得 — Anthropicアカウントもウェイトリストへの登録も不要です。
APIキーを取得AI Prime Techは独立したAPIゲートウェイです。Anthropicとの提携関係はなく、同社の承認を受けておらず、同社の再販業者でもありません。Claudeおよび関連するモデル名は、それぞれの所有者の商標です。