コンテンツにスキップ

OpenClawのコマンドとディレクティブ設定ガイド

{
commands: {
native: "auto",
nativeSkills: "auto",
text: true,
bash: false,
bashForegroundMs: 2000,
config: false,
mcp: false,
plugins: false,
debug: false,
restart: true,
ownerAllowFrom: ["discord:123456789012345678"],
ownerDisplay: "raw",
ownerDisplaySecret: "${OWNER_ID_HASH_SECRET}",
allowFrom: {
"*": ["user1"],
discord: ["user:123"],
},
useAccessGroups: true,
},
}
  • commands.text (デフォルト true): チャットメッセージ内での /... 形式の解析を有効にします。
    • Native commands に対応していないプラットフォーム(WhatsApp, WebChat, Signal, iMessage, Google Chat, Microsoft Teams)では、これを false に設定してもテキストコマンドは機能し続けます。
  • commands.native (デフォルト "auto"): プラットフォーム固有の Native commands を登録します。
    • auto: Discord と Telegram ではオン、Slack ではオフ(スラッシュコマンドを追加するまで)になります。Native support のないプロバイダーでは無視されます。
    • プロバイダーごとに上書きするには、channels.discord.commands.native、channels.telegram.commands.native、または channels.slack.commands.native を設定してください(boolean または "auto")。
    • false に設定すると、起動時に Discord や Telegram で以前登録されたコマンドが削除されます。Slack のコマンドは Slack アプリ側で管理されるため、自動的には削除されません。
  • commands.nativeSkills (デフォルト "auto"): サポートされている場合、skill コマンドをネイティブに登録します。
    • auto: Discord と Telegram ではオン、Slack ではオフになります(Slack ではスキルごとにスラッシュコマンドを作成する必要があります)。
    • プロバイダーごとに上書きするには、channels.discord.commands.nativeSkills などを設定してください。
  • commands.bash (デフォルト false): ホストのシェルコマンドを実行するための ! <cmd> を有効にします(/bash <cmd> はエイリアスです。tools.elevated の許可リスト設定が必要です)。
  • commands.bashForegroundMs (デフォルト 2000): bash がバックグラウンドモードに切り替わるまでの待機時間を制御します(0 にすると即座にバックグラウンドで実行されます)。
  • commands.config (デフォルト false): /config を有効にします(openclaw.json の読み書きが可能になります)。
  • commands.mcp (デフォルト false): /mcp を有効にします(mcp.servers 配下の OpenClaw 管理の MCP 設定を読み書きします)。
  • commands.plugins (デフォルト false): /plugins を有効にします(プラグインの検索、ステータス確認、インストール、有効化/無効化の制御が可能です)。
  • commands.debug (デフォルト false): /debug を有効にします(実行時のみの上書き設定が可能です)。
  • commands.restart (デフォルト true): /restart と Gateway の再起動ツールアクションを有効にします。
  • commands.ownerAllowFrom (オプション): オーナー専用のコマンドやツールを使用できるオーナーの明示的な許可リストを設定します。これは commands.allowFrom とは別物です。
  • commands.ownerDisplay: システムプロンプト内でのオーナー ID の表示方法を raw または hash で制御します。
  • commands.ownerDisplaySecret (オプション): commands.ownerDisplay="hash" の場合に使用される HMAC シークレットを設定します。
  • commands.allowFrom (オプション): コマンド実行権限のためのプロバイダーごとの許可リストを設定します。これが設定されている場合、コマンドと Directives の唯一の認証ソースとなり、チャンネルの許可リストや commands.useAccessGroups は無視されます。グローバルなデフォルトには "*" を使用し、プロバイダー固有のキーで上書きできます。
  • commands.useAccessGroups (デフォルト true): commands.allowFrom が設定されていない場合に、コマンドに対して許可リストやポリシーを適用します。

