chore(i18n): refresh ja-JP translations

This commit is contained in:
openclaw-docs-i18n[bot] 2026-04-21 17:48:57 +00:00
parent 239a619cec
commit f040220db1
5 changed files with 1094 additions and 1066 deletions

File diff suppressed because it is too large Load Diff

View File

@ -4,17 +4,17 @@ read_when:
summary: Slack のセットアップとランタイム動作Socket Mode + HTTP リクエスト URL
title: Slack
x-i18n:
generated_at: "2026-04-21T13:35:23Z"
generated_at: "2026-04-21T17:45:41Z"
model: gpt-5.4
provider: openai
source_hash: 2fe3c3c344e1c20c09b29773f4f68d2790751e76d8bbaa3c6157e3ff75978acf
source_hash: f30b372a3ae10b7b649532181306e42792aca76b41422516e9633eb79f73f009
source_path: channels/slack.md
workflow: 15
---
# Slack
ステータス: Slack アプリ連携による DM + チャンネルは本番対応済みです。デフォルトモードは Socket Mode で、HTTP リクエスト URL もサポートされています。
ステータス: Slack アプリ連携による DM とチャンネルに対応した本番運用対応。デフォルトモードは Socket Mode で、HTTP リクエスト URL もサポートされています。
<CardGroup cols={3}>
<Card title="ペアリング" icon="link" href="/ja-JP/channels/pairing">
@ -31,15 +31,15 @@ x-i18n:
## クイックセットアップ
<Tabs>
<Tab title="Socket Mode (default)">
<Tab title="Socket Mode (デフォルト)">
<Steps>
<Step title="新しい Slack アプリを作成する">
Slack アプリ設定で **[Create New App](https://api.slack.com/apps/new)** ボタンを押します。
- **from a manifest** を選択し、アプリ用のワークスペースを選びます
- 下の[マニフェスト例](#manifest-and-scope-checklist)を貼り付け、そのまま作成を続けます
- **from a manifest** を選び、アプリ用のワークスペースを選択します
- 下の[マニフェスト例](#manifest-and-scope-checklist)を貼り付け、そのまま作成に進みます
- `connections:write` を付けた **App-Level Token** (`xapp-...`) を生成します
- アプリをインストールし、表示され **Bot Token** (`xoxb-...`) をコピーします
- アプリをインストールし、表示され **Bot Token** (`xoxb-...`) をコピーします
</Step>
<Step title="OpenClaw を設定する">
@ -57,7 +57,7 @@ x-i18n:
}
```
環境変数のフォールバック(デフォルトアカウントのみ):
環境変数のフォールバック(デフォルトアカウントのみ):
```bash
SLACK_APP_TOKEN=xapp-...
@ -77,15 +77,15 @@ openclaw gateway
</Tab>
<Tab title="HTTP Request URLs">
<Tab title="HTTP リクエスト URL">
<Steps>
<Step title="新しい Slack アプリを作成する">
Slack アプリ設定で **[Create New App](https://api.slack.com/apps/new)** ボタンを押します。
- **from a manifest** を選択し、アプリ用のワークスペースを選びます
- **from a manifest** を選び、アプリ用のワークスペースを選択します
- [マニフェスト例](#manifest-and-scope-checklist)を貼り付け、作成前に URL を更新します
- リクエスト検証用 **Signing Secret** を保存します
- アプリをインストールし、表示され **Bot Token** (`xoxb-...`) をコピーします
- リクエスト検証用 **Signing Secret** を保存します
- アプリをインストールし、表示され **Bot Token** (`xoxb-...`) をコピーします
</Step>
@ -106,9 +106,9 @@ openclaw gateway
```
<Note>
マルチアカウント HTTP では一意の webhook パスを使ってください
マルチアカウント HTTP では一意の Webhook パスを使用してください
アカウントごとに異なる `webhookPath`(デフォルトは `/slack/events`)を設定し、登録が競合しないようにしてください。
登録が衝突しないように、各アカウントに別々の `webhookPath`(デフォルトは `/slack/events`)を設定してください。
</Note>
</Step>
@ -128,13 +128,13 @@ openclaw gateway
## マニフェストとスコープのチェックリスト
<Tabs>
<Tab title="Socket Mode (default)">
<Tab title="Socket Mode (デフォルト)">
```json
{
"display_information": {
"name": "OpenClaw",
"description": "OpenClaw 用 Slack コネクタ"
"description": "OpenClaw 用 Slack コネクタ"
},
"features": {
"bot_user": {
@ -148,7 +148,7 @@ openclaw gateway
"slash_commands": [
{
"command": "/openclaw",
"description": "OpenClaw にメッセージを送信する",
"description": "OpenClaw にメッセージを送信",
"should_escape": false
}
]
@ -205,13 +205,13 @@ openclaw gateway
</Tab>
<Tab title="HTTP Request URLs">
<Tab title="HTTP リクエスト URL">
```json
{
"display_information": {
"name": "OpenClaw",
"description": "OpenClaw 用 Slack コネクタ"
"description": "OpenClaw 用 Slack コネクタ"
},
"features": {
"bot_user": {
@ -225,7 +225,7 @@ openclaw gateway
"slash_commands": [
{
"command": "/openclaw",
"description": "OpenClaw にメッセージを送信する",
"description": "OpenClaw にメッセージを送信",
"should_escape": false,
"url": "https://gateway-host.example.com/slack/events"
}
@ -291,31 +291,31 @@ openclaw gateway
### 追加のマニフェスト設定
上記のデフォルトを拡張する各種機能を表に出します。
上記のデフォルトを拡張する各種機能を有効にします。
<AccordionGroup>
<Accordion title="任意のネイティブスラッシュコマンド">
<Accordion title="オプションのネイティブスラッシュコマンド">
単一の設定済みコマンドの代わりに、複数の[ネイティブスラッシュコマンド](#commands-and-slash-behavior)をニュアンス付きで使用できます。
単一の設定済みコマンドの代わりに、複数の[ネイティブスラッシュコマンド](#commands-and-slash-behavior)を条件付きで使用できます。
- `/status` コマンドは予約済みなので、`/status` の代わりに `/agentstatus` を使ってください
- 同時に利用可能なスラッシュコマンドは 25 個までです。
- `/status` コマンドは予約されているため、`/status` の代わりに `/agentstatus` を使用します
- 同時に利用可能にできるスラッシュコマンドは最大 25 個です。
既存の `features.slash_commands` セクションを、[利用可能なコマンド](/ja-JP/tools/slash-commands#command-list) の一部で置き換えてください。
既存の `features.slash_commands` セクションを、[利用可能なコマンド](/ja-JP/tools/slash-commands#command-list) のサブセットに置き換えてください。
<Tabs>
<Tab title="Socket Mode (default)">
<Tab title="Socket Mode (デフォルト)">
```json
"slash_commands": [
{
"command": "/new",
"description": "新しいセッションを開始する",
"description": "新しいセッションを開始",
"usage_hint": "[model]"
},
{
"command": "/reset",
"description": "現在のセッションをリセットする"
"description": "現在のセッションをリセット"
},
{
"command": "/compact",
@ -324,115 +324,115 @@ openclaw gateway
},
{
"command": "/stop",
"description": "現在の実行を停止する"
"description": "現在の実行を停止"
},
{
"command": "/session",
"description": "スレッド紐付けの有効期限を管理する",
"description": "スレッドバインディングの有効期限を管理",
"usage_hint": "idle <duration|off> or max-age <duration|off>"
},
{
"command": "/think",
"description": "思考レベルを設定する",
"description": "思考レベルを設定",
"usage_hint": "<level>"
},
{
"command": "/verbose",
"description": "詳細出力を切り替え",
"description": "詳細出力を切り替え",
"usage_hint": "on|off|full"
},
{
"command": "/fast",
"description": "fast モードを表示または設定する",
"description": "高速モードの表示または設定",
"usage_hint": "[status|on|off]"
},
{
"command": "/reasoning",
"description": "reasoning の表示を切り替え",
"description": "reasoning の表示を切り替え",
"usage_hint": "[on|off|stream]"
},
{
"command": "/elevated",
"description": "elevated モードを切り替え",
"description": "elevated モードを切り替え",
"usage_hint": "[on|off|ask|full]"
},
{
"command": "/exec",
"description": "exec のデフォルトを表示または設定する",
"description": "exec のデフォルトを表示または設定",
"usage_hint": "host=<auto|sandbox|gateway|node> security=<deny|allowlist|full> ask=<off|on-miss|always> node=<id>"
},
{
"command": "/model",
"description": "モデルを表示または設定する",
"description": "モデルの表示または設定",
"usage_hint": "[name|#|status]"
},
{
"command": "/models",
"description": "プロバイダー一覧、またはプロバイダーのモデル一覧を表示する",
"description": "プロバイダー一覧、またはプロバイダーのモデル一覧を表示",
"usage_hint": "[provider] [page] [limit=<n>|size=<n>|all]"
},
{
"command": "/help",
"description": "短いヘルプ要を表示する"
"description": "短いヘルプ要を表示"
},
{
"command": "/commands",
"description": "生成されたコマンドカタログを表示する"
"description": "生成されたコマンドカタログを表示"
},
{
"command": "/tools",
"description": "現在のエージェントが今使えるものを表示する",
"description": "現在のエージェントが今使えるものを表示",
"usage_hint": "[compact|verbose]"
},
{
"command": "/agentstatus",
"description": "利用可能な場合はプロバイダー使用やクォータを含むランタイムステータスを表示する"
"description": "利用可能な場合はプロバイダー使用状況やクォータを含むランタイムステータスを表示"
},
{
"command": "/tasks",
"description": "現在のセッションのアクティブ最近のバックグラウンドタスクを一覧表示する"
"description": "現在のセッションのアクティブまたは最近のバックグラウンドタスクを一覧表示"
},
{
"command": "/context",
"description": "コンテキストがどのように組み立てられるかを説明する",
"description": "コンテキストがどのように組み立てられるかを説明",
"usage_hint": "[list|detail|json]"
},
{
"command": "/whoami",
"description": "あなたの送信者 ID を表示する"
"description": "送信者 ID を表示"
},
{
"command": "/skill",
"description": "名前を指定して skill を実行する",
"description": "名前で skill を実行",
"usage_hint": "<name> [input]"
},
{
"command": "/btw",
"description": "セッションコンテキストを変更せずに補足の質問をする",
"description": "セッションコンテキストを変更せずに脇道の質問をする",
"usage_hint": "<question>"
},
{
"command": "/usage",
"description": "使用量フッターを制御するか、コスト要を表示する",
"description": "使用量フッターを制御するか、コスト要を表示",
"usage_hint": "off|tokens|full|cost"
}
]
```
</Tab>
<Tab title="HTTP Request URLs">
<Tab title="HTTP リクエスト URL">
```json
"slash_commands": [
{
"command": "/new",
"description": "新しいセッションを開始する",
"description": "新しいセッションを開始",
"usage_hint": "[model]",
"url": "https://gateway-host.example.com/slack/events"
},
{
"command": "/reset",
"description": "現在のセッションをリセットする",
"description": "現在のセッションをリセット",
"url": "https://gateway-host.example.com/slack/events"
},
{
@ -443,115 +443,115 @@ openclaw gateway
},
{
"command": "/stop",
"description": "現在の実行を停止する",
"description": "現在の実行を停止",
"url": "https://gateway-host.example.com/slack/events"
},
{
"command": "/session",
"description": "スレッド紐付けの有効期限を管理する",
"description": "スレッドバインディングの有効期限を管理",
"usage_hint": "idle <duration|off> or max-age <duration|off>",
"url": "https://gateway-host.example.com/slack/events"
},
{
"command": "/think",
"description": "思考レベルを設定する",
"description": "思考レベルを設定",
"usage_hint": "<level>",
"url": "https://gateway-host.example.com/slack/events"
},
{
"command": "/verbose",
"description": "詳細出力を切り替え",
"description": "詳細出力を切り替え",
"usage_hint": "on|off|full",
"url": "https://gateway-host.example.com/slack/events"
},
{
"command": "/fast",
"description": "fast モードを表示または設定する",
"description": "高速モードの表示または設定",
"usage_hint": "[status|on|off]",
"url": "https://gateway-host.example.com/slack/events"
},
{
"command": "/reasoning",
"description": "reasoning の表示を切り替え",
"description": "reasoning の表示を切り替え",
"usage_hint": "[on|off|stream]",
"url": "https://gateway-host.example.com/slack/events"
},
{
"command": "/elevated",
"description": "elevated モードを切り替え",
"description": "elevated モードを切り替え",
"usage_hint": "[on|off|ask|full]",
"url": "https://gateway-host.example.com/slack/events"
},
{
"command": "/exec",
"description": "exec のデフォルトを表示または設定する",
"description": "exec のデフォルトを表示または設定",
"usage_hint": "host=<auto|sandbox|gateway|node> security=<deny|allowlist|full> ask=<off|on-miss|always> node=<id>",
"url": "https://gateway-host.example.com/slack/events"
},
{
"command": "/model",
"description": "モデルを表示または設定する",
"description": "モデルの表示または設定",
"usage_hint": "[name|#|status]",
"url": "https://gateway-host.example.com/slack/events"
},
{
"command": "/models",
"description": "プロバイダー一覧、またはプロバイダーのモデル一覧を表示する",
"description": "プロバイダー一覧、またはプロバイダーのモデル一覧を表示",
"usage_hint": "[provider] [page] [limit=<n>|size=<n>|all]",
"url": "https://gateway-host.example.com/slack/events"
},
{
"command": "/help",
"description": "短いヘルプ要を表示する",
"description": "短いヘルプ要を表示",
"url": "https://gateway-host.example.com/slack/events"
},
{
"command": "/commands",
"description": "生成されたコマンドカタログを表示する",
"description": "生成されたコマンドカタログを表示",
"url": "https://gateway-host.example.com/slack/events"
},
{
"command": "/tools",
"description": "現在のエージェントが今使えるものを表示する",
"description": "現在のエージェントが今使えるものを表示",
"usage_hint": "[compact|verbose]",
"url": "https://gateway-host.example.com/slack/events"
},
{
"command": "/agentstatus",
"description": "利用可能な場合はプロバイダー使用やクォータを含むランタイムステータスを表示する",
"description": "利用可能な場合はプロバイダー使用状況やクォータを含むランタイムステータスを表示",
"url": "https://gateway-host.example.com/slack/events"
},
{
"command": "/tasks",
"description": "現在のセッションのアクティブ最近のバックグラウンドタスクを一覧表示する",
"description": "現在のセッションのアクティブまたは最近のバックグラウンドタスクを一覧表示",
"url": "https://gateway-host.example.com/slack/events"
},
{
"command": "/context",
"description": "コンテキストがどのように組み立てられるかを説明する",
"description": "コンテキストがどのように組み立てられるかを説明",
"usage_hint": "[list|detail|json]",
"url": "https://gateway-host.example.com/slack/events"
},
{
"command": "/whoami",
"description": "あなたの送信者 ID を表示する",
"description": "送信者 ID を表示",
"url": "https://gateway-host.example.com/slack/events"
},
{
"command": "/skill",
"description": "名前を指定して Skills を実行する",
"description": "名前で skill を実行",
"usage_hint": "<name> [input]",
"url": "https://gateway-host.example.com/slack/events"
},
{
"command": "/btw",
"description": "セッションコンテキストを変更せずに補足の質問をする",
"description": "セッションコンテキストを変更せずに脇道の質問をする",
"usage_hint": "<question>",
"url": "https://gateway-host.example.com/slack/events"
},
{
"command": "/usage",
"description": "使用量フッターを制御するか、コスト要を表示する",
"description": "使用量フッターを制御するか、コスト要を表示",
"usage_hint": "off|tokens|full|cost",
"url": "https://gateway-host.example.com/slack/events"
}
@ -562,13 +562,13 @@ openclaw gateway
</Tabs>
</Accordion>
<Accordion title="任意の authorship スコープ(書き込み操作)">
デフォルトの Slack アプリ ID ではなく、アクティブなエージェント IDカスタムユーザー名とアイコン)を送信メッセージで使いたい場合は、`chat:write.customize` bot スコープを追加してください。
<Accordion title="オプションの作成者スコープ(書き込み操作)">
送信メッセージでデフォルトの Slack アプリ ID ではなく、アクティブなエージェント IDカスタムユーザー名とアイコンを使いたい場合は、`chat:write.customize` bot スコープを追加してください。
絵文字アイコンを使う場合、Slack では `:emoji_name:` 構文が必要です。
</Accordion>
<Accordion title="任意の user-token スコープ(読み取り操作)">
<Accordion title="オプションのユーザートークンスコープ(読み取り操作)">
`channels.slack.userToken` を設定する場合、一般的な読み取りスコープは次のとおりです。
- `channels:history`, `groups:history`, `im:history`, `mpim:history`
@ -584,27 +584,27 @@ openclaw gateway
## トークンモデル
- Socket Mode `botToken` + `appToken` が必要です。
- HTTP モード`botToken` + `signingSecret` が必要です。
- `botToken`、`appToken`、`signingSecret`、`userToken` には、平文の文字列または SecretRef オブジェクトを指定できます。
- 設定内のトークンは環境変数フォールバックより優先されます。
- Socket Mode `botToken` + `appToken` が必要です。
- HTTP モード`botToken` + `signingSecret` が必要です。
- `botToken`、`appToken`、`signingSecret`、`userToken` はプレーンテキスト文字列または SecretRef オブジェクトを受け付けます。
- config のトークンは環境変数フォールバックより優先されます。
- `SLACK_BOT_TOKEN` / `SLACK_APP_TOKEN` の環境変数フォールバックはデフォルトアカウントにのみ適用されます。
- `userToken` (`xoxp-...`) は設定のみ対応です(環境変数フォールバックなし)。デフォルトでは読み取り専用動作(`userTokenReadOnly: true`になります。
- `userToken``xoxp-...`)は config 専用です(環境変数フォールバックなし)。デフォルトでは読み取り専用動作(`userTokenReadOnly: true`す。
ステータススナップショットの動作:
- Slack アカウント検査では、認証情報ごとの `*Source` および `*Status` フィールド(`botToken`、`appToken`、`signingSecret`、`userToken`)を追跡します。
- ステータスは `available`、`configured_unavailable`、または `missing` です。
- `configured_unavailable` は、そのアカウントが SecretRef または別のインラインなシークレットソースで設定されているものの、現在のコマンド/ランタイム経路では実際の値を解決できなかったことを意味します。
- Slack アカウント検査では、認証情報ごとの `*Source` `*Status` フィールド(`botToken`、`appToken`、`signingSecret`、`userToken`)を追跡します。
- ステータスは `available`、`configured_unavailable`、`missing` です。
- `configured_unavailable` は、そのアカウントが SecretRef または別のインラインではシークレットソース経由で設定されているものの、現在のコマンドまたはランタイム経路では実際の値を解決できなかったことを意味します。
- HTTP モードでは `signingSecretStatus` が含まれます。Socket Mode では必要な組み合わせは `botTokenStatus` + `appTokenStatus` です。
<Tip>
アクション/ディレクトリ読み取りでは、設定されていれば user token を優先できます。書き込みでは bot token が引き続き優先されます。user-token による書き込みは、`userTokenReadOnly: false` かつ bot token が利用できない場合にのみ許可されます。
アクションやディレクトリー読み取りでは、設定されていれば user token が優先されることがあります。書き込みでは bot token が引き続き優先されます。user-token での書き込みが許可されるのは、`userTokenReadOnly: false` で、かつ bot token が利用できない場合のみです。
</Tip>
## アクションとゲート
Slack アクションは `channels.slack.actions.*` によって制御されます。
Slack アクションは `channels.slack.actions.*` 制御されます。
現在の Slack ツールで利用可能なアクショングループ:
@ -616,31 +616,31 @@ Slack アクションは `channels.slack.actions.*` によって制御されま
| memberInfo | enabled |
| emojiList | enabled |
現在の Slack メッセージアクションには、`send`、`upload-file`、`download-file`、`read`、`edit`、`delete`、`pin`、`unpin`、`list-pins`、`member-info`、`emoji-list` が含まれます。
現在の Slack メッセージアクションには `send`、`upload-file`、`download-file`、`read`、`edit`、`delete`、`pin`、`unpin`、`list-pins`、`member-info`、`emoji-list` が含まれます。
## アクセス制御とルーティング
<Tabs>
<Tab title="DM ポリシー">
`channels.slack.dmPolicy` は DM アクセスを制御します(旧: `channels.slack.dm.policy`)。
`channels.slack.dmPolicy` は DM アクセスを制御します(旧: `channels.slack.dm.policy`)。
- `pairing`(デフォルト)
- `allowlist`
- `open``channels.slack.allowFrom` に `"*"` を含める必要があります。旧: `channels.slack.dm.allowFrom`
- `open``channels.slack.allowFrom` に `"*"` を含める必要があります。旧: `channels.slack.dm.allowFrom`
- `disabled`
DM フラグ:
- `dm.enabled`(デフォルト true
- `channels.slack.allowFrom`(推奨)
- `dm.allowFrom`(旧
- `dm.allowFrom`(旧)
- `dm.groupEnabled`(グループ DM のデフォルトは false
- `dm.groupChannels`任意の MPIM allowlist
- `dm.groupChannels`オプションの MPIM allowlist
マルチアカウントの優先順位:
- `channels.slack.accounts.default.allowFrom``default` アカウントにのみ適用されます。
- 名前付きアカウントは、自身の `allowFrom` が未設定の場合に `channels.slack.allowFrom` を継承します。
- 名前付きアカウントは、自身の `allowFrom` が未設定の場合に `channels.slack.allowFrom` を継承します。
- 名前付きアカウントは `channels.slack.accounts.default.allowFrom` を継承しません。
DM でのペアリングには `openclaw pairing approve slack <code>` を使います。
@ -654,26 +654,26 @@ Slack アクションは `channels.slack.actions.*` によって制御されま
- `allowlist`
- `disabled`
チャンネル allowlist は `channels.slack.channels` 配下にあり、安定したチャンネル ID を使うべきです。
チャンネル allowlist は `channels.slack.channels` 配下にあり、安定したチャンネル ID を使う必要があります。
ランタイムに関する注: `channels.slack` が完全に存在しない場合(環境変数のみのセットアップ)、ランタイムは `groupPolicy="allowlist"` にフォールバックし、警告を記録します(`channels.defaults.groupPolicy` が設定されていても同様です)。
ランタイムに関する注: `channels.slack` が完全に存在しない場合(環境変数のみのセットアップ)、ランタイムは `groupPolicy="allowlist"` にフォールバックし、警告を記録します(`channels.defaults.groupPolicy` が設定されていても同様です)。
名前/ID 解決:
- チャンネル allowlist エントリと DM allowlist エントリは、トークンアクセスが許可されていれば起動時に解決されます
- 未解決のチャンネル名エントリは設定どおり保持されますが、デフォルトではルーティング無視されます
- 受信認可とチャンネルルーティングはデフォルトで ID 優先です。直接のユーザー名/slug 一致には `channels.slack.dangerouslyAllowNameMatching: true` が必要です
- チャンネル allowlist エントリーと DM allowlist エントリーは、トークンアクセスが可能であれば起動時に解決されます
- 未解決のチャンネル名エントリは設定どおり保持されますが、デフォルトではルーティング時に無視されます
- 受信認可とチャンネルルーティングはデフォルトで ID 優先です。直接のユーザー名/slug 一致を使うには `channels.slack.dangerouslyAllowNameMatching: true` が必要です
</Tab>
<Tab title="メンションとチャンネルユーザー">
チャンネルメッセージはデフォルトでメンションゲートされます。
チャンネルメッセージはデフォルトでメンションによるゲートがかかります。
メンションソース:
- 明示的なアプリメンション(`<@botId>`
- メンション正規表現パターン(`agents.list[].groupChat.mentionPatterns`、フォールバックは `messages.groupChat.mentionPatterns`
- ボットへの暗黙のスレッド返信動作(`thread.requireExplicitMention` が `true` の場合は無効)
- 暗黙の bot 返信スレッド動作(`thread.requireExplicitMention` が `true` の場合は無効)
チャンネルごとの制御(`channels.slack.channels.<id>`。名前は起動時解決または `dangerouslyAllowNameMatching` 経由のみ):
@ -684,68 +684,69 @@ Slack アクションは `channels.slack.actions.*` によって制御されま
- `systemPrompt`
- `tools`, `toolsBySender`
- `toolsBySender` のキー形式: `id:`、`e164:`、`username:`、`name:`、または `"*"` ワイルドカード
(旧式のプレフィックスなしキーも引き続き `id:` のみにマップされます)
(旧来の接頭辞なしキーも `id:` のみに引き続きマップされます)
</Tab>
</Tabs>
## スレッディング、セッション、返信タグ
## スレッ、セッション、返信タグ
- DM は `direct`、チャンネルは `channel`、MPIM は `group` としてルーティングされます。
- DM は `direct` としてルーティングされ、チャンネルは `channel`、MPIM は `group` としてルーティングされます。
- デフォルトの `session.dmScope=main` では、Slack DM はエージェントのメインセッションに集約されます。
- チャンネルセッション: `agent:<agentId>:slack:channel:<channelId>`
- スレッド返信は、該当する場合にスレッドセッション接尾辞(`:thread:<threadTs>`を作成できます。
- スレッド返信では、必要に応じてスレッドセッション接尾辞(`:thread:<threadTs>`が作成されることがあります。
- `channels.slack.thread.historyScope` のデフォルトは `thread`、`thread.inheritParent` のデフォルトは `false` です。
- `channels.slack.thread.initialHistoryLimit` は、新しいスレッドセッション開始時に取得する既存スレッドメッセージ数を制御します(デフォルト `20`。無効化するには `0` を設定)。
- `channels.slack.thread.requireExplicitMention`(デフォルト `false`: `true` の場合、暗黙のスレッドメンションを抑制するため、ボットがすでにそのスレッドに参加していても、スレッド内での明示的な `@bot` メンションにのみ応答します。これがない場合、ボット参加済みスレッドでの返信は `requireMention` ゲートをバイパスします。
- `channels.slack.thread.requireExplicitMention`(デフォルト `false`: `true` の場合、暗黙のスレッドメンションを抑制し、bot がすでにそのスレッドに参加していても、スレッド内で明示的な `@bot` メンションがある場合にのみ bot が応答します。これがない場合、bot が参加済みのスレッド内返信は `requireMention` ゲートをバイパスします。
返信スレッディング制御:
返信スレッ制御:
- `channels.slack.replyToMode`: `off|first|all|batched`(デフォルト `off`
- `channels.slack.replyToModeByChatType`: `direct|group|channel` ごと
- direct chat 用の旧式フォールバック: `channels.slack.dm.replyToMode`
- direct チャット向けの旧フォールバック: `channels.slack.dm.replyToMode`
手動の返信タグに対応しています:
手動返信タグがサポートされています:
- `[[reply_to_current]]`
- `[[reply_to:<id>]]`
注: `replyToMode="off"` は、明示的な `[[reply_to_*]]` タグを含め、Slack の**すべて**の返信スレッディングを無効にします。これは、明示タグが `"off"` モードでも引き続き尊重される Telegram とは異なります。この違いは、プラットフォームごとのスレッディングモデルを反映しています。Slack スレッドではメッセージがチャンネルから隠れますが、Telegram の返信はメインチャットの流れの中で表示されたままです。
注: `replyToMode="off"` は、明示的な `[[reply_to_*]]` タグを含む Slack の**すべての**返信スレッドを無効化します。これは、明示タグが `"off"` モードでも引き続き尊重される Telegram とは異なります。この違いはプラットフォームのスレッドモデルを反映しています。Slack のスレッドではメッセージがチャンネルから隠れますが、Telegram の返信はメインチャットの流れの中で見えたままです。
## 確認リアクション
## 確認リアクション
`ackReaction` は、OpenClaw が受信メッセージを処理中であることを示す確認絵文字を送信します。
`ackReaction` は、OpenClaw が受信メッセージを処理している間、確認用絵文字を送信します。
解決順序:
- `channels.slack.accounts.<accountId>.ackReaction`
- `channels.slack.ackReaction`
- `messages.ackReaction`
- エージェント ID の絵文字フォールバック(`agents.list[].identity.emoji`、それ以外は "👀"
- エージェント ID の絵文字フォールバック(`agents.list[].identity.emoji`、なければ `"👀"`
:
:
- Slack では shortcode が必要です(例: `"eyes"`)。
- Slack アカウント単位またはグローバルでリアクションを無効にするには `""` を使ます。
- Slack ではショートコードが必要です(例: `"eyes"`)。
- Slack アカウント単位またはグローバルでリアクションを無効にするには `""` を使用します。
## テキストストリーミング
`channels.slack.streaming` はライブプレビュー動作を制御します:
- `off`: ライブプレビューストリーミングを無効にします。
- `off`: ライブプレビューストリーミングを無効にします。
- `partial`(デフォルト): プレビューテキストを最新の部分出力で置き換えます。
- `block`: チャンク化されたプレビュー更新を追記します。
- `progress`: 生成中は進捗ステータステキストを表示し、その後で最終テキストを送信します。
- `block`: 分割されたプレビュー更新を追記します。
- `progress`: 生成中は進行状況のステータステキストを表示し、その後に最終テキストを送信します。
- `streaming.preview.toolProgress`: 下書きプレビューが有効なとき、ツール/進捗更新を同じ編集済みプレビューメッセージに流します(デフォルト: `true`)。別個のツール/進捗メッセージのままにするには `false` に設定します。
`channels.slack.streaming.nativeTransport` は、`channels.slack.streaming.mode` が `partial` のときに Slack ネイティブのテキストストリーミングを制御します(デフォルト: `true`)。
`channels.slack.streaming.nativeTransport` は、`channels.slack.streaming.mode` が `partial` のときの Slack ネイティブテキストストリーミングを制御します(デフォルト: `true`)。
- ネイティブテキストストリーミングと Slack assistant のスレッドステータスを表示するには、返信スレッドが利用可能である必要があります。スレッド選択は引き続き `replyToMode` に従います。
- ネイティブストリーミングが利用できない場合でも、チャンネルとグループチャットのルートでは通常のドラフトプレビューを使えます。
- トップレベルの Slack DM はデフォルトでスレッド外のままなので、スレッド形式のプレビューは表示されません。そこで進捗を見せたい場合は、スレッド返信または `typingReaction` を使ってください。
- メディアや非テキストのペイロードは通常配信にフォールバックします。
- 返信途中でストリーミングに失敗した場合、OpenClaw は残りのペイロードについて通常配信にフォールバックします。
- チャンネルとグループチャットのルートでは、ネイティブストリーミングが使えない場合でも通常の下書きプレビューを使えます。
- トップレベルの Slack DM はデフォルトでスレッド外のままなので、スレッド形式のプレビューは表示されません。そこで進行状況を見せたい場合は、スレッド返信または `typingReaction` を使用してください。
- メディアおよび非テキスト payload は通常配信にフォールバックします。
- 返信途中でストリーミングに失敗した場合、OpenClaw は残りの payload を通常配信にフォールバックします。
Slack ネイティブのテキストストリーミングの代わりにドラフトプレビューを使うには:
Slack ネイティブテキストストリーミングの代わりに下書きプレビューを使用する:
```json5
{
@ -760,57 +761,57 @@ Slack ネイティブのテキストストリーミングの代わりにドラ
}
```
キー:
旧キー:
- `channels.slack.streamMode``replace | status_final | append`)は自動的に `channels.slack.streaming.mode`移行されます。
- 真偽値の `channels.slack.streaming` は自動的に `channels.slack.streaming.mode``channels.slack.streaming.nativeTransport`移行されます。
- 旧式の `channels.slack.nativeStreaming`自動的に `channels.slack.streaming.nativeTransport` 移行されます。
- `channels.slack.streamMode``replace | status_final | append`)は `channels.slack.streaming.mode` に自動移行されます。
- boolean の `channels.slack.streaming``channels.slack.streaming.mode``channels.slack.streaming.nativeTransport` に自動移行されます。
- 旧 `channels.slack.nativeStreaming``channels.slack.streaming.nativeTransport` に自動移行されます。
## Typing reaction フォールバック
## typing リアクションのフォールバック
`typingReaction` は、OpenClaw が返信を処理している間、受信した Slack メッセージに一時的なリアクションを追加し、実行終了時にそれを削除します。これは主に、デフォルトの「入力中...」ステータスインジケーターを使うスレッド返信の外で役立ちます。
`typingReaction` は、OpenClaw が返信を処理している間、受信した Slack メッセージに一時的なリアクションを追加し、実行終了時にそれを削除します。これは、デフォルトの「is typing...」ステータス表示を使うスレッド返信の外側で特に有用です。
解決順序:
- `channels.slack.accounts.<accountId>.typingReaction`
- `channels.slack.typingReaction`
:
:
- Slack では shortcode が必要です(例: `"hourglass_flowing_sand"`)。
- リアクションはベストエフォートであり、返信または失敗経路の完了後に自動クリーンアップが試行されます。
- Slack ではショートコードが必要です(例: `"hourglass_flowing_sand"`)。
- リアクションはベストエフォートです。返信または失敗パスの完了後に自動クリーンアップが試行されます。
## メディア、チャンク化、配信
<AccordionGroup>
<Accordion title="受信添付ファイル">
Slack のファイル添付は、Slack がホストするプライベート URL からダウンロードされ(トークン認証付きリクエストフロー)、取得に成功しサイズ制限内であればメディアストアに書き込まれます。
Slack のファイル添付は Slack ホストのプライベート URL からダウンロードされ(トークン認証付きリクエストフロー)、取得に成功しサイズ制限内であれば media store に書き込まれます。
ランタイムの受信サイズ上限は、`channels.slack.mediaMaxMb` で上書きしない限りデフォルトで `20MB` です。
ランタイムの受信サイズ上限は、`channels.slack.mediaMaxMb` で上書きしない限りデフォルトで `20MB` です。
</Accordion>
<Accordion title="送信テキストとファイル">
- テキストチャンク`channels.slack.textChunkLimit` を使います(デフォルト 4000
- `channels.slack.chunkMode="newline"` で段落優先の分割を有効にします
- ファイル送信には Slack の upload API を使用し、スレッド返信(`thread_ts`)を含めることもできます
- 送信メディア上限は、`channels.slack.mediaMaxMb` が設定されていればそれに従います。未設定の場合、チャンネル送信は media pipeline の MIME 種別デフォルトに従います
- テキストチャンクは `channels.slack.textChunkLimit` を使います(デフォルト 4000
- `channels.slack.chunkMode="newline"` で段落優先の分割が有効になります
- ファイル送信では Slack のアップロード API を使い、スレッド返信(`thread_ts`)を含められます
- 送信メディア上限は、設定されていれば `channels.slack.mediaMaxMb` に従います。未設定の場合、チャンネル送信は media pipeline の MIME kind デフォルトに従います
</Accordion>
<Accordion title="配信先">
推奨される明示的な宛先:
推奨される明示ターゲット:
- DM には `user:<id>`
- チャンネルには `channel:<id>`
Slack DM は、ユーザー宛先に送信する際に Slack conversation API によって開かれます。
Slack DM は、user ターゲットへ送信する際に Slack conversation API 経由で開かれます。
</Accordion>
</AccordionGroup>
## コマンドとスラッシュ動作
スラッシュコマンドは、Slack では単一の設定済みコマンドとして、または複数のネイティブコマンドとして表示されます。コマンドデフォルトを変更するには `channels.slack.slashCommand` を設定します。
スラッシュコマンドは Slack 上で、単一の設定済みコマンドまたは複数のネイティブコマンドとして表示されます。コマンドデフォルトを変更するには `channels.slack.slashCommand` を設定します。
- `enabled: false`
- `name: "openclaw"`
@ -821,7 +822,7 @@ Slack ネイティブのテキストストリーミングの代わりにドラ
/openclaw /help
```
ネイティブコマンドには、Slack アプリで[追加のマニフェスト設定](#additional-manifest-settings)が必要で、代わり`channels.slack.commands.native: true` またはグローバル設定の `commands.native: true` で有効になります。
ネイティブコマンドを使うには、Slack アプリに[追加のマニフェスト設定](#additional-manifest-settings)が必要で、さら`channels.slack.commands.native: true` またはグローバル設定の `commands.native: true` で有効にます。
- Slack ではネイティブコマンドの自動モードは **off** なので、`commands.native: "auto"` では Slack ネイティブコマンドは有効になりません。
@ -833,20 +834,20 @@ Slack ネイティブのテキストストリーミングの代わりにドラ
- 最大 5 オプション: ボタンブロック
- 6〜100 オプション: 静的セレクトメニュー
- 100 を超えるオプション: interactivity options handler が利用可能な場合、非同期オプションフィルタリング付き external select
- Slack の上限超過時: エンコード済みオプション値はボタンにフォールバック
- 100 を超えるオプション: interactivity options handler が利用可能な場合、非同期オプションフィルタリング付き external select
- Slack 限超過時: エンコード済みオプション値はボタンにフォールバック
```txt
/think
```
スラッシュセッションは `agent:<agentId>:slack:slash:<userId>` のような分離キーを使い、引き続き `CommandTargetSessionKey` を使ってコマンド実行を対象会話セッションへルーティングします。
スラッシュセッションは `agent:<agentId>:slack:slash:<userId>` のような分離キーを使い、コマンド実行は引き続き `CommandTargetSessionKey` を使って対象の会話セッションへルーティングされます。
## インタラクティブ返信
Slack はエージェント作成のインタラクティブ返信コントロールを描画できますが、この機能はデフォルトで無効です。
Slack はエージェント作成のインタラクティブ返信コントロールをレンダリングできますが、この機能はデフォルトで無効です。
グローバルに有効にするには:
グローバルに有効化する:
```json5
{
@ -860,7 +861,7 @@ Slack はエージェント作成のインタラクティブ返信コントロ
}
```
または、1 つの Slack アカウントだけで有効にするには:
または、1 つの Slack アカウントだけで有効化する:
```json5
{
@ -883,38 +884,37 @@ Slack はエージェント作成のインタラクティブ返信コントロ
- `[[slack_buttons: Approve:approve, Reject:reject]]`
- `[[slack_select: Choose a target | Canary:canary, Production:production]]`
これらのディレクティブは Slack Block Kit にコンパイルされ、クリックや選択は既存の Slack interaction event パスを通じて戻されます。
これらのディレクティブは Slack Block Kit にコンパイルされ、クリックや選択を既存の Slack interaction event path 経由で戻します。
:
:
- これは Slack 固有の UI です。他のチャンネルでは Slack Block Kit ディレクティブを自のボタンシステムに変換しません。
- インタラクティブなコールバック値は OpenClaw 生成の不透明トークンであり、生のエージェント作成値ではありません。
- 生成されたインタラクティブブロックが Slack Block Kit の上限を超える場合、OpenClaw は無効な blocks ペイロードを送る代わりに元のテキスト返信へフォールバックします。
- これは Slack 固有の UI です。他のチャンネルでは Slack Block Kit ディレクティブを自のボタンシステムに変換しません。
- インタラクティブコールバック値は OpenClaw 生成の opaque token であり、生のエージェント作成値ではありません。
- 生成されたインタラクティブブロックが Slack Block Kit の制限を超える場合、OpenClaw は無効な blocks payload を送る代わりに元のテキスト返信へフォールバックします。
## Slack の Exec approvals
## Slack での exec 承認
Slack は、Web UI やターミナルにフォールバックする代わりに、インタラクティブボタンと interactions を備えたネイティブ承認クライアントとして動作できます。
Slack は、Web UI や端末へフォールバックする代わりに、インタラクティブボタンと interaction を備えたネイティブ承認クライアントとして動作できます。
- Exec approvals は、ネイティブな DM/チャンネルルーティングに `channels.slack.execApprovals.*` を使います。
- Plugin approvals も、リクエストがすでに Slack に到達していて承認 ID 種別が `plugin:` の場合、同じ Slack ネイティブボタン UI で解決できます。
- exec 承認では、ネイティブ DM/チャンネルルーティングに `channels.slack.execApprovals.*` を使います。
- Plugin 承認は、リクエストがすでに Slack に到達しており、承認 ID 種別が `plugin:` であれば、同じ Slack ネイティブボタン UI 経由で引き続き解決できます。
- 承認者の認可は引き続き強制されます。承認者として識別されたユーザーだけが Slack 経由でリクエストを承認または拒否できます。
これは他チャンネルと同じ共有承認ボタン UI を使用します。Slack アプリ設定で `interactivity` が有効な場合、承認プロンプトは会話内に直接 Block Kit ボタンとして描画されます。
それらのボタンがある場合、それが主要な承認 UX です。OpenClaw
は、ツール結果がチャット承認を利用不可としている場合、または手動承認が唯一の経路である場合にのみ、手動の `/approve` コマンドを含めるべきです。
これは他チャンネルと同じ共有承認ボタン UI を使います。Slack アプリ設定で `interactivity` が有効な場合、承認プロンプトは会話内に直接 Block Kit ボタンとして表示されます。
それらのボタンが存在する場合、それが主要な承認 UX です。OpenClaw は、ツール結果がチャット承認を利用不可と示す場合、または手動承認が唯一の経路である場合にのみ、手動 `/approve` コマンドを含めるべきです。
設定パス:
config パス:
- `channels.slack.execApprovals.enabled`
- `channels.slack.execApprovals.approvers`任意。可能な場合は `commands.ownerAllowFrom` にフォールバック)
- `channels.slack.execApprovals.approvers`オプション。可能な場合は `commands.ownerAllowFrom` にフォールバック)
- `channels.slack.execApprovals.target``dm` | `channel` | `both`、デフォルト: `dm`
- `agentFilter`, `sessionFilter`
Slack は、`enabled` が未設定または `"auto"` で、少なくとも 1 人の
承認者が解決されると、ネイティブ exec approvals を自動有効化します。Slack をネイティブ承認クライアントとして明示的に無効にするには `enabled: false` を設定します
承認者が解決されるときにネイティブ承認を強制的に有効にするには `enabled: true` を設定します
Slack は、`enabled` が未設定または `"auto"` で、かつ少なくとも 1 人の
承認者が解決されると、ネイティブ exec 承認を自動で有効にします。Slack をネイティブ承認クライアントとして明示的に無効にするには `enabled: false` を設定してください
承認者が解決されるときにネイティブ承認を強制的に有効にするには `enabled: true` を設定してください
明示的な Slack exec approval 設定がない場合のデフォルト動作:
明示的な Slack exec 承認 config がない場合のデフォルト動作:
```json5
{
@ -924,7 +924,7 @@ Slack は、`enabled` が未設定または `"auto"` で、少なくとも 1 人
}
```
承認者を上書きしたい、フィルターを追加したい、または送信元チャットへの配信を有効にしたい場合にのみ、明示的な Slack ネイティブ設定が必要です。
明示的な Slack ネイティブ config が必要なのは、承認者を上書きしたい場合、フィルターを追加したい場合、または origin-chat 配信を有効にしたい場合だけです。
```json5
{
@ -940,42 +940,42 @@ Slack は、`enabled` が未設定または `"auto"` で、少なくとも 1 人
}
```
共有の `approvals.exec` 転送は別です。exec 承認プロンプトも他チャットや明示的な帯域外宛先へルーティングする必要がある場合にのみ使ってください。共有の `approvals.plugin` 転送も別です。これらのリクエストがすでに Slack に到達している場合、Slack ネイティブボタンで plugin approvals を引き続き解決できます。
共有の `approvals.exec` 転送は別機能です。exec 承認プロンプトを他のチャットや明示的な帯域外ターゲットにもルーティングする必要がある場合にのみ使用してください。共有の `approvals.plugin` 転送も別機能です。Slack ネイティブボタンは、それらのリクエストがすでに Slack に到達している場合、引き続き Plugin 承認を解決できます。
同一チャットでの `/approve` も、すでにコマンドをサポートしている Slack チャンネルと DM で動作します。完全な承認転送モデルについては、[Exec approvals](/ja-JP/tools/exec-approvals) を参照してください。
同一チャット内の `/approve` も、すでにコマンド対応している Slack チャンネルと DM で動作します。完全な承認転送モデルについては [Exec approvals](/ja-JP/tools/exec-approvals) を参照してください。
## イベントと運用時の動作
## イベントと運用動作
- メッセージ編集/削除/スレッドブロードキャストは system event にマップされます。
- リアクション追加/削除イベントは system event にマップされます。
- メンバーの参加/退出、チャンネルの作成/リネーム、ピンの追加/削除イベントは system event にマップされます。
- `channel_id_changed` は、`configWrites` が有効な場合にチャンネル設定キーを移行できます。
- チャンネルトピック/目的メタデータは信頼されないコンテキストとして扱われ、ルーティングコンテキストに注入されることがあります。
- スレッド開始メッセージと初期スレッド履歴コンテキスト投入は、該当する場合、設定済みの送信者 allowlist によってフィルタリングされます。
- ブロックアクションとモーダル interaction は、リッチなペイロードフィールドを持つ構造化された `Slack interaction: ...` system event を出力します:
- ブロックアクション: 選択値、ラベル、picker 値、`workflow_*` メタデータ
- モーダル `view_submission` および `view_closed` イベント: ルーティングされたチャンネルメタデータとフォーム入力付き
- メッセージ編集/削除/スレッドブロードキャストは system event にマップされます。
- リアクション追加/削除イベントは system event にマップされます。
- メンバー参加/離脱、チャンネル作成/名前変更、ピン追加/削除イベントは system event にマップされます。
- `channel_id_changed` は、`configWrites` が有効な場合にチャンネル config キーを移行できます。
- チャンネル topic/purpose メタデータは信頼されないコンテキストとして扱われ、ルーティングコンテキストに注入されることがあります。
- スレッド開始メッセージと初期スレッド履歴コンテキストのシーディングは、該当する場合は設定済み送信者 allowlist でフィルタリングされます。
- Block action とモーダル interaction は、リッチな payload フィールドを持つ構造化 `Slack interaction: ...` system event を出力します。
- block action: 選択値、ラベル、picker 値、`workflow_*` メタデータ
- モーダル `view_submission` および `view_closed` イベント。ルーティング済みチャンネルメタデータとフォーム入力を含みます
## 設定リファレンスへのポインタ
## 設定リファレンスの参照先
リファレンス:
リファレンス:
- [設定リファレンス - Slack](/ja-JP/gateway/configuration-reference#slack)
重要度の高い Slack フィールド:
- モード/認証: `mode`, `botToken`, `appToken`, `signingSecret`, `webhookPath`, `accounts.*`
- DM アクセス: `dm.enabled`, `dmPolicy`, `allowFrom`(旧式: `dm.policy`, `dm.allowFrom`, `dm.groupEnabled`, `dm.groupChannels`
- 互換性トグル: `dangerouslyAllowNameMatching`(緊急用。必要ない限り無効のままにする
- mode/auth: `mode`, `botToken`, `appToken`, `signingSecret`, `webhookPath`, `accounts.*`
- DM アクセス: `dm.enabled`, `dmPolicy`, `allowFrom`(旧: `dm.policy`, `dm.allowFrom`)、`dm.groupEnabled`, `dm.groupChannels`
- 互換性トグル: `dangerouslyAllowNameMatching`(緊急用; 必要な場合を除き off のままにしてください
- チャンネルアクセス: `groupPolicy`, `channels.*`, `channels.*.users`, `channels.*.requireMention`
- スレッディング/履歴: `replyToMode`, `replyToModeByChatType`, `thread.*`, `historyLimit`, `dmHistoryLimit`, `dms.*.historyLimit`
- 配信: `textChunkLimit`, `chunkMode`, `mediaMaxMb`, `streaming`, `streaming.nativeTransport`
- スレッ/履歴: `replyToMode`, `replyToModeByChatType`, `thread.*`, `historyLimit`, `dmHistoryLimit`, `dms.*.historyLimit`
- 配信: `textChunkLimit`, `chunkMode`, `mediaMaxMb`, `streaming`, `streaming.nativeTransport`, `streaming.preview.toolProgress`
- 運用/機能: `configWrites`, `commands.native`, `slashCommand.*`, `actions.*`, `userToken`, `userTokenReadOnly`
## トラブルシューティング
<AccordionGroup>
<Accordion title="チャンネルで返信がない">
次の順確認してください。
次の順確認してください。
- `groupPolicy`
- チャンネル allowlist`channels.slack.channels`
@ -993,11 +993,11 @@ openclaw doctor
</Accordion>
<Accordion title="DM メッセージが無視される">
次を確認してください。
確認項目:
- `channels.slack.dm.enabled`
- `channels.slack.dmPolicy`(または旧式の `channels.slack.dm.policy`
- ペアリング承認 / allowlist エントリ
- `channels.slack.dmPolicy`(または旧 `channels.slack.dm.policy`
- ペアリング承認 / allowlist エントリ
```bash
openclaw pairing list slack
@ -1006,22 +1006,22 @@ openclaw pairing list slack
</Accordion>
<Accordion title="Socket mode が接続されない">
bot トークンと app トークン、および Slack アプリ設定での Socket Mode 有効化を検証してください。
bot トークンと app トークン、および Slack アプリ設定での Socket Mode 有効化を確認してください。
`openclaw channels status --probe --json``botTokenStatus` または
`appTokenStatus: "configured_unavailable"` が表示される場合、Slack アカウントは
`appTokenStatus: "configured_unavailable"` が表示される場合、その Slack アカウントは
設定されていますが、現在のランタイムでは SecretRef ベースの
値を解決できませんでした。
</Accordion>
<Accordion title="HTTP mode でイベントを受信しない">
次を検証してください。
次を確認してください。
- signing secret
- webhook path
- Slack Request URLsEvents + Interactivity + Slash Commands
- HTTP アカウントごと一意の `webhookPath`
- Slack Request URLEvents + Interactivity + Slash Commands
- HTTP アカウントごと一意の `webhookPath`
アカウントスナップショットに `signingSecretStatus: "configured_unavailable"`
表示される場合、その HTTP アカウントは設定されていますが、現在のランタイムでは
@ -1029,18 +1029,18 @@ openclaw pairing list slack
</Accordion>
<Accordion title="ネイティブ/スラッシュコマンドが動作しない">
<Accordion title="ネイティブ/スラッシュコマンドが反応しない">
意図したのがどちらかを確認してください。
- Slack に一致するスラッシュコマンドが登録されたネイティブコマンドモード(`channels.slack.commands.native: true`
- ネイティブコマンドモード(`channels.slack.commands.native: true`で、Slack に対応するスラッシュコマンドが登録されている
- または単一スラッシュコマンドモード(`channels.slack.slashCommand.enabled: true`
また、`commands.useAccessGroups` とチャンネル/ユーザー allowlist も確認してください。
併せて `commands.useAccessGroups` とチャンネル/ユーザー allowlist も確認してください。
</Accordion>
</AccordionGroup>
## 関連項目
## 関連
- [ペアリング](/ja-JP/channels/pairing)
- [グループ](/ja-JP/channels/groups)

File diff suppressed because it is too large Load Diff

View File

@ -1,21 +1,21 @@
---
read_when:
- 同じマシンで複数の Gateway を実行する
- Gateway ごとに分離された設定 / state / ポートが必要
summary: 1 台のホストで複数の OpenClaw Gateway を実行する(分離、ポート、プロファイル)
title: 複数の Gateway
- 同じマシンで複数のGatewayを実行する
- Gatewayごとに分離された設定、状態、ポートが必要です
summary: 1台のホストで複数のOpenClaw Gatewayを実行する分離、ポート、プロファイル
title: 複数のGateway
x-i18n:
generated_at: "2026-04-05T12:44:00Z"
generated_at: "2026-04-21T17:45:43Z"
model: gpt-5.4
provider: openai
source_hash: 061f204bf56b28c6bd0e2c9aee6c561a8a162ca219060117fea4d3a007f01899
source_hash: 8c3fcb921bc6596040e9249467964bd9dcd40ea7c16e958bb378247b0f994a7b
source_path: gateway/multiple-gateways.md
workflow: 15
---
# 複数の Gateway同一ホスト
# 複数のGateway同一ホスト
ほとんどのセットアップでは 1 つの Gateway を使うべきです。単一の Gateway で複数のメッセージング接続とエージェントを扱えるためです。より強い分離や冗長性(たとえばレスキューボット)が必要な場合は、分離されたプロファイル / ポートで別々の Gateway を実行してください。
ほとんどの構成では1つのGatewayを使用すべきです。1つのGatewayで複数のメッセージング接続とエージェントを処理できるためです。より強い分離や冗長性例: レスキューボット)が必要な場合は、分離されたプロファイル/ポートで別々のGatewayを実行してください。
## 分離チェックリスト(必須)
@ -23,86 +23,115 @@ x-i18n:
- `OPENCLAW_STATE_DIR` — インスタンスごとのセッション、認証情報、キャッシュ
- `agents.defaults.workspace` — インスタンスごとのワークスペースルート
- `gateway.port`(または `--port`)— インスタンスごとに一意
- 派生ポートbrowser / canvasは重複してはいけない
- 派生ポートbrowser/canvasは重複してはいけません
これらを共有すると、設定競合やポート競合が発生します。
これらを共有すると、設定の競合やポートの衝突が発生します。
## 推奨: プロファイル(`--profile`
## 推奨: メインにはデフォルトプロファイルを使い、レスキューには名前付きプロファイルを使う
プロファイルは `OPENCLAW_STATE_DIR``OPENCLAW_CONFIG_PATH` を自動的にスコープ分けし、サービス名にサフィックスを付けます
プロファイルは `OPENCLAW_STATE_DIR``OPENCLAW_CONFIG_PATH` を自動的にスコープし、サービス名に接尾辞を付けます。ほとんどのレスキューボット構成では、メインボットはデフォルトプロファイルのままにし、レスキューボットにだけ `rescue` のような名前付きプロファイルを割り当ててください
```bash
# main
openclaw --profile main setup
openclaw --profile main gateway --port 18789
# main (default profile)
openclaw setup
openclaw gateway --port 18789
# rescue
openclaw --profile rescue setup
openclaw --profile rescue gateway --port 19001
```
プロファイルごとのサービス:
サービス:
```bash
openclaw --profile main gateway install
openclaw gateway install
openclaw --profile rescue gateway install
```
両方のGatewayで名前付きプロファイルを使いたい場合でも動作しますが、必須ではありません。
## レスキューボットガイド
同じホスト上で 2 台目の Gateway を、以下をそれぞれ専用にして実行します。
推奨構成:
- プロファイル / 設定
- state dir
- ワークスペース
- ベースポート(および派生ポート)
- メインボットはデフォルトプロファイルのままにする
- レスキューボットは `--profile rescue` で実行する
- レスキューアカウントには完全に別のTelegramボットを使う
- レスキューボットは `19001` のような別のベースポートにする
れにより、メインボットが停止している場合でも、レスキューボットをメインボットから分離したまま、デバッグや設定変更の適用ができます。
うすることで、メインボットからレスキューボットを分離でき、プライマリボットが停止していても、デバッグや設定変更の適用ができます。派生する browser/canvas/CDP ポートが衝突しないよう、ベースポートの間は少なくとも20空けてください。
ポート間隔: 派生する browser / canvas / CDP ポートが衝突しないよう、ベースポート間には少なくとも 20 ポート空けてください。
### 推奨されるレスキューチャンネル/アカウント
### インストール方法(レスキューボット)
ほとんどの構成では、レスキュープロファイルには完全に別のTelegramボットを使ってください。
Telegramを使う理由:
- オペレーター専用にしやすい
- ボットトークンとIDが分離される
- メインボットのチャンネル/アプリのインストールから独立している
- メインボットが壊れたときにDMベースの簡単な復旧経路になる
重要なのは完全な独立性です。別のボットアカウント、別の認証情報、別のOpenClawプロファイル、別のワークスペース、別のポートが必要です。
### 推奨インストールフロー
特別な理由がない限り、これをデフォルト構成として使ってください。
```bash
# Main bot既存または新規、--profile パラメーターなし)
# ポート 18789 + Chrome CDC/Canvas/... ポートで実行
# Main bot (default profile, port 18789)
openclaw onboard
openclaw gateway install
# Rescue bot分離されたプロファイル + ポート)
# Rescue bot (separate Telegram bot, separate profile, port 19001)
openclaw --profile rescue onboard
# 注:
# - ワークスペース名はデフォルトで -rescue が後置されます
# - ポートは少なくとも 18789 + 20 ポート以上にしてください。
# できれば 19789 のように、完全に異なるベースポートを選んでください。
# - それ以外のオンボーディングは通常と同じです
# サービスをインストールするには(セットアップ中に自動実行されなかった場合)
openclaw --profile rescue gateway install
```
`openclaw --profile rescue onboard` の実行中:
- 別のTelegramボットトークンを使う
- `rescue` プロファイルを維持する
- メインボットより少なくとも20高いベースポートを使う
- すでに自分で管理している場合を除き、デフォルトのレスキューワークスペースを受け入れる
オンボーディングですでにレスキューサービスがインストールされている場合、最後の `gateway install` は不要です。
### オンボーディングで変更される内容
`openclaw --profile rescue onboard` は通常のオンボーディングフローを使いますが、すべてを別のプロファイルに書き込みます。
実際には、レスキューボットは次の専用領域を持つことになります。
- 設定ファイル
- 状態ディレクトリ
- ワークスペース(デフォルトでは `~/.openclaw/workspace-rescue`
- 管理サービス名
それ以外のプロンプトは通常のオンボーディングと同じです。
## ポートマッピング(派生)
ベースポート = `gateway.port`(または `OPENCLAW_GATEWAY_PORT` / `--port`)。
- browser control service のポート = ベース + 2loopback のみ)
- canvas host は Gateway HTTP サーバー上で提供される(`gateway.port` と同じポート)
- Browser profile の CDP ポートは `browser.controlPort + 9 .. + 108` から自動割り当てされる
- browser control service port = ベース + 2loopback のみ)
- canvas host はGateway HTTPサーバーで提供されます`gateway.port` と同じポート)
- Browser profile CDP ports は `browser.controlPort + 9 .. + 108` から自動割り当てされます
設定または環境変数でこれらのいずれかを上書きする場合は、インスタンスごとに一意である必要があります。
設定または環境変数でこれらを上書きする場合は、インスタンスごとに一意に保つ必要があります。
## Browser / CDP に関する注意(よくある落とし穴)
## Browser/CDP の注意点(よくある落とし穴)
- 複数インスタンスで `browser.cdpUrl` を同じ値に固定してはいけません。
- 各インスタンスには、専用の browser control port と CDP 範囲gateway port から派生)が必要です。
- 明示的な CDP ポートが必要な場合は、インスタンスごとに `browser.profiles.<name>.cdpPort` を設定してください。
- リモート Chrome には `browser.profiles.<name>.cdpUrl` を使ってください(プロファイルごと、インスタンスごと)。
- 複数インスタンスで `browser.cdpUrl` を同じ値に固定**しないでください**
- 各インスタンスには、それぞれ専用の browser control port と CDP 範囲gateway port から派生)が必要です。
- 明示的なCDPポートが必要な場合は、インスタンスごとに `browser.profiles.<name>.cdpPort` を設定してください。
- リモートChromeでは、`browser.profiles.<name>.cdpUrl` を使ってください(プロファイルごと、インスタンスごと)。
## 手動 env の例
## 手動 env 例
```bash
OPENCLAW_CONFIG_PATH=~/.openclaw/main.json \
OPENCLAW_STATE_DIR=~/.openclaw-main \
OPENCLAW_STATE_DIR=~/.openclaw \
openclaw gateway --port 18789
OPENCLAW_CONFIG_PATH=~/.openclaw/rescue.json \
@ -113,15 +142,15 @@ openclaw gateway --port 19001
## クイックチェック
```bash
openclaw --profile main gateway status --deep
openclaw gateway status --deep
openclaw --profile rescue gateway status --deep
openclaw --profile rescue gateway probe
openclaw --profile main status
openclaw status
openclaw --profile rescue status
openclaw --profile rescue browser status
```
解釈:
- `gateway status --deep` は、古いインストールから残っている launchd / systemd / schtasks サービスを見つけるのに役立ちます。
- `multiple reachable gateways detected` のような `gateway probe` の警告文は、意図的に複数の分離された Gateway を実行している場合にのみ想定されるものです。
- `gateway status --deep` は、古いインストールから残っている古い launchd/systemd/schtasks サービスの検出に役立ちます。
- `gateway probe` の `multiple reachable gateways detected` のような警告テキストは、意図的に複数の分離されたGatewayを実行している場合にのみ想定されるものです。

View File

@ -2,35 +2,33 @@
read_when:
- チャットコマンドの使用または設定
- コマンドのルーティングまたは権限のデバッグ
summary: 'スラッシュコマンド: テキストとネイティブ、設定、対応コマンド'
summary: 'スラッシュコマンド: テキストとネイティブ、設定、サポートされているコマンド'
title: スラッシュコマンド
x-i18n:
generated_at: "2026-04-21T13:39:11Z"
generated_at: "2026-04-21T17:45:41Z"
model: gpt-5.4
provider: openai
source_hash: d90ddee54af7c05b7fdf486590561084581d750e42cd14674d43bbdc0984df5d
source_hash: 26923608329ba2aeece2d4bc8edfa40ae86e03719a9f590f26ff79f57d97521d
source_path: tools/slash-commands.md
workflow: 15
---
# スラッシュコマンド
コマンドは Gateway によって処理されます。ほとんどのコマンドは、`/` で始まる**単独の**メッセージとして送信する必要があります。
ホスト専用の bash チャットコマンドは `! <cmd>` を使います(`/bash <cmd>` はその alias です)。
コマンドはGatewayによって処理されます。ほとんどのコマンドは、`/` で始まる**単独の**メッセージとして送信する必要があります。
ホスト限定の bash チャットコマンドは `! <cmd>` を使います(`/bash <cmd>` はエイリアスです)。
関連する 2 つのシステムがあります。
関連するシステムは2つあります。
- **コマンド**: 単独の `/...` メッセージ。
- **ディレクティブ**: `/think`, `/fast`, `/verbose`, `/trace`, `/reasoning`, `/elevated`, `/exec`, `/model`, `/queue`
- ディレクティブは、モデルがメッセージを見る前に取り除かれます。
- 通常のチャットメッセージ内では(ディレクティブのみではない場合)、これらは「インラインヒント」として扱われ、セッション設定は永続化されません。
- ディレクティブのみのメッセージでは(メッセージがディレクティブだけを含む場合)、セッションに永続化され、確認応答が返されます。
- ディレクティブは**認可された送信者**に対してのみ適用されます。`commands.allowFrom` が設定されている場合、それが唯一の
使用される許可リストです。そうでない場合、認可はチャネルの許可リスト/ペアリングと `commands.useAccessGroups` から決まります。
認可されていない送信者には、ディレクティブは平文テキストとして扱われます。
- ディレクティブは、モデルがメッセージを見る前にメッセージから取り除かれます。
- 通常のチャットメッセージ内では(ディレクティブだけのメッセージではない場合)、これらは「インラインヒント」として扱われ、セッション設定は**永続化されません**。
- ディレクティブだけのメッセージ内では(メッセージがディレクティブのみを含む場合)、これらはセッションに永続化され、確認応答が返されます。
- ディレクティブは**認可された送信者**に対してのみ適用されます。`commands.allowFrom` が設定されている場合、それが使用される唯一の許可リストです。そうでない場合、認可はチャンネルの許可リスト/ペアリングと `commands.useAccessGroups` から決まります。認可されていない送信者では、ディレクティブは通常のテキストとして扱われます。
さらに、いくつかの**インラインショートカット**もあります(許可リスト/認可済み送信者のみ): `/help`, `/commands`, `/status`, `/whoami``/id`)。
これらは即座に実行され、モデルがメッセージを見る前に取り除かれ、残りのテキストは通常のフローを通過し続けます。
さらに、いくつかの**インラインショートカット**もあります(許可リストに登録された/認可された送信者のみ): `/help`, `/commands`, `/status`, `/whoami` (`/id`)。
これらは即座に実行され、モデルがメッセージを見る前に取り除かれ、残りのテキストは通常フローで処理され続けます。
## 設定
@ -59,107 +57,107 @@ x-i18n:
}
```
- `commands.text`(デフォルト `true`)は、チャットメッセージ内の `/...` の解析を有効にします。
- ネイティブコマンドのない surfaceWhatsApp/WebChat/Signal/iMessage/Google Chat/Microsoft Teamsでは、これを `false` に設定してもテキストコマンドは引き続き動作します。
- `commands.native`(デフォルト `"auto"`)は、ネイティブコマンドを登録します。
- Auto: Discord/Telegram ではオン、Slack ではオフslash command を追加するまで)。ネイティブサポートのない provider では無視されます。
- provider ごとに上書きするには `channels.discord.commands.native`、`channels.telegram.commands.native`、または `channels.slack.commands.native` を設定しますbool または `"auto"`)。
- `false` は、起動時に Discord/Telegram で以前に登録されたコマンドを消去します。Slack コマンドは Slack アプリ内で管理され、自動では削除されません。
- `commands.nativeSkills`(デフォルト `"auto"`)は、サポートされている場合に **skill** コマンドをネイティブ登録します。
- Auto: Discord/Telegram ではオン、Slack ではオフSlack では skill ごとに slash command を作成する必要があります)。
- provider ごとに上書きするには `channels.discord.commands.nativeSkills`、`channels.telegram.commands.nativeSkills`、または `channels.slack.commands.nativeSkills` を設定しますbool または `"auto"`)。
- `commands.bash`(デフォルト `false`)は、`! <cmd>` によるホストシェルコマンド実行を有効にします(`/bash <cmd>` は alias。`tools.elevated` の許可リストが必要です)。
- `commands.bashForegroundMs`(デフォルト `2000`は、bash がバックグラウンドモードに切り替わる前に待機する時間を制御します(`0` は即座にバックグラウンド化)。
- `commands.config`(デフォルト `false`)は `/config` を有効にします(`openclaw.json` の読み書き)。
- `commands.mcp`(デフォルト `false`)は `/mcp` を有効にします(`mcp.servers` 配下の OpenClaw 管理 MCP config の読み書き)。
- `commands.plugins`(デフォルト `false`)は `/plugins` を有効にしますPlugin の検出/状態確認、および install + enable/disable 制御)。
- `commands.debug`(デフォルト `false`)は `/debug` を有効にします(ランタイム限定の上書き)。
- `commands.restart`(デフォルト `true`)は `/restart` と Gateway 再起動ツールアクションを有効にします。
- `commands.ownerAllowFrom`任意は、owner 専用コマンド/ツール surface 用の明示的な許可リストを設定します。これは `commands.allowFrom` とは別です。
- `commands.ownerDisplay` は、システムプロンプト内で owner id をどう表示するかを制御します: `raw` または `hash`
- `commands.ownerDisplaySecret` は、`commands.ownerDisplay="hash"` のときに使う HMAC secret を任意で設定します。
- `commands.allowFrom`(任意)は、コマンド認可のための provider ごとの許可リストを設定します。設定されている場合、これがコマンドとディレクティブの唯一の認可ソースになります(チャネルの許可リスト/ペアリングと `commands.useAccessGroups`
は無視されます)。グローバルデフォルトには `"*"` を使い、provider 固有キーがそれを上書きします。
- `commands.useAccessGroups`(デフォルト `true`)は、`commands.allowFrom` が設定されていない場合に、コマンドに対して許可リスト/ポリシーを適用します。
- `commands.text`(デフォルト: `true`)は、チャットメッセージ内での `/...` の解析を有効にします。
- ネイティブコマンドのない画面ではWhatsApp/WebChat/Signal/iMessage/Google Chat/Microsoft Teams、これを `false` に設定していてもテキストコマンドは引き続き動作します。
- `commands.native`(デフォルト: `"auto"`)は、ネイティブコマンドを登録します。
- Auto: Discord/Telegram ではオン、Slack ではオフです(スラッシュコマンドを追加するまで)。ネイティブサポートのないプロバイダーでは無視されます。
- プロバイダーごとに上書きするには、`channels.discord.commands.native`、`channels.telegram.commands.native`、または `channels.slack.commands.native` を設定しますbool または `"auto"`)。
- `false` は、起動時に Discord/Telegram で以前登録されたコマンドを削除します。Slack コマンドは Slack アプリで管理されるため、自動では削除されません。
- `commands.nativeSkills`(デフォルト: `"auto"`)は、サポートされている場合に**skill**コマンドをネイティブに登録します。
- Auto: Discord/Telegram ではオン、Slack ではオフですSlack では skill ごとにスラッシュコマンドを作成する必要があります)。
- プロバイダーごとに上書きするには、`channels.discord.commands.nativeSkills`、`channels.telegram.commands.nativeSkills`、または `channels.slack.commands.nativeSkills` を設定しますbool または `"auto"`)。
- `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` を有効にしますplugin の検出/ステータス、およびインストール + 有効化/無効化の制御)。
- `commands.debug`(デフォルト: `false`)は `/debug` を有効にします(ランタイム限定の上書き)。
- `commands.restart`(デフォルト: `true`)は `/restart` と Gateway 再起動ツールアクションを有効にします。
- `commands.ownerAllowFrom`任意は、owner 専用コマンド/ツール画面用の明示的な owner 許可リストを設定します。これは `commands.allowFrom` とは別です。
- `commands.ownerDisplay` は、システムプロンプト内で owner id をどのように表示するかを制御します: `raw` または `hash`
- `commands.ownerDisplaySecret` は、`commands.ownerDisplay="hash"` の場合に使用する HMAC シークレットを任意で設定します。
- `commands.allowFrom`(任意)は、コマンド認可用のプロバイダー別許可リストを設定します。設定されている場合、これがコマンドとディレクティブに対する唯一の認可ソースになります(チャンネルの許可リスト/ペアリングと `commands.useAccessGroups` は無視されます)。グローバルデフォルトには `"*"` を使います。プロバイダー固有のキーはそれを上書きします。
- `commands.useAccessGroups`(デフォルト: `true`)は、`commands.allowFrom` が設定されていない場合に、コマンドに対して許可リスト/ポリシーを適用します。
## コマンド一覧
現在の source-of-truth:
現在の信頼できる情報源:
- core の組み込み`src/auto-reply/commands-registry.shared.ts` から
- 生成された dock コマンドは `src/auto-reply/commands-registry.data.ts` から
- Plugin コマンドは Plugin の `registerCommand()` 呼び出しから
- 実際にあなたの Gateway で使えるかどうかは、依然として config フラグ、チャネル surface、インストール/有効化済み Plugin に依存します
- コア組み込みコマンド`src/auto-reply/commands-registry.shared.ts` から取得されます
- 生成された dock コマンドは `src/auto-reply/commands-registry.data.ts` から取得されます
- plugin コマンドは plugin の `registerCommand()` 呼び出しから取得されます
- 実際にあなたの gateway で利用できるかどうかは、引き続き設定フラグ、チャンネル画面、インストール済み/有効化済み plugin に依存します
### core の組み込みコマンド
### コア組み込みコマンド
現在利用できる組み込みコマンド:
- `/new [model]` は新しいセッションを開始します。`/reset` は reset alias です。
- `/compact [instructions]` はセッションコンテキストを Compaction します。[ /concepts/compaction ](/ja-JP/concepts/compaction) を参照してください。
- `/new [model]` は新しいセッションを開始します。`/reset` はリセットのエイリアスです。
- `/reset soft [message]` は現在の transcript を保持し、再利用される CLI バックエンドのセッション id を破棄し、起動/システムプロンプトの読み込みをその場で再実行します。
- `/compact [instructions]` はセッションコンテキストを Compaction します。[/concepts/compaction](/ja-JP/concepts/compaction) を参照してください。
- `/stop` は現在の実行を中止します。
- `/session idle <duration|off>``/session max-age <duration|off>` は、スレッドバインディングの有効期限を管理します。
- `/think <level>` thinking レベルを設定します。選択肢はアクティブモデルの provider profile によって決まり、一般的なレベルは `off`、`minimal`、`low`、`medium`、`high` で、`xhigh`、`adaptive`、`max`、またはバイナリの `on` のようなカスタムレベルはサポートされる場合のみ使えます。alias: `/thinking`, `/t`
- `/verbose on|off|full` verbose 出力を切り替えます。alias: `/v`
- `/trace on|off` は現在のセッションの Plugin trace 出力を切り替えます。
- `/fast [status|on|off]` fast mode の表示または設定を行います。
- `/reasoning [on|off|stream]` は reasoning の可視性を切り替えます。alias: `/reason`
- `/elevated [on|off|ask|full]` は elevated mode を切り替えます。alias: `/elev`
- `/think <level>`思考レベルを設定します。選択肢はアクティブモデルのプロバイダープロファイルから取得されます。一般的なレベルは `off`、`minimal`、`low`、`medium`、`high` で、`xhigh`、`adaptive`、`max`、または二値の `on` のようなカスタムレベルはサポートされている場合にのみ利用できます。エイリアス: `/thinking`, `/t`
- `/verbose on|off|full`詳細出力を切り替えます。エイリアス: `/v`
- `/trace on|off` は現在のセッションの plugin トレース出力を切り替えます。
- `/fast [status|on|off]`高速モードの表示または設定を行います。
- `/reasoning [on|off|stream]` は reasoning の表示を切り替えます。エイリアス: `/reason`
- `/elevated [on|off|ask|full]` は elevated モードを切り替えます。エイリアス: `/elev`
- `/exec host=<auto|sandbox|gateway|node> security=<deny|allowlist|full> ask=<off|on-miss|always> node=<id>` は exec のデフォルトを表示または設定します。
- `/model [name|#|status]` はモデルを表示または設定します。
- `/models [provider] [page] [limit=<n>|size=<n>|all]` provider または provider のモデルを一覧表示します。
- `/queue <mode>` はキュー動作(`steer`, `interrupt`, `followup`, `collect`, `steer-backlog`と、`debounce:2s cap:25 drop:summarize` のようなオプションを管理します。
- `/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` は、利用可能な場合は provider の使用量/クォータを含むランタイム状態を表示します。
- `/status` は、利用可能な場合はプロバイダーの使用量/クォータを含むランタイムステータスを表示します。
- `/tasks` は、現在のセッションのアクティブ/最近のバックグラウンドタスクを一覧表示します。
- `/context [list|detail|json]` は、コンテキストがどのように組み立てられているかを説明します。
- `/export-session [path]` は、現在のセッションを HTML にエクスポートします。alias: `/export`
- `/whoami` はあなたの sender id を表示します。alias: `/id`
- `/skill <name> [input]`名前で skill を実行します。
- `/allowlist [list|add|remove] ...` は、許可リストエントリを管理します。テキスト専用。
- `/approve <id> <decision>` は、exec 承認プロンプトを解決します。
- `/btw <question>` は、今後のセッションコンテキストを変更せずに横道の質問をします。[ /tools/btw ](/ja-JP/tools/btw) を参照してください。
- `/context [list|detail|json]` は、コンテキストがどのように組み立てられるかを説明します。
- `/export-session [path]` は、現在のセッションを HTML にエクスポートします。エイリアス: `/export`
- `/whoami` はあなたの送信者 id を表示します。エイリアス: `/id`
- `/skill <name> [input]` は名前で skill を実行します。
- `/allowlist [list|add|remove] ...` は、許可リストエントリを管理します。テキスト専用です
- `/approve <id> <decision>` は、exec 承認プロンプトを解決します。
- `/btw <question>` は、今後のセッションコンテキストを変更せずに脇道の質問をします。[/tools/btw](/ja-JP/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 topic/conversation をセッションターゲットにバインドします。
- `/focus <target>` は、現在の Discord スレッドまたは Telegram トピック/会話をセッションターゲットにバインドします。
- `/unfocus` は、現在のバインディングを解除します。
- `/agents` は、現在のセッションにスレッドバインドされたエージェントを一覧表示します。
- `/kill <id|#|all>` は、1 つまたはすべての実行中サブエージェントを中止します。
- `/steer <id|#> <message>` は、実行中のサブエージェントに steering を送信します。alias: `/tell`
- `/config show|get|set|unset` `openclaw.json` を読み書きします。owner 専用。`commands.config: true` が必要です。
- `/mcp show|get|set|unset` は、`mcp.servers` 配下の OpenClaw 管理 MCP server config を読み書きします。owner 専用。`commands.mcp: true` が必要です。
- `/plugins list|inspect|show|get|install|enable|disable` は、Plugin の状態を確認または変更します。`/plugin` は alias です。書き込みは owner 専用。`commands.plugins: true` が必要です。
- `/debug show|set|unset|reset` は、ランタイム限定 config 上書きを管理します。owner 専用。`commands.debug: true` が必要です。
- `/usage off|tokens|full|cost` は、応答ごとの usage footer を制御するか、ローカルのコスト概要を表示します。
- `/tts on|off|status|provider|limit|summary|audio|help` TTS を制御します。[ /tools/tts ](/ja-JP/tools/tts) を参照してください。
- `/restart` は、有効な場合に OpenClaw を再起動します。デフォルト: 有効。無効にするには `commands.restart: false` を設定します
- `/activation mention|always` は、グループの activation mode を設定します。
- `/send on|off|inherit` は、送信ポリシーを設定します。owner 専用。
- `/bash <command>` はホストシェルコマンドを実行します。テキスト専用。alias: `! <command>`。`commands.bash: true` と `tools.elevated` の許可リストが必要です。
- `/agents` は、現在のセッションのスレッドにバインドされたエージェントを一覧表示します。
- `/kill <id|#|all>` は、実行中サブエージェントを1つまたはすべて中止します。
- `/steer <id|#> <message>` は、実行中のサブエージェントにステアリングを送信します。エイリアス: `/tell`
- `/config show|get|set|unset`、`openclaw.json` を読み書きします。owner 専用です。`commands.config: true` が必要です。
- `/mcp show|get|set|unset` は、`mcp.servers` 配下の OpenClaw 管理 MCP サーバー設定を読み書きします。owner 専用です。`commands.mcp: true` が必要です。
- `/plugins list|inspect|show|get|install|enable|disable` は、plugin の状態を調査または変更します。`/plugin` はエイリアスです。書き込みは owner 専用です。`commands.plugins: true` が必要です。
- `/debug show|set|unset|reset` は、ランタイム限定の設定上書きを管理します。owner 専用です。`commands.debug: true` が必要です。
- `/usage off|tokens|full|cost` は、レスポンスごとの使用量フッターを制御するか、ローカルのコスト概要を表示します。
- `/tts on|off|status|provider|limit|summary|audio|help`、TTS を制御します。[/tools/tts](/ja-JP/tools/tts) を参照してください。
- `/restart` は、有効な場合に OpenClaw を再起動します。デフォルト: 有効。無効にするには `commands.restart: false` を設定してください
- `/activation mention|always` は、グループアクティベーションモードを設定します。
- `/send on|off|inherit` は、送信ポリシーを設定します。owner 専用です
- `/bash <command>`ホストシェルコマンドを実行します。テキスト専用です。エイリアス: `! <command>`。`commands.bash: true` に加えて `tools.elevated` の許可リストが必要です。
- `!poll [sessionId]` は、バックグラウンド bash ジョブを確認します。
- `!stop [sessionId]` は、バックグラウンド bash ジョブを停止します。
### 生成された dock コマンド
Dock コマンドは、ネイティブコマンドサポートを持つチャネル Plugin から生成されます。現在のバンドルセット:
Dock コマンドは、ネイティブコマンド対応のチャンネル plugin から生成されます。現在バンドルされているセット:
- `/dock-discord`alias: `/dock_discord`
- `/dock-mattermost`alias: `/dock_mattermost`
- `/dock-slack`alias: `/dock_slack`
- `/dock-telegram`alias: `/dock_telegram`
- `/dock-discord`エイリアス: `/dock_discord`
- `/dock-mattermost`エイリアス: `/dock_mattermost`
- `/dock-slack`エイリアス: `/dock_slack`
- `/dock-telegram`エイリアス: `/dock_telegram`
### バンドル Plugin コマンド
### バンドルされた plugin コマンド
バンドル Plugin は、さらに多くのスラッシュコマンドを追加できます。このリポジトリにある現在のバンドルコマンド:
バンドルされた plugin は、さらにスラッシュコマンドを追加できます。このリポジトリで現在バンドルされているコマンド:
- `/dreaming [on|off|status|help]` はメモリ Dreaming を切り替えます。[Dreaming](/ja-JP/concepts/dreaming) を参照してください。
- `/dreaming [on|off|status|help]`メモリ Dreaming を切り替えます。[Dreaming](/ja-JP/concepts/dreaming) を参照してください。
- `/pair [qr|status|pending|approve|cleanup|notify]` は、デバイスのペアリング/セットアップフローを管理します。[Pairing](/ja-JP/channels/pairing) を参照してください。
- `/phone status|arm <camera|screen|writes|all> [duration]|disarm` は、高リスクの phone node コマンドを一時的に有効化します。
- `/voice status|list [limit]|set <voiceId|name>` Talk voice config を管理します。Discord では、ネイティブコマンド名は `/talkvoice` です。
- `/card ...` LINE rich card プリセットを送信します。[LINE](/ja-JP/channels/line) を参照してください。
- `/codex status|models|threads|resume|compact|review|account|mcp|skills` は、バンドルされた Codex app-server harness を確認および制御します。[Codex Harness](/ja-JP/plugins/codex-harness) を参照してください。
- `/phone status|arm <camera|screen|writes|all> [duration]|disarm` は、高リスクの phone Node コマンドを一時的に有効化します。
- `/voice status|list [limit]|set <voiceId|name>`、Talk 音声設定を管理します。Discord では、ネイティブコマンド名は `/talkvoice` です。
- `/card ...`、LINE リッチカードのプリセットを送信します。[LINE](/ja-JP/channels/line) を参照してください。
- `/codex status|models|threads|resume|compact|review|account|mcp|skills` は、バンドルされた Codex app-server harness を調査および制御します。[Codex Harness](/ja-JP/plugins/codex-harness) を参照してください。
- QQBot 専用コマンド:
- `/bot-ping`
- `/bot-version`
@ -171,65 +169,65 @@ Dock コマンドは、ネイティブコマンドサポートを持つチャネ
ユーザーが呼び出せる Skills もスラッシュコマンドとして公開されます。
- `/skill <name> [input]` は、汎用エントリポイントとして常に動作します。
- skill/plugin が登録していれば、Skills は `/prose` のような直接コマンドとして表示されることもあります。
- ネイティブ skill-command の登録は `commands.nativeSkills``channels.<provider>.commands.nativeSkills` によって制御されます。
- `/skill <name> [input]` は、汎用エントリーポイントとして常に機能します。
- skill/plugin が登録している場合、Skills は `/prose` のような直接コマンドとして表示されることもあります。
- ネイティブ skill コマンド登録は、`commands.nativeSkills``channels.<provider>.commands.nativeSkills` によって制御されます。
注意:
- コマンドは、コマンドと引数の間に任意で `:` を入れられます(例: `/think: high`, `/send: on`, `/help:`)。
- `/new <model>`モデル alias、`provider/model`、または provider 名(あいまい一致)を受け付けます。一致しない場合、そのテキストはメッセージ本文として扱われます。
- provider 使用量の完全な内訳を確認するには、`openclaw status --usage` を使用します
- `/allowlist add|remove` には `commands.config=true` が必要で、チャネルの `configWrites` を尊重します。
- マルチアカウントチャネルでは、config 対象の `/allowlist --account <id>``/config set channels.<provider>.accounts.<id>...`、対象アカウントの `configWrites` を尊重します。
- `/usage`応答ごとの usage footer を制御します。`/usage cost` は OpenClaw セッションログからローカルのコスト概要を表示します。
- `/restart` はデフォルトで有効です。無効にするには `commands.restart: false` を設定します
- `/plugins install <spec>``openclaw plugins install` と同じ Plugin spec を受け付けます: ローカルパス/アーカイブ、npm パッケージ、または `clawhub:<pkg>`
- `/plugins enable|disable`Plugin config を更新し、再起動を促す場合があります。
- Discord 専用ネイティブコマンド: `/vc join|leave|status` はボイスチャネルを制御します(`channels.discord.voice` とネイティブコマンドが必要。テキストでは利用不可)。
- Discord のスレッドバインディングコマンド(`/focus`, `/unfocus`, `/agents`, `/session idle`, `/session max-age`は、有効なスレッドバインディングが有効になっている必要があります(`session.threadBindings.enabled` および/または `channels.discord.threadBindings.enabled`)。
- ACP コマンドリファレンスとランタイム動作: [ACP Agents](/ja-JP/tools/acp-agents)。
- `/verbose` はデバッグと追加可視化のためのものです。通常使用では **off** のままにしてください。
- `/trace``/verbose` よりも限定的です。Plugin 所有の trace/debug 行のみを表示し、通常の verbose なツール chatter は無効のままにします。
- `/fast on|off` はセッション上書きを永続化します。Sessions UI の `inherit` オプションを使うと、それをクリアして config のデフォルトに戻せます
- `/fast` provider 固有です。OpenAI/OpenAI Codex ではネイティブ Responses endpoint 上で `service_tier=priority` にマッピングされ、`api.anthropic.com` に送信される OAuth 認証トラフィックを含む直接の公開 Anthropic リクエストでは `service_tier=auto` または `standard_only`マッピングされます。[OpenAI](/ja-JP/providers/openai) と [Anthropic](/ja-JP/providers/anthropic) を参照してください。
- ツール失敗の要約は関連があれば引き続き表示されますが、詳細な失敗テキストが含まれるのは `/verbose``on` または `full` のときだけです。
- `/reasoning`、`/verbose`、`/trace` はグループ設定ではリスクがあります。意図せず内部 reasoning、ツール出力、または Plugin diagnostics を公開してしまう可能性があります。特にグループチャットでは、オフのままにしておくことを推奨します。
- コマンドは、コマンドと引数の間に任意で `:` を入れられます(例: `/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` と同じ plugin spec を受け付けます: ローカルパス/アーカイブ、npm パッケージ、または `clawhub:<pkg>`
- `/plugins enable|disable`plugin 設定を更新し、再起動を求めることがあります。
- Discord 専用ネイティブコマンド: `/vc join|leave|status` はボイスチャネルを制御します(`channels.discord.voice` とネイティブコマンドが必要で、テキストとしては利用できません)。
- Discord のスレッドバインディングコマンド(`/focus`, `/unfocus`, `/agents`, `/session idle`, `/session max-age`)は、有効なスレッドバインディングが有効化されている必要があります(`session.threadBindings.enabled` および/または `channels.discord.threadBindings.enabled`)。
- ACP コマンドリファレンスとランタイム動作: [ACP Agents](/ja-JP/tools/acp-agents)。
- `/verbose` はデバッグと追加の可視化を目的としています。通常の使用では **off** のままにしてください。
- `/trace``/verbose` より範囲が狭く、plugin が所有する trace/debug 行だけを表示し、通常の verbose なツールのおしゃべりはオフのままにします。
- `/fast on|off` はセッション上書きを永続化します。これをクリアして設定デフォルトに戻すには、Sessions UI の `inherit` オプションを使ってください
- `/fast`プロバイダー依存です: OpenAI/OpenAI Codex ではネイティブ Responses エンドポイントで `service_tier=priority` に対応し、`api.anthropic.com` に送られる OAuth 認証トラフィックを含む直接の公開 Anthropic リクエストでは `service_tier=auto` または `standard_only`対応します。[OpenAI](/ja-JP/providers/openai) と [Anthropic](/ja-JP/providers/anthropic) を参照してください。
- ツール失敗の概要は関連がある場合に引き続き表示されますが、詳細な失敗テキストが含まれるのは `/verbose``on` または `full` のときだけです。
- `/reasoning`、`/verbose`、`/trace` はグループ設定では危険です: 意図せず内部の reasoning、ツール出力、または plugin 診断を公開してしまう可能性があります。特にグループチャットでは、これらをオフのままにしておくことを推奨します。
- `/model` は新しいセッションモデルを即座に永続化します。
- エージェントがアイドル状態なら、次の実行ですぐに使われます。
- すでに実行がアクティブな場合、OpenClaw はライブ切り替えを pending としてマークし、クリーンな再試行ポイントでのみ新しいモデルに切り替えて再開します。
- ツール動作または応答出力がすでに始まっている場合、その pending 切り替えは、後の再試行機会または次のユーザーターンまでキューに残ることがあります。
- **Fast path:** 許可リスト入り送信者からのコマンドのみメッセージは即座に処理されます(キュー + モデルをバイパス)。
- **グループ mention ゲーティング:** 許可リスト入り送信者からのコマンドのみメッセージは mention 要件をバイパスします。
- **インラインショートカット(許可リスト入り送信者のみ):** 特定のコマンドは通常メッセージに埋め込まれていても動作し、残りのテキストがモデルに見える前に取り除かれます。
- 例: `hey /status` status 応答をトリガーし、残りのテキストは通常のフローを継続します。
- 現在: `/help`, `/commands`, `/status`, `/whoami` (`/id`)。
- 認可されていないコマンドのみメッセージは黙って無視され、インラインの `/...` トークンは平文テキストとして扱われます。
- **skill コマンド:** `user-invocable` の Skills はスラッシュコマンドとして公開されます。名前は `a-z0-9_` にサニタイズされ(最大 32 文字)、衝突時には数字の接尾辞が付きます(例: `_2`)。
- `/skill <name> [input]` は名前で skill を実行します(ネイティブコマンドの制限により skill ごとのコマンドが使えないときに便利です)。
- すでに実行がアクティブな場合、OpenClaw はライブ切り替えを保留としてマークし、クリーンな再試行ポイントでのみ新しいモデルに再起動します。
- ツール活動または返信出力がすでに始まっている場合、その保留切り替えは後の再試行機会または次のユーザーターンまでキューに残ることがあります。
- **高速パス:** 許可リスト登録済み送信者からのコマンドのみのメッセージは即座に処理されます(キューとモデルをバイパスします)。
- **グループメンションゲーティング:** 許可リスト登録済み送信者からのコマンドのみのメッセージは、メンション要件をバイパスします。
- **インラインショートカット(許可リスト登録済み送信者のみ):** 一部のコマンドは通常メッセージに埋め込まれていても動作し、残りのテキストをモデルが見る前に取り除かれます。
- 例: `hey /status`ステータス返信をトリガーし、残りのテキストは通常フローで処理され続けます。
- 現在の対象: `/help`, `/commands`, `/status`, `/whoami` (`/id`)。
- 認可されていないコマンドのみメッセージは黙って無視され、インラインの `/...` トークンは通常のテキストとして扱われます。
- **skill コマンド:** `user-invocable` な Skills はスラッシュコマンドとして公開されます。名前は `a-z0-9_` に正規化され(最大 32 文字)、衝突した場合は数値サフィックスが付きます(例: `_2`)。
- `/skill <name> [input]` は名前で skill を実行します(ネイティブコマンドの制限により skill ごとのコマンドを作れない場合に便利です)。
- デフォルトでは、skill コマンドは通常のリクエストとしてモデルに転送されます。
- Skills は任意で `command-dispatch: tool` を宣言し、コマンドを直接ツールにルーティングできます(決定的で、モデルなし)。
- 例: `/prose`OpenProse Plugin— [OpenProse](/ja-JP/prose) を参照してください。
- **ネイティブコマンド引数:** Discord は動的オプションに autocomplete を使います(必須引数を省略した場合はボタンメニューも使います。Telegram と Slack は、コマンドが選択肢をサポートしていて引数を省略するとボタンメニューが表示されます。
- Skills は任意で `command-dispatch: tool` を宣言して、コマンドをツールへ直接ルーティングできます(決定的で、モデルは使いません)。
- 例: `/prose`OpenProse plugin— [OpenProse](/ja-JP/prose) を参照してください。
- **ネイティブコマンド引数:** Discord は動的オプションに autocomplete を使います(必須引数を省略したときはボタンメニューも使います。Telegram と Slack は、コマンドが選択肢をサポートしていて引数を省略した場合、ボタンメニューを表示します。
## `/tools`
`/tools` は設定上の質問ではなく、ランタイム上の質問に答えます: **この会話でこのエージェントが今使えるものは何か**。
`/tools` が答えるのは設定上の問いではなく、ランタイム上の問いです: **この会話でこのエージェントが今すぐ使えるもの**。
- デフォルトの `/tools`コンパクトで、素早く確認できるよう最適化されています。
- デフォルトの `/tools`簡潔で、すばやく見渡せるよう最適化されています。
- `/tools verbose` は短い説明を追加します。
- 引数をサポートするネイティブコマンド surface では、`compact|verbose` として同じモード切り替えが公開されます。
- 結果はセッション単位です。そのため、エージェント、チャネル、スレッド、送信者認可、またはモデルを変えると、出力が変わることがあります。
- `/tools` には、core ツール、接続された Plugin ツール、チャネル所有ツールを含め、ランタイムで実際に到達可能なツールが含まれます。
- 引数をサポートするネイティブコマンド画面では、同じモード切り替え `compact|verbose` が公開されます。
- 結果はセッションスコープなので、エージェント、チャンネル、スレッド、送信者認可、またはモデルを変えると出力も変わることがあります。
- `/tools` には、コアツール、接続された plugin ツール、チャンネル所有ツールを含め、ランタイムで実際に到達可能なツールが含まれます。
profile や override の編集には、`/tools` を静的カタログとして扱うのではなく、Control UI の Tools パネルまたは config/catalog surface を使用してください。
プロファイルや上書きの編集には、`/tools` を静的カタログとして扱うのではなく、Control UI の Tools パネルまたは設定/カタログ画面を使ってください。
## 使用量 surface(どこに何が表示されるか)
## 使用量の表示箇所(どこに何が表示されるか)
- **provider 使用量/クォータ**(例: 「Claude 80% left」は、使用量追跡が有効な場合、現在のモデル provider に対して `/status` に表示されます。OpenClaw は provider ウィンドウを `% left` に正規化します。MiniMax では残量のみの percent フィールドは表示前に反転され、`model_remains` 応答ではチャットモデルのエントリが優先され、モデルタグ付きの plan ラベルが付きます。
- `/status` 内の **トークン/キャッシュ行** は、ライブセッションスナップショットが乏しい場合、最新の transcript usage エントリにフォールバックできます。既存のゼロ以外のライブ値は引き続き優先され、保存済み合計が欠けているか小さい場合には、transcript フォールバックによってアクティブなランタイムモデルラベルと、より大きなプロンプト指向の合計も復元できます。
- **応答ごとのトークン/コスト** は `/usage off|tokens|full` で制御されます(通常の応答に追記されます)。
- `/model status`使用量ではなく、**モデル/認証/endpoint** に関するものです
- **プロバイダー使用量/クォータ**(例: 「Claude 80% left」は、使用量トラッキングが有効なとき、現在のモデルプロバイダーについて `/status` に表示されます。OpenClaw はプロバイダーのウィンドウを `% left` に正規化します。MiniMax では残量のみの percent フィールドは表示前に反転され、`model_remains` レスポンスではチャットモデルのエントリーが優先され、モデルタグ付きプランラベルが使われます。
- `/status` 内の **トークン/キャッシュ行** は、ライブセッションスナップショットの情報が少ない場合、最新の transcript 使用量エントリーにフォールバックできます。既存のゼロ以外のライブ値が引き続き優先され、transcript フォールバックは保存済み合計が欠けているか小さすぎる場合に、アクティブなランタイムモデルラベルや、より大きなプロンプト指向の合計値も復元できます。
- **レスポンスごとのトークン/コスト** は `/usage off|tokens|full` で制御されます(通常の返信に追記されます)。
- `/model status` **モデル/認証/エンドポイント** に関するものであり、使用量に関するものではありません
## モデル選択(`/model`
@ -248,14 +246,14 @@ profile や override の編集には、`/tools` を静的カタログとして
注意:
- `/model``/model list` は、コンパクトな番号付き pickerモデルファミリー + 利用可能な provider)を表示します。
- Discord では、`/model` と `/models` provider とモデルのドロップダウン、および Submit ステップを持つインタラクティブ picker を開きます。
- `/model <#>` はその picker から選択します(可能なら現在の provider を優先します)
- `/model status` は詳細ビューを表示し、利用可能であれば設定済み provider endpoint`baseUrl`)と API mode`api`)も含みます。
- `/model``/model list` は、コンパクトな番号付きピッカー(モデルファミリー + 利用可能なプロバイダー)を表示します。
- Discord では、`/model` と `/models`プロバイダーとモデルのドロップダウン、および Submit ステップを備えたインタラクティブピッカーを開きます。
- `/model <#>` はそのピッカーから選択し、可能であれば現在のプロバイダーを優先します
- `/model status` は詳細ビューを表示し、利用可能な場合は設定済みプロバイダーエンドポイント(`baseUrl`)と API モード(`api`)も含まれます。
## デバッグ上書き
`/debug` では、**ランタイムのみ**の config 上書きディスクではなくメモリを設定できます。owner 専用。デフォルトでは無効で、`commands.debug: true` で有効にします。
`/debug` を使うと、**ランタイム限定**の設定上書きメモリ上、ディスクではないを設定できます。owner 専用です。デフォルトでは無効で、`commands.debug: true` で有効にします。
例:
@ -269,12 +267,12 @@ profile や override の編集には、`/tools` を静的カタログとして
注意:
- 上書きは新しい config 読み取りに即座に適用されますが、`openclaw.json` には書き込みません。
- `/debug reset` を使うとすべての上書きをクリアし、ディスク上の config に戻れます
- 上書きは新しい設定読み取りにすぐ適用されますが、`openclaw.json` には書き込みません。
- すべての上書きを消去してディスク上の設定に戻るには `/debug reset` を使ってください
## Plugin trace 出力
## plugin トレース出力
`/trace` を使うと、完全な verbose mode を有効にせずに、**セッション単位の Plugin trace/debug 行** を切り替えられます。
`/trace` を使うと、完全な verbose モードを有効にせずに**セッションスコープの plugin trace/debug 行**を切り替えられます。
例:
@ -286,16 +284,16 @@ profile や override の編集には、`/tools` を静的カタログとして
注意:
- 引数なしの `/trace`現在のセッション trace 状態を表示します。
- `/trace on`現在のセッションの Plugin trace 行を有効にします。
- `/trace off` は再び無効にします。
- Plugin trace 行は `/status` 内や、通常のアシスタント応答の後続の診断メッセージとして表示されることがあります。
- `/trace``/debug` の代わりではありません。`/debug` は引き続きランタイムのみの config 上書きを管理します。
- `/trace``/verbose` の代わりでもありません。通常の verbose なツール/status 出力は引き続き `/verbose` に属します。
- 引数なしの `/trace`、現在のセッショントレース状態を表示します。
- `/trace on`、現在のセッションの plugin トレース行を有効にします。
- `/trace off`、それらを再び無効にします。
- plugin トレース行は `/status` に表示されたり、通常のアシスタント返信の後に続く診断メッセージとして表示されたりすることがあります。
- `/trace``/debug` の代わりにはなりません。`/debug` は引き続きランタイム限定の設定上書きを管理します。
- `/trace``/verbose` の代わりにもなりません。通常の verbose なツール/ステータス出力は引き続き `/verbose` の役割です。
## Config の更新
## 設定更新
`/config` はディスク上の config`openclaw.json`に書き込みます。owner 専用。デフォルトでは無効で、`commands.config: true` で有効にします。
`/config` はディスク上の設定`openclaw.json`に書き込みます。owner 専用です。デフォルトでは無効で、`commands.config: true` で有効にします。
例:
@ -309,12 +307,12 @@ profile や override の編集には、`/tools` を静的カタログとして
注意:
- config は書き込み前に検証され、無効な変更は拒否されます。
- 設定は書き込み前に検証されます。無効な変更は拒否されます。
- `/config` の更新は再起動後も保持されます。
## MCP 更新
## MCP 更新
`/mcp`、`mcp.servers` 配下の OpenClaw 管理 MCP server 定義を書き込みます。owner 専用。デフォルトでは無効で、`commands.mcp: true` で有効にします。
`/mcp` `mcp.servers` 配下の OpenClaw 管理 MCP サーバー定義を書き込みます。owner 専用です。デフォルトでは無効で、`commands.mcp: true` で有効にします。
例:
@ -327,12 +325,12 @@ profile や override の編集には、`/tools` を静的カタログとして
注意:
- `/mcp` config を OpenClaw config に保存し、Pi 所有の project settings には保存しません。
- 実際にどの転送が実行可能かは、ランタイムアダプターが決定します。
- `/mcp`設定を OpenClaw 設定に保存し、Pi 所有のプロジェクト設定には保存しません。
- どの transport が実際に実行可能かは、ランタイムアダプターが決定します。
## Plugin の更新
## plugin 更新
`/plugins` では、オペレーターが検出された Plugin を確認し、config 内で有効化を切り替えられます。読み取り専用フローでは `/plugin` を alias として使えます。デフォルトでは無効で、`commands.plugins: true` で有効にします。
`/plugins` を使うと、運用者は検出された plugin を調べ、設定内の有効化状態を切り替えられます。読み取り専用フローでは `/plugin` をエイリアスとして使えます。デフォルトでは無効で、`commands.plugins: true` で有効にします。
例:
@ -346,34 +344,34 @@ profile や override の編集には、`/tools` を静的カタログとして
注意:
- `/plugins list``/plugins show` は、現在のワークスペースとディスク上 config に対して実際の Plugin 検出を行います。
- `/plugins enable|disable`Plugin config のみを更新し、Plugin を install または uninstall しません。
- enable/disable の変更後は、適用するために Gateway を再起動してください。
- `/plugins list``/plugins show` は、現在のワークスペースとディスク上の設定に対して実際の plugin 検出を行います。
- `/plugins enable|disable`plugin 設定のみを更新し、plugin のインストールやアンインストールは行いません。
- 有効化/無効化の変更後は、適用するために gateway を再起動してください。
## surface に関する注意
## 画面ごとの注意
- **テキストコマンド** は通常のチャットセッションで実行されますDM は `main` を共有し、グループは独自セッションを持ちます)。
- **テキストコマンド** は通常のチャットセッションで実行されますDM は `main` を共有し、グループは独自セッションを持ちます)。
- **ネイティブコマンド** は分離されたセッションを使います:
- Discord: `agent:<agentId>:discord:slash:<userId>`
- Slack: `agent:<agentId>:slack:slash:<userId>`(プレフィックスは `channels.slack.slashCommand.sessionPrefix` で設定可能)
- Telegram: `telegram:slash:<userId>``CommandTargetSessionKey` を介してチャットセッションを対象にします)
- Telegram: `telegram:slash:<userId>``CommandTargetSessionKey` 経由でチャットセッションを対象にします)
- **`/stop`** はアクティブなチャットセッションを対象にするため、現在の実行を中止できます。
- **Slack:** `channels.slack.slashCommand`単一の `/openclaw` 形式コマンド用として引き続きサポートされています。`commands.native` を有効にする場合、組み込みコマンドごとに 1 つの Slack slash command を作成する必要があります(名前は `/help` と同じ。Slack のコマンド引数メニューは、一時的な Block Kit ボタンとして配信されます。
- Slack のネイティブ例外: Slack は `/status` を予約しているため、`/status` ではなく `/agentstatus` を登録してください。テキストの `/status` は Slack メッセージで引き続き動作します。
- **Slack:** `channels.slack.slashCommand` は単一の `/openclaw` 形式コマンド用として引き続きサポートされています。`commands.native` を有効にする場合は、組み込みコマンドごとに1つの Slack スラッシュコマンドを作成する必要があります(名前は `/help` と同じです。Slack のコマンド引数メニューは、一時的な Block Kit ボタンとして配信されます。
- Slack のネイティブ例外: Slack は `/status` を予約しているため、`/status` ではなく `/agentstatus` を登録してください。テキストの `/status` は Slack メッセージで引き続き動作します。
## BTW 横道質問
## BTW 脇道の質問
`/btw`、現在のセッションに対する素早い**横道質問**です。
`/btw`現在のセッションについての手軽な**脇道の質問**です。
通常のチャットとは異なり、これは:
通常のチャットとは異なり、次の特徴があります。
- 現在のセッションを背景コンテキストとして使い、
- 別個の**ツールなし**ワンショット呼び出しとして実行され
- 今後のセッションコンテキストを変更せず、
- transcript 履歴に書き込まれず、
- 通常のアシスタントメッセージではなく、ライブの横道結果として配信されます。
- 現在のセッションを背景コンテキストとして使
- 別個の**ツールなし**ワンショット呼び出しとして実行され
- 今後のセッションコンテキストを変更しない
- transcript 履歴に書き込まれない
- 通常のアシスタントメッセージではなく、ライブのサイド結果として配信される
そのため、`/btw` はメインタスクを進めたまま一時的な確認をしたいときに便利です。
そのため、メインタスクを進めたまま一時的な確認をしたいときに `/btw`便利です。
例:
@ -381,4 +379,4 @@ profile や override の編集には、`/tools` を静的カタログとして
/btw what are we doing right now?
```
完全な動作とクライアント UX の詳細については、[BTW 横道質問](/ja-JP/tools/btw) を参照してください。
完全な動作とクライアント UX の詳細については、[BTW Side Questions](/ja-JP/tools/btw) を参照してください。