メインコンテンツへスキップ

ツールとプラグイン

エージェントがテキスト生成以外で行うすべてのことは、ツールを通じて行われます。 ツールは、エージェントがファイルを読み、コマンドを実行し、Web を閲覧し、メッセージを送り、 デバイスとやり取りするための手段です。

ツール、Skills、プラグイン

OpenClaw には、連携して動作する 3 つの層があります。
1

ツールはエージェントが呼び出すもの

ツールは、エージェントが呼び出せる型付き関数です(例: execbrowserweb_searchmessage)。OpenClaw には組み込みツールの一式が含まれており、 プラグインは追加のツールを登録できます。エージェントには、ツールはモデル API に送られる構造化関数定義として見えます。
2

Skills はいつどのように使うかを教える

Skill は、システムプロンプトに注入される markdown ファイル(SKILL.md)です。 Skills は、ツールを効果的に使うためのコンテキスト、制約、手順ごとのガイダンスを エージェントに与えます。Skills はあなたのワークスペース、共有フォルダー、 またはプラグイン内に存在します。Skills reference | Creating skills
3

プラグインはすべてをひとつにまとめる

プラグインは、任意の組み合わせの機能を登録できるパッケージです: チャネル、モデルプロバイダー、ツール、Skills、speech、realtime transcription、 realtime voice、media understanding、image generation、video generation、 web fetch、web search などです。一部のプラグインはコア( OpenClaw に同梱)で、他は外部(コミュニティが npm で公開)です。Install and configure plugins | Build your own

組み込みツール

これらのツールは OpenClaw に同梱されており、プラグインをインストールしなくても利用できます。
Tool何をするかページ
exec / processシェルコマンドを実行し、バックグラウンドプロセスを管理するExec
code_executionサンドボックス化されたリモート Python 分析を実行するCode Execution
browserChromium ブラウザーを制御する(移動、クリック、スクリーンショット)Browser
web_search / x_search / web_fetchWeb を検索し、X の投稿を検索し、ページ内容を取得するWeb
read / write / editワークスペース内のファイル I/O
apply_patch複数ハンクのファイルパッチApply Patch
messageすべてのチャネルにメッセージを送信するAgent Send
canvasノード Canvas を操作する(present、eval、snapshot)
nodesペアリング済みデバイスを検出し、対象にする
cron / gatewayスケジュール済みジョブを管理し、gateway を調査、修正、再起動、更新する
image / image_generate画像を解析または生成する
tts単発の text-to-speech 変換TTS
sessions_* / subagents / agents_listセッション管理、状態確認、サブエージェントのオーケストレーションSub-agents
session_status軽量な /status 形式の読み出しとセッション単位のモデル上書きSession Tools
画像作業では、解析には image、生成または編集には image_generate を使ってください。openai/*google/*fal/*、またはその他の非デフォルト画像プロバイダーを対象にする場合は、まずそのプロバイダーの auth/API キーを設定してください。 session_status は sessions グループ内の軽量な status/readback ツールです。 現在のセッションについて /status 形式の質問に答え、 必要に応じてセッション単位のモデル上書きを設定できます。model=default はその 上書きをクリアします。/status と同様に、最新の文字起こし使用量エントリーから、 疎なトークン/キャッシュカウンターやアクティブなランタイムモデルラベルを補完できます。 gateway は gateway 操作用の owner-only ランタイムツールです。
  • 編集前に 1 つのパス範囲の config サブツリーを確認する config.schema.lookup
  • 現在の config スナップショット + ハッシュを取得する config.get
  • 再起動付きで部分的な config 更新を行う config.patch
  • 完全な config 置換にのみ使う config.apply
  • 明示的な自己更新 + 再起動を行う update.run
部分変更では、config.schema.lookup の後に config.patch を使うのが望ましいです。 config.apply は、設定全体を意図的に置き換える場合にのみ使ってください。 このツールは tools.exec.asktools.exec.security の変更も拒否します。 レガシーな tools.bash.* エイリアスは、同じ保護された exec パスに正規化されます。

プラグイン提供ツール

プラグインは追加のツールを登録できます。例をいくつか挙げます。
  • Lobster — 再開可能な承認を備えた型付きワークフローランタイム
  • LLM Task — 構造化出力用の JSON 専用 LLM ステップ
  • Diffs — diff ビューアーおよびレンダラー
  • OpenProse — markdown-first のワークフローオーケストレーション

ツール設定

許可リストと拒否リスト

config の tools.allow / tools.deny を使って、エージェントが呼び出せるツールを制御します。 拒否は常に許可に優先します。
{
  tools: {
    allow: ["group:fs", "browser", "web_search"],
    deny: ["exec"],
  },
}

ツールプロファイル

tools.profile は、allow/deny が適用される前のベース許可リストを設定します。 エージェント単位の上書き: agents.list[].tools.profile
Profile含まれるもの
full制限なし(未設定と同じ)
codinggroup:fs, group:runtime, group:web, group:sessions, group:memory, cron, image, image_generate
messaginggroup:messaging, sessions_list, sessions_history, sessions_send, session_status
minimalsession_status のみ

ツールグループ

許可/拒否リストでは group:* の短縮記法を使います。
Groupツール
group:runtimeexec, process, code_execution(bashexec のエイリアスとして受け付けられます)
group:fsread, write, edit, apply_patch
group:sessionssessions_list, sessions_history, sessions_send, sessions_spawn, sessions_yield, subagents, session_status
group:memorymemory_search, memory_get
group:webweb_search, x_search, web_fetch
group:uibrowser, canvas
group:automationcron, gateway
group:messagingmessage
group:nodesnodes
group:agentsagents_list
group:mediaimage, image_generate, tts
group:openclawすべての組み込み OpenClaw ツール(プラグインツールは除く)
sessions_history は、境界付きで安全性フィルター済みのリコールビューを返します。これには thinking タグ、<relevant-memories> の足場、 プレーンテキストのツール呼び出し XML ペイロード(<tool_call>...</tool_call><function_call>...</function_call><tool_calls>...</tool_calls><function_calls>...</function_calls>、および切り詰められたツール呼び出しブロックを含む)、 格下げされたツール呼び出しの足場、漏れた ASCII/全角のモデル制御 トークン、不正な MiniMax ツール呼び出し XML を assistant テキストから取り除き、その後、 生の文字起こしダンプとして振る舞う代わりに、redaction/truncation と必要に応じた oversized-row プレースホルダーを適用します。

プロバイダー固有の制限

グローバルデフォルトを変えずに、特定のプロバイダー向けにツールを制限するには tools.byProvider を使います。
{
  tools: {
    profile: "coding",
    byProvider: {
      "google-antigravity": { profile: "minimal" },
    },
  },
}