現在の信頼できる情報源(Source-of-truth)は以下の通りです:

  • コアビルトイン: src/auto-reply/commands-registry.shared.ts
  • 生成されたドックコマンド: src/auto-reply/commands-registry.data.ts
  • プラグインコマンド: 各プラグインの registerCommand() 呼び出し
  • 実際に Gateway で利用可能かどうかは、設定フラグ、チャンネル、インストールされているプラグインに依存します。

現在利用可能なビルトインコマンドです:

  • /new [model]: 新しいセッションを開始します。/reset はリセット用のエイリアスです。
  • /compact [instructions]: セッションコンテキストを圧縮します。詳細は /concepts/compaction を参照してください。
  • /stop: 現在の実行を中止します。
  • /session idle &lt;duration|off&gt; および /session max-age &lt;duration|off&gt;: スレッドバインディングの有効期限を管理します。
  • /think &lt;off|minimal|low|medium|high|xhigh&gt;: 思考レベルを設定します。エイリアス: /thinking, /t。
  • /verbose on|off|full: 詳細出力の切り替えを行います。エイリアス: /v。
  • /fast [status|on|off]: ファストモードの表示または設定を行います。
  • /reasoning [on|off|stream]: 推論プロセスの表示を切り替えます。エイリアス: /reason。
  • /elevated [on|off|ask|full]: 特権モードを切り替えます。エイリアス: /elev。
  • /exec host=&lt;auto|sandbox|gateway|node&gt; security=&lt;deny|allowlist|full&gt; ask=&lt;off|on-miss|always&gt; node=&lt;id&gt;: exec のデフォルト設定を表示または設定します。
  • /model [name|#|status]: モデルを表示または設定します。
  • /models [provider] [page] [limit=<n>|size=<n>|all]: プロバイダーまたはプロバイダーのモデル一覧を表示します。
  • /queue <mode>: キューの動作(steer, interrupt, followup, collect, steer-backlog)と、debounce:2s cap:25 drop:summarize などのオプションを管理します。
  • /help: 短いヘルプサマリーを表示します。
  • /commands: 生成されたコマンドカタログを表示します。
  • /tools [compact|verbose]: 現在のエージェントが今すぐ使用できるツールを表示します。
  • /status: 実行時のステータスを表示します(利用可能な場合はプロバイダーの使用量/クォータを含みます)。
  • /tasks: 現在のセッションのアクティブまたは最近のバックグラウンドタスクを表示します。
  • /context [list|detail|json]: コンテキストがどのように組み立てられているかを説明します。
  • /export-session [path]: 現在のセッションを HTML としてエクスポートします。エイリアス: /export。
  • /whoami: 送信者 ID を表示します。エイリアス: /id。
  • /skill <name> [input]: 名前を指定してスキルを実行します。
  • /allowlist [list|add|remove] ...: 許可リストのエントリを管理します(テキストのみ)。
  • /approve <id> <decision>: exec の承認プロンプトを解決します。
  • /btw <question>: 今後のセッションコンテキストに影響を与えずに、サイドクエスチョンを投げます。詳細は /tools/btw を参照してください。
  • /subagents list|kill|log|info|send|steer|spawn: 現在のセッションのサブエージェント実行を管理します。
  • /acp spawn|cancel|steer|close|sessions|status|set-mode|set|cwd|permissions|timeout|model|reset-options|doctor|install|help: ACP セッションと実行オプションを管理します。
  • /focus <target>: 現在の Discord スレッドまたは Telegram のトピック/会話をセッションターゲットにバインドします。
  • /unfocus: 現在のバインディングを解除します。
  • /agents: 現在のセッションにスレッドバインドされているエージェントをリストします。
  • /kill &lt;id|#|all&gt;: 実行中のサブエージェントを 1 つ、またはすべて中止します。
  • /steer &lt;id|#&gt; &lt;message&gt;: 実行中のサブエージェントに指示(ステアリング)を送ります。エイリアス: /tell。
  • /config show|get|set|unset: openclaw.json を読み書きします。オーナー専用で、commands.config: true が必要です。
  • /mcp show|get|set|unset: mcp.servers 配下の OpenClaw 管理 MCP サーバー設定を読み書きします。オーナー専用で、commands.mcp: true が必要です。
  • /plugins list|inspect|show|get|install|enable|disable: プラグインの状態を確認または変更します。/plugin はエイリアスです。書き込みはオーナー専用で、commands.plugins: true が必要です。
  • /debug show|set|unset|reset: 実行時のみの設定上書きを管理します。オーナー専用で、commands.debug: true が必要です。
  • /usage off|tokens|full|cost: レスポンスごとの使用量フッターを制御、またはローカルのコストサマリーを表示します。
  • /tts on|off|status|provider|limit|summary|audio|help: TTS を制御します。詳細は /tools/tts を参照してください。
  • /restart: 有効な場合、OpenClaw を再起動します。デフォルトは有効です。無効にするには commands.restart: false を設定してください。
  • /activation mention|always: グループ内でのアクティベーションモードを設定します。
  • /send on|off|inherit: 送信ポリシーを設定します。オーナー専用です。
  • /bash <command>: ホストのシェルコマンドを実行します(テキストのみ)。エイリアス: ! <command>。commands.bash: true と tools.elevated の許可リストが必要です。
  • !poll [sessionId]: バックグラウンドの bash ジョブをチェックします。
  • !stop [sessionId]: バックグラウンドの bash ジョブを停止します。

ドックコマンドは、Native command をサポートするチャンネルプラグインから生成されます。現在同梱されているセットは以下の通りです:

  • /dock-discord (エイリアス: /dock_discord)
  • /dock-mattermost (エイリアス: /dock_mattermost)
  • /dock-slack (エイリアス: /dock_slack)
  • /dock-telegram (エイリアス: /dock_telegram)

同梱されているプラグインによって、さらにスラッシュコマンドが追加される場合があります。このリポジトリに含まれる現在のコマンドは以下の通りです:

  • /dreaming [on|off|status|help]: メモリドリーミングを切り替えます。詳細は Dreaming を参照してください。
  • /pair [qr|status|pending|approve|cleanup|notify]: デバイスのペアリング/セットアップフローを管理します。詳細は Pairing を参照してください。
  • /phone status|arm &lt;camera|screen|writes|all&gt; [duration]|disarm: 高リスクな phone node コマンドを一時的に許可(arm)します。
  • /voice status|list [limit]|set &lt;voiceId|name&gt;: Talk の音声設定を管理します。Discord でのネイティブコマンド名は /talkvoice です。
  • /card ...: LINE のリッチカードプリセットを送信します。詳細は LINE を参照してください。
  • /codex status|models|threads|resume|compact|review|account|mcp|skills: 同梱されている Codex アプリサーバーハーネスを確認・制御します。詳細は Codex Harness を参照してください。
  • QQBot 専用コマンド:
    • /bot-ping
    • /bot-version
    • /bot-help
    • /bot-upgrade
    • /bot-logs

ユーザーが呼び出し可能なスキルも、スラッシュコマンドとして公開されます:

  • /skill <name> [input] は、常に汎用的なエントリーポイントとして機能します。
  • スキルやプラグインが登録している場合、/prose のように直接コマンドとして表示されることもあります。
  • ネイティブなスキルコマンドの登録は、commands.nativeSkills および channels.<provider>.commands.nativeSkills で制御されます。

補足事項:

  • コマンドは、コマンド名と引数の間にオプションで : を受け付けます(例: /think: high, /send: on, /help:)。
  • /new <model> はモデルのエイリアス、provider/model、またはプロバイダー名(曖昧一致)を受け付けます。一致するものがない場合、テキストはメッセージ本文として扱われます。
  • プロバイダーごとの詳細な使用状況を確認するには、openclaw status --usage を使用してください。
  • /allowlist add|remove には commands.config=true が必要で、チャンネルの configWrites 設定に従います。
  • マルチアカウントチャンネルでは、設定対象を絞った /allowlist --account <id> や /config set channels.<provider>.accounts.<id>... も、対象アカウントの configWrites に従います。
  • /usage はレスポンスごとの使用量フッターを制御します。/usage cost は OpenClaw のセッションログからローカルのコストサマリーを出力します。
  • /restart はデフォルトで有効です。無効にするには commands.restart: false を設定してください。
  • /plugins install <spec> は、openclaw plugins install と同じプラグインスペック(ローカルパス/アーカイブ、npm パッケージ、または clawhub:<pkg>)を受け付けます。
  • /plugins enable|disable はプラグイン設定を更新し、再起動を促す場合があります。
  • Discord 専用ネイティブコマンド: /vc join|leave|status はボイスチャンネルを制御します(channels.discord.voice と Native commands が必要です。テキストとしては利用できません)。
  • Discord のスレッドバインディングコマンド(/focus, /unfocus, /agents, /session idle, /session max-age)には、スレッドバインディングが有効である必要があります(session.threadBindings.enabled または channels.discord.threadBindings.enabled)。
  • ACP コマンドのリファレンスと実行時の動作については、ACP Agents を参照してください。
  • /verbose はデバッグや詳細な確認用です。通常の使用では off にしておくことをお勧めします。
  • /fast on|off はセッションの上書き設定を保持します。これをクリアして設定ファイルのデフォルトに戻すには、Sessions UI の inherit オプションを使用してください。
  • /fast はプロバイダー固有です。OpenAI/OpenAI Codex ではネイティブの Responses エンドポイントで service_tier=priority にマップされます。一方、api.anthropic.com に送信される直接の Anthropic リクエスト(OAuth 認証済みトラフィックを含む)では、service_tier=auto または standard_only にマップされます。詳細は OpenAI および Anthropic を参照してください。
  • ツールの失敗サマリーは関連がある場合に表示されますが、詳細な失敗テキストは /verbose が on または full の場合にのみ含まれます。
  • /reasoning(および /verbose)はグループ設定ではリスクがあります。公開したくない内部の推論やツールの出力が露出する可能性があるため、特にグループチャットではオフにしておくのが無難です。
  • /model は新しいセッションモデルを即座に保持します。
    • エージェントがアイドル状態であれば、次の実行からすぐに適用されます。
    • すでに実行中の場合、OpenClaw は切り替えを保留(pending)としてマークし、クリーンなリトライポイントでのみ新しいモデルで再起動します。
    • ツールのアクティビティや返信の出力がすでに開始されている場合、保留中の切り替えは次のリトライ機会または次のユーザーのターンまでキューに入れられたままになることがあります。
  • ファストパス: 許可リストに登録された送信者からのコマンドのみのメッセージは、即座に処理されます(キューとモデルをバイパスします)。
  • グループメンションのゲートバイパス: 許可リストに登録された送信者からのコマンドのみのメッセージは、メンション要件をバイパスします。
  • インラインショートカット(許可リスト登録者のみ): 特定のコマンドは通常のメッセージに埋め込まれている場合でも機能し、モデルがメッセージを受け取る前に削除されます。
    • 例: hey /status と送るとステータス返信がトリガーされ、残りのテキストは通常のフローで処理されます。
    • 現在の対象: /help, /commands, /status, /whoami (/id)。
  • 権限のないユーザーからのコマンドのみのメッセージは黙って無視され、インラインの /... トークンはプレーンテキストとして扱われます。
  • スキルコマンド: user-invocable(ユーザー呼び出し可能)なスキルはスラッシュコマンドとして公開されます。名前は a-z0-9_(最大 32 文字)にサニタイズされ、衝突した場合は数値のサフィックス(例: _2)が付与されます。
    • /skill <name> [input] は名前でスキルを実行します(Native command の制限によりスキルごとのコマンドが作成できない場合に便利です)。
    • デフォルトでは、スキルコマンドは通常のメッセージとしてモデルに転送されます。
    • スキルはオプションで command-dispatch: tool を宣言し、コマンドを直接ツールにルーティング(モデルを介さず決定論的に実行)できます。
    • 例: /prose (OpenProse プラグイン) — 詳細は OpenProse を参照してください。
  • Native command の引数: Discord では動的なオプションにオートコンプリートを使用します(必須引数を省略した場合はボタンメニューが表示されます)。Telegram と Slack では、選択肢をサポートするコマンドで引数を省略した場合にボタンメニューが表示されます。

/tools は設定に関する質問ではなく、「この会話で今すぐ何が使えるか」という実行時の状態を確認するためのコマンドです。

  • デフォルトの /tools は、素早くスキャンできるように最適化されたコンパクトな表示になります。
  • /tools verbose を使うと、短い説明文が追加されます。
  • 引数をサポートするネイティブコマンドのインターフェースでも、同様に compact|verbose の切り替えが可能です。
  • 結果はセッションのスコープに依存します。そのため、エージェント、チャンネル、スレッド、送信者の権限、モデルなどを変更すると、出力内容が変わることがあります。
  • /tools には、コアツール、接続されたプラグインツール、チャンネル固有のツールなど、実行時に実際にアクセス可能なツールが含まれます。

プロファイルやオーバーライドの編集には、/tools を静的なカタログとして使うのではなく、Control UI の Tools パネルや config/catalog 画面を使用してください。

使用場所(どこに何が表示されるか)

Section titled “使用場所(どこに何が表示されるか)”
  • Provider の使用量/クォータ(例:「Claude 残り 80%」)は、使用量トラッキングが有効な場合、現在のモデル Provider の /status に表示されます。OpenClaw は Provider のウィンドウを「% left(残り%)」に正規化します。MiniMax の場合、残量のみのパーセント項目は表示前に反転され、model_remains のレスポンスでは、チャットモデルのエントリとモデルタグ付きのプランラベルが優先されます。
  • /status 内の Token/cache の行は、ライブセッションのスナップショットが不十分な場合、最新のトランスクリプトの使用状況エントリを代わりに使用できます。既存のゼロ以外のライブ値が優先されますが、トランスクリプトへのフォールバックによって、アクティブな実行時モデルラベルや、保存された合計値が不足している場合のより大きなプロンプト指向の合計値を復元することも可能です。
  • レスポンスごとの Token/コストは、/usage off|tokens|full で制御できます(通常の返信に追加されます)。
  • /model status は モデル/認証/エンドポイント に関するものであり、使用量に関するものではありません。

/model はディレクティブとして実装されています。

使用例:

/model
/model list
/model 3
/model openai/gpt-5.4
/model opus@anthropic:default
/model status

注意点:

  • /model および /model list は、モデルファミリーと利用可能なプロバイダーをまとめた、番号付きのコンパクトな選択画面を表示します。
  • Discord では、/model や /models を入力すると、プロバイダーとモデルのドロップダウンメニュー、および Submit ステップを備えたインタラクティブな選択画面が開きます。
  • /model <番号> を指定すると、そのリストからモデルを選択します(可能な場合は現在のプロバイダーが優先されます)。
  • /model status では、設定済みのプロバイダーエンドポイント(baseUrl)や、利用可能な場合は API モード(api)を含む詳細な情報を確認できます。

デバッグ用の上書き設定 (Debug overrides)

Section titled “デバッグ用の上書き設定 (Debug overrides)”

/debug を使用すると、実行時のみ有効な設定の上書き(ディスクではなくメモリ上への保存)が可能です。この操作はオーナー限定です。デフォルトでは無効化されているため、利用するには commands.debug: true を設定してください。

使用例:

/debug show
/debug set messages.responsePrefix="[openclaw]"
/debug set channels.whatsapp.allowFrom=["+1555","+4477"]
/debug unset messages.responsePrefix
/debug reset

注意点:

  • 上書き内容は新しい設定の読み込み時に即座に適用されますが、openclaw.json ファイルに書き込まれることはありません。
  • すべての上書き設定を消去してディスク上の設定に戻したい場合は、/debug reset を使用してください。

/config コマンドを使うと、ディスク上の Config (openclaw.json)を直接書き換えられます。セキュリティ上、オーナーのみが実行できる設定になっています。デフォルトでは無効化されているので、使いたい場合は commands.config: true を設定して有効化しましょう。

使用例:

/config show
/config show messages.responsePrefix
/config get messages.responsePrefix
/config set messages.responsePrefix="[openclaw]"
/config unset messages.responsePrefix

ポイント:

  • 書き込み前に Config のバリデーションが行われます。無効な設定は拒否される仕組みなので、安心して変更できます。
  • /config による更新は、再起動後もそのまま保持されます。

/mcp コマンドは、OpenClaw が管理する MCP server の定義を mcp.servers 以下に書き込みます。こちらもオーナー専用の機能です。デフォルトではオフになっているため、利用するには commands.mcp: true を設定してください。

使用例:

/mcp show
/mcp show context7
/mcp set context7={"command":"uvx","args":["context7-mcp"]}
/mcp unset context7

ポイント:

  • /mcp は設定を OpenClaw 独自の Config に保存します。Pi が所有するプロジェクト設定に書き込むわけではありません。
  • 実際にどのトランスポートが実行可能かは、実行時のアダプターによって判断されます。

/plugins を使うと、検出された Plugin を確認したり、設定で有効・無効を切り替えたりできます。読み取り専用の操作であれば、エイリアスとして /plugin も使えます。デフォルトでは無効になっているので、commands.plugins: true を設定して有効にしましょう。

使用例:

/plugins
/plugins list
/plugin show context7
/plugins enable context7
/plugins disable context7

注意点:

  • /plugins list と /plugins show は、現在のワークスペースとディスク上の設定に対して、実際の Plugin 検出を行います。
  • /plugins enable|disable は Plugin の設定を更新するだけで、Plugin 自体のインストールやアンインストールは行いません。
  • 設定を変更した後は、Gateway を再起動して反映させてください。
  • Text commands は通常のチャットセッションで実行されます(DM は main を共有し、グループは独自のセッションを持ちます)。
  • Native commands は、以下のような隔離されたセッションを使用します。
    • Discord: agent:<agentId>:discord:slash:<userId>
    • Slack: agent:<agentId>:slack:slash:<userId>(channels.slack.slashCommand.sessionPrefix でプレフィックスを設定可能)
    • Telegram: telegram:slash:<userId>(CommandTargetSessionKey を介してチャットセッションをターゲットにします)
  • /stop はアクティブなチャットセッションを対象とするため、現在の実行を中断できます。
  • Slack: channels.slack.slashCommand は、単一の /openclaw スタイルのコマンドとして引き続きサポートされています。commands.native を有効にする場合は、組み込みコマンドごとに 1 つずつ Slack のスラッシュコマンドを作成する必要があります(名前は /help と同じにします)。Slack のコマンド引数メニューは、エフェメラルな Block Kit ボタンとして表示されます。
    • Slack Native の例外:Slack では /status が予約されているため、/status ではなく /agentstatus を登録してください。なお、Slack メッセージ内でのテキストとしての /status は引き続き機能します。

/btw は、現在のセッションに関するちょっとした side question(横道に逸れた質問) を投げるときに便利です。

通常のチャットとは異なり、以下のような特徴があります。

  • 現在のセッションを背景コンテキストとして使用します。
  • ツールを使用しない、独立した単発のコールとして実行されます。
  • 将来のセッションコンテキストは変更しません。
  • 履歴(transcript history)には記録されません。
  • 通常の Assistant メッセージではなく、ライブのサイドリザルトとして配信されます。

メインのタスクを止めることなく、一時的な確認をしたい場合に /btw は非常に役立ちます。

使用例:

/btw what are we doing right now?

動作の詳細やクライアントでの UX については、BTW Side Questions を参照してください。

OpenClaw

OpenClaw Expert

まだ解決しませんか?

このページで解決しない場合は、OpenClaw Expertに直接質問してください。